使用 Xorg 映射两个操纵杆

使用 Xorg 映射两个操纵杆

xorg.conf.d/我已经通过在我的目录中写入一个文件(该文件名为51-joystick.conf)来设法将操纵杆的输入映射到键盘输入。

现在我想映射第二个操纵杆(同一型号)的输入以将它们一起使用。所以我写了第二个文件xorg.conf.d/;内容大致相同,仅设备路径和映射不同。

不幸的是,它不能这样工作:

  • 如果我调用第二个操纵杆的文件51-joystick2.conf,操纵杆将不再工作

  • 如果我调用第二个操纵杆的文件52-joystick2.conf,则只有第二个操纵杆有效

有人可以解释一下如何继续吗?

编辑:51-joystick.conf的内容是

Section "InputClass"
    Identifier "Joystick 1 mapping"
    Option "device" "/dev/input/js0"
    Option "path" "/dev/input/js0"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
EndSection

编辑(11/03/15):-我的两个操纵杆都显示有命令xinput;每个都有两个条目(两个不同的 ID)并被标记为键盘的从属。这四个条目具有完全相同的名称(“Logitech Gamepad F310(按键)”) - 如果我为第一个操纵杆的配置文件提供更高的编号(“52-joystick1.conf”和“51-joystick2.conf”) ,只有第一个操纵杆的输入映射到键盘输入

  • 现在是当我插入第一个操纵杆时写入 xorg 日志的内容

  • 现在是当我插入第二个操纵杆时写入 xorg 日志的内容

我注意到,在这两种情况下,InputClasses“Joystick 1”和“Joystick 2”似乎都应用于两个操纵杆,最后,仅应用到 /dev/input/js0 的映射。

答案1

我从在 osx 上使用控制器伙伴得到这个想法......

将两者映射到同一配置中。您可能想要更改键盘映射,以便它们不具有相同的按键,或者您实际上可以将输入类型更改为系统支持的 HID 类输入。无论哪种方式,如果您有多个配置,则只会使用一个。运行检查以查看 js1 是否已打开,如果未打开,则仅使用 js0 的配置 1,否则使用映射了两者的配置。

Section "InputClass"
Identifier "Joystick 1 mapping"
    Option "device" "/dev/input/js0"
    Option "path" "/dev/input/js0"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
Identifier "Joystick 2 mapping"
    Option "device" "/dev/input/js1"
    Option "path" "/dev/input/js1"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
EndSection

相关内容