0000 AntiMicro - slacknk/slackretro GitHub Wiki

[Gamepad] Antimicro

Кнопка джойстика == Клавише на клавиатуре. Если есть необходимость назначить конкретные кнопки на джойстике - клавишами на клавиатуре , а именно сделать: R2 и L2 - F5 и F7, соответственно что бы были и системно, что бы эмулятор думал что Вы - F* нажимаете , а на деле кнопку на джойстике/геймпаде, есть специальные программы. Для Windows есть такая программа Xpadder, но она платная и для Win. И на фоне joy2key, QJoypad выделилась такая программа: AntiMicro.

Данная программа поможет Вам назначить как отдельные кнопки, так и даже сделать, что бы кнопка на джойстике делала сочетание клавиш (Shift+F5 и т.д.). В настройках есть упоминание про стики, то что их на джойстике можно за действия мыши обозначить. Режимы джойстиков Xinput и Dinput она умеет. И что самое полезное, за счет по ходу udev, видеть-обнаруживать только что подключенный джойстик.

AntiMicro is a graphical program that can be used to map keyboard keys and mouse controls to a gamepad. This functionality is useful for playing games with no built-in or poor gamepad support.

Доп.информаци, но по gamepad'ам:

Установка

Ubuntu / LinuxMint

  • в mint-17.1_64 прекрасно все поставилось и увиделось, установка простая с подключением репозитория автора:
$ sudo add-apt-repository ppa:ryochan7/antimicro
$ sudo apt-get update
$ sudo apt-get install antimicro

Arch_AUR

  • в aur билд для сборки программы есть antimicro

Slackware_SBo (14.1, 14.2)

# sbopkg -Bki "SDL2 antimicro"

Другие сборки

помимо всего прочего автор на git выкладывает и другие пакеты для отдельных диструбутивов

Disable Read Access: _slack14.1

Disable Read Access (udev/rules.d): как уже было отмечено на mint-17.1 все увиделось и подключилось, есть мысль, что это за счет того что Ubuntu и у них где-то прописано правило для джойстика xbox360 или же ставили цель такую для desktop'ного дистрибутива, что желательно, наверняка. Для Slackware-14.1 придется повозиться, для Arch м.б. тоже придется, решение есть в виде правила, в принципе на ВиКи все сказано:

$ cat /etc/udev/rules.d/99-custom.rules

# Set joystick devices to be owned by games group 
KERNEL=="js*", SUBSYSTEM=="input", MODE="660", GROUP="games" 

# Set force-feedback devices to be owned by games group 
KERNEL=="event*", SUBSYSTEM=="input", MODE="660", GROUP="games" 

и как таковое правило в git'е есть и наверняка неспроста: 40-uinput.rules

  • Данное правило ./other/40-uinput.rules , даст возможность увидеть данной программой джойстик, еще было замечено заметил, уже правда для другой программы: эмулятор higan не хотел находить джойстик, если сделаем сделал как ВиКи описано

Создадим файл-правило /etc/udev/rules.d/99-custom.rules с содержимым:

#SUBSYSTEM=="misc", KERNEL=="uinput", MODE="0660", GROUP="users"

# Set joystick devices to be owned by games group 
#KERNEL=="js*", SUBSYSTEM=="input", MODE="660", GROUP="users" 

# Set force-feedback devices to be owned by games group 
KERNEL=="event*", SUBSYSTEM=="input", MODE="660", GROUP="users"
  • здесь группа users в которую входят пользователи в Slackware,
  • группу games создавать надобности не вызвало и джойстик/геймпад увиделся там-и-там, даже сервис udev не пришлось перезапускать и уж тем более систему, настройки-правила udev подхватятся тут же.

Для Slackware-14.2 не пришлось никаких манипуляций с .rules проделывать, просто установите программу и джойстик увидется (xbox360 точно)

Build: Qt4

Если в системе установлено qt4 и 5, и не получается собрать при qt5, то перед cmake можно конкретно указать с каким qt собирать программу:

  • QT_SELECT=4 cmake примерный полный вариант:
mkdir -p build
cd build
QT_SELECT=4 cmake \
  -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DMAN_INSTALL_DIR=/usr/man \
  -DLIB_DIR=lib${LIBDIRSUFFIX} \
  -DLIB_SUFFIX=${LIBDIRSUFFIX} \
  -DCMAKE_BUILD_TYPE=Release \
  -DUSE_SDL_2=ON -DWITH_UINPUT=ON -DWITH_XTEST=ON \
  .. || exit 1

SDL_2.0.5

Если у Вас обновилось SDL2 до 2.0.5 и antimicro перестал видеть реакцию на нажатие кнопок на gamepad, то вот

RetroPad

Hotkeys для RetroArch - прикрутим в соответствии с клавишами на клавиатуре, джойстик для RetroArch

The RetroPad Abstraction - The RetroPad is a joypad abstraction interface defined by the Libretro API

libRETRO -> Getting Started with RetroArch -> Navigating the GUI или вот еще:

Должно получиться как-то так, если касаться xbox360-gamepad:

  • Retropad_360pad:

  • Отметить хотелось, что это личное предпочтение такое проделывать для RetroArch: Клавиатура + AntiMicro + Геймпад. В самом же в RA все нормально подхватывается: Настройка emulationstation для windows