Легкая кроссплатформенная библиотека ввода

Я пытаюсь написать игру с поддержкой джойстиков, а также мыши/клавиатуры. Я пытался найти информацию об этом, но она либо устарела, либо недостаточно переносима.

Кто-нибудь знает какие-нибудь хорошие легкие библиотеки, которые могут абстрагироваться от чтения с джойстика? Я хочу использовать контроллер 360, но мне нужна поддержка большего.

В первую очередь я собираюсь писать для Windows, но я действительно не хочу использовать DirectInput/XInput на случай, если когда-нибудь захочу портировать свой код.


person Andrei Krotkov    schedule 01.05.2009    source источник
comment
Голосование за закрытие в качестве инструмента рек. Для C++: stackoverflow.com/questions/2617359 /   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 11.02.2016


Ответы (5)


Вы когда-нибудь пробовали использовать OIS (Объектно-ориентированная система ввода)? Эффективная и легкая библиотека. Я очень доволен этим.

Я никогда не пробовал с контроллером 360, но он должен работать нормально.

person Khalid Salomão    schedule 12.05.2009
comment
Лицензия zlib/libpng. Вы можете использовать эту библиотеку как угодно. - person Khalid Salomão; 14.05.2009
comment
они до сих пор не поддерживают сборку GCC для Windows u.u. Я все еще не могу скомпилировать его здесь без Visual Studio. Основная проблема заключается в том, что у них есть свой фреймворк/движок Window, и они игнорируют запросы функций, такие как GCC-сборка для Windows, интегрирующая OOIS с другими оконными системами и т. д. Похоже, что теперь доступен только исходный релиз (без предварительно скомпилированных двоичных файлов) - person CoffeDeveloper; 26.07.2014

Возможно, это старый вопрос, и на него уже дан ответ, но..

Кто-то на tigsource сделал легкую кроссплатформенную библиотеку для геймпада, которая может оказаться вам полезной.

Вы можете просмотреть сообщение на нем здесь.

person Cory    schedule 22.04.2010

Как насчет SDL?

Может быть, это не то, что вы имеете в виду под легким (у него есть графическая и звуковая подсистемы), но он очень портативный.

person fortran    schedule 22.04.2010
comment
Одна вещь, которая беспокоит меня в системе ввода SDL, заключается в том, что переназначение ваших клавиш может нарушить ключевые события. Затем SDL сообщает, что раскладка клавиатуры неизвестна, и ни один из ваших обработчиков не вызывается... - person Matthias; 17.04.2014

Я знаю, что эта ветка очень старая, и к настоящему времени вы, возможно, получили то, что вам нужно, но я отвечаю на это на тот случай, если кто-то наткнется на нее и ему также понадобится помощь.

Я наткнулся на эту библиотеку усиления, и кажется, что это имеет большой смысл. Можете попробовать, если поможет.

Gainput — это легкая библиотека C++, которая позволяет вам использовать один и тот же интерфейс для джойстиков, компьютеров Mac, ПК, Linux и мобильных телефонов, и ее очень легко интегрировать в ваш проект.

Ссылку на Gainput можно найти здесь (http://gainput.johanneskuhlmann.de/)

person Damilola Fagoyinbo    schedule 13.09.2015
comment
Ответы только по ссылкам не приветствуются. Пожалуйста, процитируйте основные части ответа из справочных ссылок, так как ответ может стать недействительным, если связанные страницы изменятся. - person Stuart Siegler; 13.09.2015

Вы смотрели на игровой фреймворк XNA? Существует также

Allero http://www.talula.demon.co.uk/allegro/

GarageGames http://www.garagegames.com/

Попробуйте это

person Oakcool    schedule 01.05.2009
comment
XNA основан на .NET - это определенно НЕ легковесно и не кросс-платформенно. Garage-games, кажется, полная библиотека, не совсем то, что я ищу. Аллегро, с другой стороны, выглядит очень интересно. Я проверю это. - person Andrei Krotkov; 01.05.2009
comment
Забавно, что у меня на самом деле есть ответ, хотя не все его части подходят, и я получаю минусы. Я считаю, что лучше иметь больше, чем меньше, и вы выбираете то, что вам нужно. - person Oakcool; 11.07.2012
comment
Плохой ответ часто хуже, чем ничего. - person Alice; 11.03.2014
comment
За исключением того, что он не беден, он на самом деле слишком богат. - person Oakcool; 11.03.2014
comment
На самом деле, это очень плохо, потому что это не fit the question. - person Alice; 08.11.2014
comment
Что ж, давайте просто согласимся не согласиться.... Андрей сказал, что будет рассматривать один из вариантов, а значит, он мог ответить на вопрос, а значит, подходит. - person Oakcool; 10.11.2014