我有一个使用蓝牙连接的 8Bitdo nes 控制器。它在蓝牙菜单中显示为操纵杆。使用 jstest-gtk,我可以在按下按钮时看到按钮,但方向键映射到键盘。方向键允许我移动到不同的按钮,我可以在 Web 浏览器上滚动页面。我需要知道如何正确映射方向键。有什么想法吗?
答案1
8Bitdo 游戏手柄是蓝牙 HID 游戏手柄,在 Linux 上有一些基本支持,但通常需要重新映射才能正常工作。有一个名为 xboxdrv 的用户空间驱动程序可以进行这种重新映射。基本上,它会转换游戏手柄输入,使它们看起来像一个 XInput 设备,这使其能够与需要 Xbox 控制器的应用程序一起使用。
我自己还没有尝试过,但您可能需要按照此处的说明添加 xboxdrv 映射:
http://hegzedesimal.blogspot.com/2017/10/8bitdo-nes-30-pro-on-linux.html
映射本身是:
#8Bitdo NES30 Pro Config
[xboxdrv]
evdev-debug = true
evdev = /dev/btjoy
evdev-grab = true
rumble = false
mimic-xpad = true
silent = true
[evdev-absmap]
ABS_HAT0X = dpad_x
ABS_HAT0Y = dpad_y
ABS_X = X1
ABS_Y = Y1
ABS_Z = X2
ABS_RZ = Y2
[axismap]
-Y1 = Y1
-Y2 = Y2
[evdev-keymap]
# Map start and select
BTN_START=Start
BTN_SELECT=Back
# Map power to guide
BTN_C=Guide
# Map buttons to the printed key
BTN_SOUTH=A
BTN_EAST=B
BTN_NORTH=X
BTN_WEST=Y
# L1 R1 as Triggers
BTN_TL=LT
BTN_TR=RT
# L2 R2 as buttons
BTN_TL2=LB
BTN_TR2=RB
# Thumbs as thumbs
BTN_THUMBL=TL
BTN_THUMBR=TR