В данной статье мы подробно рассмотрим как реализовать управление любыми приложениями, запущенными под GNU/Linux, при помощи геймпада.
Введение
Большинство обычных приложений не поддерживают управление геймпадом, поэтому нам потребуется программа, которая будет назначать действия на события геймпада. Таких программ несколько, но мы рассмотрим QJoyPad (форк, портированный на Qt5) как самую простую из них.
Полностью поддерживаются как проводные, так и беспроводные геймпады, совместимые со стандартом XInput. Для тестов мы использовали проводной геймпад Logitech F310, а также беспроводной Xbox 360.
Установка QJoyPad
Утилита QJoyPad уже доступна в репозиториях Russian Fedora и может быть установлена штатно если они подключены:
sudo dnf install qjoypad
Пользователи дистрибутива Fedora со стандартным набором репозиториев могут установить данный пакет из нашего COPR:
sudo dnf copr enable xvitaly/qjoypad sudo dnf install qjoypad
Ручная сборка пакета QJoyPad
Пользователи других RPM-based дистрибутивов должны самостоятельно собрать RPM пакет из исходников по заготовленному SPEC-файлу (для сборки потребуется Qt5 SDK):
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} wget https://github.com/xvitaly/qjoypad/raw/master/qjoypad.spec -O ~/rpmbuild/SPECS/qjoypad.spec spectool --all --get-files ~/rpmbuild/SPECS/qjoypad.spec --directory ~/rpmbuild/SOURCES/ sudo dnf builddep ~/rpmbuild/SPECS/qjoypad.spec rpmbuild -ba ~/rpmbuild/SPECS/qjoypad.spec
Результат можно найти в каталоге ~/rpmbuild/RPMS/`uname -m`/, а затем установить штатным для используемого дистрибутива способом.
Настройка QJoyPad
Сразу после запуска программа разместит свой значок в системном трее (или его заменителе). При нажатии на него появится графический конфигуратор.
Программа поддерживает импорт и экспорт настроек, а также создание неограниченного числа профилей. Профили можно переключать на лету либо в главном окне, либо из контекстного меню значка в системном трее. Ненужные можно удалять соответствующей кнопкой.
Чтобы начать назначение действий, просто нажмите на соответствующую кнопку геймпада или триггер и программа подсветит её в главном окне синим. Теперь достаточно её нажать и задать привязку к клавиатуре или мыши. Допускается указать чувствительность, а для мыши — скорость перемещения указателя.
Как только все настройки будут произведены, жмём кнопку Save, чтобы они сохранились в файл конфигурации и были немедленно применены.
Если что-то сделано неправильно, можно нажать Revert для отката к предыдущей версии настроек, либо Clear для их полного сброса.
Пример файла конфигурации
Пример нашего файла конфигурации для Logitech F310 (режим XInput):
# QJoyPad 4.2 Layout File Joystick 1 { Axis 1: gradient, +key 114, -key 113 Axis 2: gradient, +key 116, -key 111 Axis 4: gradient, maxSpeed 5, mouse+h Axis 5: gradient, maxSpeed 5, mouse+v Axis 8: gradient, +key 111, -key 116 Button 1: key 36 Button 2: key 9 Button 3: mouse 1 Button 4: mouse 3 Button 5: mouse 1 Button 6: mouse 3 }
Данный файл можно импортировать при помощи пункта Import в главном окне.
А как заставить джойстик с помощью этой программы управлять место мышки?
Эта программа уже устарела и не поддерживается. Вместо неё рекомендуется использовать AntiMicro.
Добавьте свой геймпад в программу, затем назначьте на аналоговые стики действие «мышь». Сохраните изменения.