如何在 xorg 中使用操纵杆轴上的组合键?

如何在 xorg 中使用操纵杆轴上的组合键?

我在 Debian Stable 上使用 xserver-xorg-input-joystick,因此我可以使用操纵杆代替鼠标。我的鼠标移动功能正常,但在尝试添加其他一些键的功能时却卡住了。

这些工作:

#Left stick
#Pointer
Option "MapAxis1"   "mode=relative axis=1.5x"
Option "MapAxis2"   "mode=relative axis=1.5y"

#Right stick
#Arrow keys
Option "MapAxis4"   "mode=relative  keylow=Left keyhigh=Right"
Option "MapAxis5"   "mode=relative  keylow=Up   keyhigh=Down"

但是当我尝试进行组合键操作(这样我就可以在 xmonad 中导航窗口和屏幕)时,我没有运气。

#dpad
#xmonad focus
#up/down toggle window.  l/r choose screen.
Option "MapAxis8" "mode=relative    keylow=Super_L,k    keyhigh=Super_L,j"
Option "MapAxis7" "mode=relative    keylow=Super_L,w    keyhigh=Super_L,e"

我还尝试了 Super_R、普通的 Super、Meta 和 mod4mask,以及我能想到的任何其他按钮。这些按钮可以打印字母,但似乎不能按住修改键。shift 键是个例外。如果我指定 Shift_L 或 Shift_R,我会得到一个大写字母。

xev 表示正在按下修饰键。如果我降低 Axis8,我会得到按下 Super_L,按下 k,释放 k,释放 Super_L。看起来它应该可以正常工作。也许这是 xmonad 的问题,而不是操纵杆驱动程序的问题?

我在让轴使用其他 XF86 键时也遇到了问题:

# triggers                                                                            
# song selection
Option "MapAxis3" "mode=relative keylow=none keyhigh=XF86AudioForward"
Option "MapAxis6" "mode=relative keylow=none keyhigh=XF86AudioBack"

这没什么用。知道为什么吗?

如果事实证明我无法在轴上做到这一点,但可以通过按钮完成,那么有没有办法将我的操纵杆视为按钮?

此外,如果有人对鼠标按钮绑定后剩下的其他 5 个按钮有什么建议,我会听取的。

答案1

我承认我根本不了解 debian,但听起来你已经了解了基础知识,并且你已经确认按钮被正确模拟。

我找到了这个链接:

http://zythmer.acyclic.org/files/docs/xev_and_xmodmap

引用一段有趣的话:

通常,Windows 键是一个不错的选择,因为默认情况下没有绑定[强调我的]。

我没有仔细看细节,但它似乎介绍了为 xmodmap 绑定的过程

相关内容