Как геймпад контролирует мышь?

Есть много вопросов по этому вопросу:

Перемещение мыши и клавиатуры на геймпад. Как настроить джойстик или геймпад? Как управлять указателем мыши через клавиатуру? ...

Но цель этих вопросов / ответов - использовать геймпад для игры. Я бы хотел, чтобы использовать геймпад для управления мышью. Чтобы заменить мышь геймпадом во всех приложениях. Таким образом, я мог контролировать свой компьютер в гостиной с дивана с помощью беспроводного геймпада.

1
задан 13 April 2017 в 15:23

4 ответа

xboxdrv должен иметь возможность делать то, что вы хотите. Это требует, однако, немного конфигурации для работы с геймпадами, отличными от Xbox, что-то в соответствии с (проверьте man-страницу для деталей, используйте -evdev-debug, чтобы узнать имена кнопок и оси):

#!/bin/sh

xboxdrv \
  --evdev /dev/input/event9 \
  --evdev-absmap ABS_X=X1,ABS_Y=y1 \
  --evdev-absmap ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
  --evdev-keymap BTN_BASE=LB,BTN_BASE2=RB \
  --evdev-keymap BTN_BASE3=guide,BTN_TOP2=start,BTN_PINKIE=back \
  --evdev-keymap BTN_THUMB=x,BTN_TOP=a,BTN_THUMB2=b,BTN_TRIGGER=y \
  \
 --ui-clear \
  --ui-buttonmap rb=BTN_LEFT,lb=BTN_RIGHT,start=KEY_ESC,back=KEY_F1 \
  --ui-buttonmap a=KEY_SPACE \
  --ui-axismap X1=REL_X:20,Y1=REL_Y:20 \
  --ui-axismap DPAD_X=KEY_A:KEY_D:1,DPAD_Y=KEY_W:KEY_S:1 \
  -s "$@"

# EOF #
3
ответ дан 25 May 2018 в 13:20
  • 1
    сложно, я получаю только «недопустимый аргумент». – Boris 8 May 2012 в 00:33
  • 2
    Немного больше информации было бы полезно, как выглядела ваша конфигурация, каков был точный вывод xboxdrv, какая версия вы использовали и т. Д. Также приведенное выше просто пример, вы должны настроить его для своего контроллера, чтобы иметь его Работа. – Grumbel 9 May 2012 в 03:20
  • 3
    спасибо, Грамбель! пытаясь не быть ленивым, я прочитал документ, и я, наконец, установил свой xboxdrv config, я подробно рассказал, как в моем ответе – Boris 13 May 2012 в 16:31

Непрошеный на ubuntu, но этот простой рецепт работает на Debian Jessie (с моим iBuffalo classic usb gamepad):

Установите правильный модуль xorg:

$ sudo apt install xserver-xorg-input-joystick [!d4 ] Установите правый модуль xorg:

3
ответ дан 25 May 2018 в 13:20

То же самое для геймпада Nintendo 64

[xboxdrv]
evdev=/dev/input/event9
silent=true

[evdev-absmap]
ABS_X=x1
ABS_Y=y1
ABS_RZ=x2
ABS_Z=y2
ABS_HAT0X=dpad_x
ABS_HAT0Y=dpad_y

[axismap]
-X2=X2

[ui-axismap]
x1=REL_X:30
y1=REL_Y:30
x2=KEY_Q:KEY_D
y2=KEY_DOWN:KEY_UP
dpad_x=KEY_LEFT:KEY_RIGHT
dpad_y=KEY_DOWN:KEY_UP

[evdev-keymap]
BTN_THUMB2=b
BTN_THUMB=a
BTN_BASE3=back
BTN_BASE4=start
BTN_BASE=lb
BTN_BASE2=rb

[ui-buttonmap]
start=KEY_KPENTER
rb=BTN_RIGHT
lb=void
a=REL_WHEEL:-1:150
b=REL_WHEEL:1:150
back=BTN_LEFT

Некоторые подробности

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

Таким образом, вы также можете использовать геймпад для замены мыши.

Мой выбор [ ! d4] эмулировать мышь на основной палочке. Желтые кнопки C (x2 y2) устанавливаются на клавиши UP, DOWN и клавиши на азерной кешере для бокового перемещения (Q и D; изменить букву для вашей клавиатуры макет) вверх по левому краю присваивается крестик левой кнопкой мыши на Z (назад), чтобы стрелять, и щелкните правой кнопкой мыши по R (rb). Вы можете изменить кнопку R на KEY_SPACE, чтобы прыгать, в зависимости от игры, в которую вы играете. A и B находятся на колесе мыши, поэтому вы можете легко изменить свое оружие. кнопка L (lb) остается неустановленной

Надеюсь, это поможет другим игрокам.

Мои выборы Если кто-то знает, как это сделать, я бы заинтересованы знать, как настроить своего рода «центральную область», где курсор мыши не перемещается, даже если палка не совсем посередине. Это позволит избежать перемещения курсора, когда вы не используете геймпад, но он все еще включен.

2
ответ дан 25 May 2018 в 13:20

Я пробовал xboxdrv, и это сработало, но для меня это не было идеально, и мне пришлось вручную настроить конфигурационный файл. Лучшим решением является проект AntiMicro: https://github.com/Ryochan7/antimicro конфигурация очень проста (хотя GUI довольно простой), с несколькими щелчками я смог:

настроить мой пэд (F710 Wireless) в качестве мыши - просто нужно назначить правильные кнопки / палки для нужной функции в одном наборе; получить центральную кнопку «Логотип Logitech» для переключения между операцией мыши и пэда - у меня просто есть второй набор, где ни один из ключей не назначен, а центральный ключ переключается между этими двумя режимами, поэтому я могу запустить игру, используя «режим мыши» и затем переключитесь на «режим пэда» для воспроизведения; AntiMicro, похоже, тоже автоматически применяет «мертвую зону» - когда я использовал xboxdrv, мне приходилось делать это вручную в файле конфигурации, потому что курсор медленно перемещался все время в одном направлении, здесь все хорошо.

Я думаю, что проект совершенно новый, но для меня он работает почти идеально. Небольшая проблема заключается в том, что он создает значок «tray», который позволяет переключать профили в верхнем левом углу, что не очень хорошо вписывается в схему глобального меню Ubuntu.

1
ответ дан 25 May 2018 в 13:20
  • 1
    Спасибо за это. AntiMicro довольно приятный. Я смог получить свой старый Sixaxis (т. Е. Dualshock 3 минус гул), отправляющий события клавиатуры и мыши. Настройка довольно проста, и из того, что я видел, разработчик очень чутко реагирует на сообщения об ошибках. – Laurence Gonsalves 12 June 2015 в 21:45

Другие вопросы по тегам:

Похожие вопросы: