このテーマについては多くの質問があります:
しかし、これらの質問/回答の目的は、ゲームパッドを使用してゲームをプレイできるようにすることです。
ゲームパッドを使用してマウスを制御するソリューションが必要です。
すべてのアプリケーションでマウスをゲームパッドに置き換えるため。
そのようにして、リビングのコンピューターをソファからワイヤレスゲームパッドで制御できました。
Grumbelの答えに従って、私はxboxdrvのソリューションを試しました彼の リンク および特別に このページ :
必要に応じて、uinputおよびjoydevもインストールします。このようにしてSudo modprobe uinput
+ Sudo modprobe joydev
udevadm monitor --udev
を起動して、ゲームパッドを接続します。
$ udevadm monitor --udev
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UDEV [6722.377700] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1 (usb)
UDEV [6722.383264] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0 (usb)
UDEV [6722.383333] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/0003:046D:C218.0003 (hid)
UDEV [6722.383389] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/0003:046D:C218.0003/hidraw/hidraw1 (hidraw)
UDEV [6722.387123] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10 (input)
UDEV [6722.399284] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10/event8 (input)
UDEV [6722.412128] add /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10/js0 (input)
ゲームパッドのイベントは/ dev/input/event8
アイデアは、xboxdrv
を起動し、すべてのボタンをテストし、結果を紙に書き留めることです。
$ Sudo xboxdrv --evdev /dev/input/event8 --evdev-debug
Your Xbox/Xbox360 controller should now be available as:
/dev/input/js1
/dev/input/event9
Press Ctrl-c to quit, use '--silent' to suppress the event output
EV_ABS ABS_X 128
EV_ABS ABS_Y 128
...
私の場合、結果は次のとおりです。
xboxdrv-mouse.iniファイルを作成して、X Y軸と左右のマウスボタンを設定します。
ここでゲームパッドのボタンを設定します 2 マウスの左ボタンと 3 マウスの右ボタンの場合:
[xboxdrv]
evdev=/dev/input/event8
silent=true
[evdev-absmap]
ABS_X=x1
ABS_Y=y1
[ui-axismap]
x1=REL_X:10
y1=REL_Y:-10
[evdev-keymap]
BTN_THUMB=a
BTN_THUMB2=b
[ui-buttonmap]
a=BTN_LEFT
b=BTN_RIGHT
# EOF #
REl_XとREL_Yの値はマウスの速度を定義するようであり、負の値を定義すると軸が反転することに注意してください(REL_Yについてはこちらを参照)
他のボタン定義の例
[xboxdrv]
evdev=/dev/input/event8
silent=true
[evdev-absmap]
ABS_X=x1
ABS_Y=y1
ABS_HAT0X=x2
ABS_HAT0Y=y2
[ui-axismap]
x1=REL_X:10
y1=REL_Y:-10
x2=KEY_LEFT:KEY_RIGHT
y2=KEY_DOWN:KEY_UP
[evdev-keymap]
BTN_TRIGGER=x
BTN_TOP=y
BTN_THUMB=a
BTN_THUMB2=b
BTN_PINKIE=rt
BTN_BASE2=rb
BTN_TOP2=lt
BTN_BASE=lb
BTN_BASE3=back
BTN_BASE4=start
[ui-buttonmap]
x=KEY_KPENTER
y=KEY_SPACE
a=BTN_LEFT
b=BTN_RIGHT
rt=KEY_KP8
rb=KEY_KP2
lt=KEY_KP6
lb=KEY_KP4
back=KEY_LEFTSHIFT
start=KEY_RIGHTCTRL
# EOF #
Sudo xboxdrv --config xboxdrv-mouse.ini
Sudo
で起動しないようにするには、 devルールを作成します 。
それはうまく機能し、私にとって最高のソリューションです。
xboxdrv は、あなたが望むことをできるはずです。ただし、Xbox以外のゲームパッドで動作するには少し設定が必要です(詳細についてはマンページを確認し、ボタンと軸の名前を見つけるには--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 #
Ubuntuではテストされていませんが、その簡単なレシピはDebian Jessieで動作します(私のiBuffalo classic usb gamepad):
$ Sudo apt install xserver-xorg-input-joystick
[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上のほとんどのゲームは、ゲームパッドをあまりサポートしていません。有名なN64 Game 007-GoldenEyeの高度なゲームパッドモードのようにそれを試みました。
この方法では、ゲームパッドを使用してマウスを置き換えることもできます。
私の選択
これが他のプレイヤーに役立つことを願っています。
Todo誰かがそれを行う方法を知っているなら、スティックが完全に動かなくても、マウスカーソルが動かない「センターエリア」のようなものをセットアップする方法を知りたい中間。これにより、ゲームパッドを使用していないのにカーソルが有効になっている場合に、カーソルが少し移動することを回避できます。
私はxboxdrvを試しましたが、それは一種の働きをしましたが、それは私にとって決して完璧ではなく、設定ファイルを手動で設定しなければなりませんでした。より良い解決策はAntiMicroプロジェクトのようです: https://github.com/Ryochan7/antimicro 設定は本当にシンプルです(GUIはかなり基本的ですが)、数回クリックするだけでできましたに:
このプロジェクトはかなり新しいものだと思いますが、私にとってはこれまでのところほぼ完璧に機能しているようです。小さな問題は、Ubuntuグローバルメニュースキームにうまく適合しない左上隅のプロファイルを切り替えることができる「トレイ」アイコンを作成することです。