我说的是Menu(keycode = 135) (又名右键单击),我不使用它
所以我禁用了它上下文菜单使用 Xmodmap 工具进行操作,现在它不会打开菜单,并且仍然适用于键盘快捷键*
还禁用了重复自身xset -r 135
(因为像这样的键Ctrl 在按下时不会重复自身)
* 但问题是我无法将它与其他键结合使用,例如 howCtrl和Shiftdoes Alt。
例如,我可以创建像Shift+ Alt+这样的快捷方式S,但我不能用Menu+somekey 做类似的事情,它不与其他键绑定。我能够创建琴键的“和弦”,但这不是我正在寻找的。
看来我不能用 Xmodmap 做到这一点:/
如果你运行,xev -event keyboard
你可以看到像Ctrl、Shift和Alt之类的键发生了什么变化state
值,它来自state 0x0
当按下时,state 0x4
(在 的情况下Ctrl L)释放时。键和其他不可绑定键不会发生这种情况Menu,所有键都保留在state 0x0
,也许这就是问题所在?
我该如何解决这个问题?
谢谢
答案1
您误解了修饰键。
您可以使用 来查看您的修饰符是什么xmodmap
。
Menu默认情况下不是修饰符,尽管它可以触发一些上下文菜单F10(取决于您使用的软件)。
state 0x0
当您在 的输出中看到时xev
,它与修饰符有效相关,同时按下多个修饰符,您将看到它的总和。
有效xmodmap
不会让你创造你想要的东西。现在,您可以有效地尝试使用Menu有效的修饰符名称添加到修饰符映射中,并修改您的xkb
映射以确保它仍然会发送键符号......但这不是一件优雅的事情。
xcape
让我建议改为使用名为(还有其他与 Wayland 兼容)的软件来模拟Hyper_R与其他键组合按下以及Menu单独按下时此键上的修改器(例如,假设您将其添加到 mod 映射中) 。