Приставки > Джойстики и прочие манипуляторы
Переназначение кнопок в DInput-режиме
(1/1)
benladen88:
Как мы прекрасно знаем, если бы китайцы делали клавиатуры так же, как делают геймпады, каждая буквенная клавиша на разных клавиатурах была бы большим сюрпризом.
И привести этот хаос в норму раньше замечательно удавалось с помощью x360ce - настроил, переназначил кнопки и забыл. Но некоторые игрули, такие как DOA 5, XInput не воспринимают, и x360ce, соответственно, не видят, поэтому все удары, естественно, перепутаны. Я, конечно, мог бы переназначить в меню самой игры, но во-первых, это автоматически убьёт настройку для другого пада, который изначально хорош, а во-вторых, не решит проблему для меню и прочих так называемых "системных команд вне геймплея" (где А - подтверждение, В - отмена и т.д.).

Итак, внимание, вопрос: есть ли аналог x360ce, работающий в рамках DInput, но хранящий конфиг отдельного устройства, включающийся автоматически вместе с игрой?
Ogr:

--- Цитата: benladen88 от 21 Декабрь 2018, 23:32:30 ---Как мы прекрасно знаем, если бы китайцы делали клавиатуры так же, как делают геймпады, каждая буквенная клавиша на разных клавиатурах была бы большим сюрпризом.
--- Конец цитаты ---
это не из за китайцев, это из за отсутствия стандарта у директ инпута.

Добавлено позже:
совпадать расположения кнопок могут только у директ инпут падов рассчитанных на работу с пс2,3.
Sharpnull:
Что интересно, для 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.
Там нет привязки к игре, но можно переключать профили через командную строку.
Ogr:
проще конфиг игры перед запуском подменять. ;)
benladen88:

--- Цитата: Sharpnull от 22 Декабрь 2018, 04:38:04 ---Что интересно, для DOA5 есть фикс, чтобы играть на устройстве с XInput.

--- Конец цитаты ---
DInput -> XInput -> DInput не сработал.



--- Цитата: Ogr от 22 Декабрь 2018, 07:55:21 ---проще конфиг игры перед запуском подменять. ;)

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

--- Цитата: benladen88 от 22 Декабрь 2018, 10:05:21 ---оно всё равно будет говорить "Нажмите Х"
--- Конец цитаты ---
какие еще Х? в директ инпуте кнопки цифрами обозначаются.
benladen88:

--- Цитата: Ogr от 22 Декабрь 2018, 12:55:41 ---какие еще Х? в директ инпуте кнопки цифрами обозначаются.

--- Конец цитаты ---
Кароч, представим Xbox-джойстик. DOA все кнопки показывает по Xbox-стандартам: нажмите A для подтверждения, например. У ящика A находится снизу (где крест у PS), но мой ноунейм-геймпад распознаётся Dead Or Alive'ом так: ABXY = 1234, а эти самые 1234 расположены против часовой стрелки, начиная сверху. То есть вместо ABXY у меня XBYA получается. И при этом "Нажмите А" рука сама тянется вниз, но DOA упорно считает, что A - сверху. А переназначить можно именно УДАРЫ, при этом A останется подтверждением, B - отменой, X - дополнительным меню. Судя по интернету, владельцам других геймпадов повезло ещё меньше: у них Старт находится где-то на правом шифте, и меню настроек игры не предполагает это переназначение. Там только "выберите кнопку для панча, для кика, для броска и для блока".
Ogr:

--- Цитата: benladen88 от 22 Декабрь 2018, 14:59:03 ---DOA все кнопки показывает по Xbox-стандартам: нажмите A для подтверждения, например. У ящика A находится снизу (где крест у PS), но мой ноунейм-геймпад распознаётся Dead Or Alive'ом так: ABXY = 1234
--- Конец цитаты ---
надо полагать, что игра всё-таки поддерживает X input, просто твой пад она не воспринимает как поддерживающий его и работает через Direct input. таком случае нужно не:

--- Цитата: benladen88 от 22 Декабрь 2018, 10:05:21 ---DInput -> XInput -> DInput не сработал.
--- Конец цитаты ---
А DInput -> XInput. И по опыту десятилетней давности с 360се, нужно было перебрать 5 - 7 версий оного пока не найдёшь ту, которая с конкретной игрой будет нормально работать, или хотя бы хоть как-то работать.
benladen88:

--- Цитата: Ogr от 22 Декабрь 2018, 15:29:36 ---надо полагать, что игра всё-таки поддерживает X input

--- Конец цитаты ---
Это было бы так, если бы не жалобы в стиме на полное нераспознавание XInput-геймпадов и XInput -> DInput как способ решения.
Skay:
benladen88, ОМГ. чего мозги тут всем делать раз стим. включи там их враппер и перенастрой для конкретной игры так как тебе надо.
benladen88:
Skay, спасибевичи. Достаточно было просто включить его принудительное использование, даже переназначать не пришлось. Вот не могли сразу сделать по-человечески…
Skay:
benladen88, просто ненадо брать кусок мамонта в виде dinput.
А так через данный стимовый враппер можно настроить управление от любых игр на джой, хватило бы фантазии.
Навигация
Главная страница сообщений

Перейти к полной версии