Автор Тема: Переназначение кнопок в DInput-режиме  (Прочитано 3562 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн benladen88

  • Пользователь
  • Сообщений: 739
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« : 21 Декабрь 2018, 23:32:30 »
Как мы прекрасно знаем, если бы китайцы делали клавиатуры так же, как делают геймпады, каждая буквенная клавиша на разных клавиатурах была бы большим сюрпризом.
И привести этот хаос в норму раньше замечательно удавалось с помощью x360ce - настроил, переназначил кнопки и забыл. Но некоторые игрули, такие как DOA 5, XInput не воспринимают, и x360ce, соответственно, не видят, поэтому все удары, естественно, перепутаны. Я, конечно, мог бы переназначить в меню самой игры, но во-первых, это автоматически убьёт настройку для другого пада, который изначально хорош, а во-вторых, не решит проблему для меню и прочих так называемых "системных команд вне геймплея" (где А - подтверждение, В - отмена и т.д.).

Итак, внимание, вопрос: есть ли аналог x360ce, работающий в рамках DInput, но хранящий конфиг отдельного устройства, включающийся автоматически вместе с игрой?
« Последнее редактирование: 22 Декабрь 2018, 09:32:36 от benladen88 »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7430
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #1 : 22 Декабрь 2018, 00:02:40 »
Как мы прекрасно знаем, если бы китайцы делали клавиатуры так же, как делают геймпады, каждая буквенная клавиша на разных клавиатурах была бы большим сюрпризом.
это не из за китайцев, это из за отсутствия стандарта у директ инпута.

Добавлено позже:
совпадать расположения кнопок могут только у директ инпут падов рассчитанных на работу с пс2,3.

Онлайн Sharpnull

  • Пользователь
  • Сообщений: 5069
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #2 : 22 Декабрь 2018, 04:38:04 »
Что интересно, для DOA5 есть фикс, чтобы играть на устройстве с XInput.

Есть такой проект https://github.com/Snoothy/UCR, он по идеи должен ремаппить почти всё, если есть плагин. Чтобы здесь отобразить DInput -> DInput, нужно:
1. Поставить vJoy, а он именно что виртуальный джойстик, а не геймпад.
2. Настроить vJoy, так как там только 8 кнопок по умолчанию.
3. В UCR создать профили I/O девайсов: Devices -> Manage, там создать группы для геймпада и для vJoy как выходного.
4. Создать профиль.
5. В профиле добавить маппинги.
6. Активировать профиль. Чтобы редактировать профиль его нужно деактировать.
Тут есть особенность: геймпад всё равно остаётся, поэтому если не перераспределённая кнопка будет нажата в начале игры, то игра может считать это устройство первым, а виртуальный джойстик игнорировать. Хотя кнопки вроде одновременно обе нажимаются, это может быть проблемой. Проверить можно здесь например http://html5gamepad.com/, но у моего геймпада HTML5 не понимает DPAD.
Там нет привязки к игре, но можно переключать профили через командную строку.
« Последнее редактирование: 22 Декабрь 2018, 04:54:53 от Sharpnull »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7430
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #3 : 22 Декабрь 2018, 07:55:21 »
проще конфиг игры перед запуском подменять. ;)

Оффлайн benladen88

  • Пользователь
  • Сообщений: 739
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #4 : 22 Декабрь 2018, 10:05:21 »
Что интересно, для DOA5 есть фикс, чтобы играть на устройстве с XInput.
DInput -> XInput -> DInput не сработал.


проще конфиг игры перед запуском подменять. ;)
конфиг игры не подразумевает переназначение кнопки Старт, например. И даже если я поменяю кнопки ударов "под оригинал", оно всё равно будет говорить "Нажмите Х", а Х оно по-прежнему будет воспринимать там, где обычно находится А.

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7430
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #5 : 22 Декабрь 2018, 12:55:41 »
оно всё равно будет говорить "Нажмите Х"
какие еще Х? в директ инпуте кнопки цифрами обозначаются.

Оффлайн benladen88

  • Пользователь
  • Сообщений: 739
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #6 : 22 Декабрь 2018, 14:59:03 »
какие еще Х? в директ инпуте кнопки цифрами обозначаются.
Кароч, представим Xbox-джойстик. DOA все кнопки показывает по Xbox-стандартам: нажмите A для подтверждения, например. У ящика A находится снизу (где крест у PS), но мой ноунейм-геймпад распознаётся Dead Or Alive'ом так: ABXY = 1234, а эти самые 1234 расположены против часовой стрелки, начиная сверху. То есть вместо ABXY у меня XBYA получается. И при этом "Нажмите А" рука сама тянется вниз, но DOA упорно считает, что A - сверху. А переназначить можно именно УДАРЫ, при этом A останется подтверждением, B - отменой, X - дополнительным меню. Судя по интернету, владельцам других геймпадов повезло ещё меньше: у них Старт находится где-то на правом шифте, и меню настроек игры не предполагает это переназначение. Там только "выберите кнопку для панча, для кика, для броска и для блока".

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7430
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #7 : 22 Декабрь 2018, 15:29:36 »
DOA все кнопки показывает по Xbox-стандартам: нажмите A для подтверждения, например. У ящика A находится снизу (где крест у PS), но мой ноунейм-геймпад распознаётся Dead Or Alive'ом так: ABXY = 1234
надо полагать, что игра всё-таки поддерживает X input, просто твой пад она не воспринимает как поддерживающий его и работает через Direct input. таком случае нужно не:
DInput -> XInput -> DInput не сработал.
А DInput -> XInput. И по опыту десятилетней давности с 360се, нужно было перебрать 5 - 7 версий оного пока не найдёшь ту, которая с конкретной игрой будет нормально работать, или хотя бы хоть как-то работать.

Оффлайн benladen88

  • Пользователь
  • Сообщений: 739
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #8 : 22 Декабрь 2018, 16:08:15 »
надо полагать, что игра всё-таки поддерживает X input
Это было бы так, если бы не жалобы в стиме на полное нераспознавание XInput-геймпадов и XInput -> DInput как способ решения.

Оффлайн Skay

  • Пользователь
  • Сообщений: 4118
  • Пол: Мужской
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #9 : 23 Декабрь 2018, 13:14:52 »
benladen88, ОМГ. чего мозги тут всем делать раз стим. включи там их враппер и перенастрой для конкретной игры так как тебе надо.

Оффлайн benladen88

  • Пользователь
  • Сообщений: 739
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #10 : 26 Декабрь 2018, 01:50:37 »
Skay, спасибевичи. Достаточно было просто включить его принудительное использование, даже переназначать не пришлось. Вот не могли сразу сделать по-человечески…

Оффлайн Skay

  • Пользователь
  • Сообщений: 4118
  • Пол: Мужской
    • Просмотр профиля
Переназначение кнопок в DInput-режиме
« Ответ #11 : 26 Декабрь 2018, 20:17:36 »
benladen88, просто ненадо брать кусок мамонта в виде dinput.
А так через данный стимовый враппер можно настроить управление от любых игр на джой, хватило бы фантазии.