LINUX.ORG.RU

Кроссплатформенная работа с геймпадами

 , ,


0

1

Какие есть способы кроссплатформенной (win, lin, желательно и android) работы с геймпадами? Из того, что знаю, только SDL и его обёртки для других языков (например, pygame для python). Но есть недостатки.

Также видел в последней версии Qt соответствующий компонент, но мне так и воспользоваться не удалось, пример не собрался. Собственно, там данный модуль и помечен как Preview.

Слово «кроссплатформенной» портит всё дело. Всегда есть возможность низкоуровневого обращения к оборудованию. В т.ч. напрямую через ядро ОС. Но, это не кроссплатформенно, в каждой ОС по-своему.

saahriktu ★★★★★
()

А может без джойстика? Ну ё моё, это неудобно же. Сам купил тут было дело, играю с ним только в X3AP. Даже рубилово вроде скайрима оказалось непригодным. И целиться неудобно. А автоприцел это уже не интересно.)

Deleted
()
Ответ на: комментарий от saahriktu

И чо, вот какая-нибудь либа низкоуровнево обращается как надо, а пользователь либы получает одинаковое поведение везде.

Кроссплатформенность это есть хорошо.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от dk-

В мире свободного ПО не является зашкваром написание программного обеспечения, которым могут пользоваться другие пользователи, использующие несвободные ОС.

te111011010
() автор топика
Ответ на: комментарий от Deleted

Это узкоспециализированная задача, вряд ли тебе будет полезен данный код. И суть в том, что будет несколько джойстиков, которые будут в руках у нескольких людей.

te111011010
() автор топика
Ответ на: комментарий от te111011010

Я ничего не обязан писать. Это Ваши задачи, и Вам искать как их решать. Я лишь прокомментировал тот момент, что вот если бы Вам было нужно решение исключительно под одну ОС, то всё решалось бы очень просто без всяких библиотек. Библиотеки нужны для решения сложных задач, таких как кроссплатформенность. А библиотеки в дефиците.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)

Как насчёт SDL2. У него нет большинства недостатков, присущих первому.

anonymous
()

Какие есть способы кроссплатформенной (win, lin, желательно и android) работы с геймпадами?

Взять cocos2-dx, там это есть.

Solace ★★
()

SDL2 разумеется. Возможно стоит глянуть OIS

anonymous
()
Ответ на: комментарий от te111011010

Суть в том, что я хотел гуй писать на qt или подобных тулкитах. SDL, судя по всему, это не позволит.

С чего вдруг не позволит

Harald ★★★★★
()
Ответ на: комментарий от dk-

Ненужность винды это не отменяет. Вдруг какой-нибудь виндузятник подсядет на гениальную софтинку от топикстартера, а потом незаметно и безболезненно перейдёт на её запуск на другой, свободной ОС

Harald ★★★★★
()
Последнее исправление: Harald (всего исправлений: 1)
Ответ на: комментарий от Harald

Я рассматривал этот вопрос относительно pygame (обёртка над sdl). Писали, что не позволит. Как я понял, суть в том, что и pygame, и qt работают в бесконечном цикле главного потока.

te111011010
() автор топика
Ответ на: комментарий от te111011010

Не знаю, как в этих ваших питонах, у меня на С++ прекрасно Qt и SDL уживаются. В крайнем случае можно два процесса запускать, один для гуя, другой для геймпада и пусть общаются между собой

Harald ★★★★★
()
Ответ на: комментарий от saahriktu

Как пропагандировать красноглазие так в первых рядах, а красноглаить код сразу «в домик».

anonymous
()
Ответ на: комментарий от anonymous

Если бы под Linux. Под Linux всё элементарно, в документации ядра даже пример есть. А с виндами я распрощался ещё в 2004-м году.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от xDShot

Я выше упоминал. У меня получится прикрутить морду на Qt или gtk? Без разбиения на два процесса.

te111011010
() автор топика
Ответ на: комментарий от RiseOfDeath

Хм... а что за железки такие есть с андроидом, куда можно геймпад воткнуть?

Любые, где есть usb-otg. Это тебе не гейфон.

te111011010
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.