sashikknox

sashikknox 

C/C++ programmer, love Aurora OS

76subscribers

99posts

goals2
$717.87 of $3 670 raised
Поддержать портирование игрового движка Godot 4 для ОС Аврора с экспортом проекта в RPM файл, совместимый с RuStore.
$202.3 of $6 117 raised
just donate if you want =) Портирование игр и игровых движков: Prey 2006, Doom 3, GZDoom, Xash3D, RE3, VCMI, Super Tux Kart, Love2D games, Godot 4...

История одного геймпада

Тут от коллег по опасному бизнесу пришла жалоба, контроллер купленный спецом для игры в Quake 2 не работает на ОС Аврора!
Встречайте, Gamesir-X2 Type C
В общем пришел мне этот контроллер в руки, начал изучать тему.
В первую очередь глянул в /dev/input, убедился что контроллер то вполне работает и события шлет. (он у меня попал в /dev/input/event7)
Для подключения контроллеров я использую gamescontrollerdb.txt, там лежит список идентификаторов контроллеров и биндинги их раскладок, для того что бы потом в SDL2 они легко распознавались и SDL2 правильно понимал раскладу кнопок.
В репозитории по ссылке выше, в описании, есть инструкция как сделать нужную запись в gamecontrollersdb.txt, что бы распознать нужный геймпад. Я подключил геймпад к ноутбуку и запустил одну из предлагаемых утилит, протыкал кнопки что бы получить нужные биндинги и получил новую строчку, которую можно вставлять в базу контроллеров.
03004b3fac050000063b000011010000,GameSir-X2 Type-C,<далее длинная строка с маппингом кнопок>
Выглядело это примерно так (т.к. у меня не было нужного провода)
Но не все так просто было, на девайсе контроллер все равно не распознался. Тогда я собрал вот эту утилиту из состава SDL2. запустил ее на девайсе, и увидел, что контроллер на девайсе распознается, но с другим идентификатором 03000000ac050000063b000011010000, в связи с чем контроллер не распозновался на девайсе. В общем в искомой строке я подменил идентификатор и пересобрал проект. Все заработало!
Тут в верхнем правом углу видно что Quake 2 распознал подключенный на лету контроллер.
P.S. Конечно же, в результате всего этого я буду делать  Pull Request в репозиторий SDL_GameControllerDB с биндингами для геймпада.
Ну и конечно же новый релиз Quake 2, как раз с поддержкой данного геймпада.
Subscription levels4

Donate Extra Light

$1.22 per month
All subscriptions do not open nothing special for subscribers, it just easy way to donate monthly.
RU:
Все подписчики не получают никакого особенного контента, или каких то
закрытых постов. Это просто удобный способ сделать ежемесячные
пожертвования.

Donate Light

$1.84 per month
All subscriptions do not open nothing special for subscribers, it just easy way to donate monthly.
RU: Все подписчики не получают никакого особенного контента, или каких то закрытых постов. Это просто удобный способ сделать ежемесячные пожертвования.

Donate Medium

$3.7 per month
All subscriptions do not open nothing special for subscribers, it just easy way to donate monthly.
RU:
Все подписчики не получают никакого особенного контента, или каких то
закрытых постов. Это просто удобный способ сделать ежемесячные
пожертвования.

Donate Like a Man!

$7.4 per month
All subscriptions do not open nothing special for subscribers, it just easy way to donate monthly.
RU:
Все подписчики не получают никакого особенного контента, или каких то
закрытых постов. Это просто удобный способ сделать ежемесячные
пожертвования.
Go up