X11:用鼠标按钮交换键盘键

X11:用鼠标按钮交换键盘键

我希望键盘上的菜单键(键码 135)与鼠标右键具有相同的功能。

https://superuser.com/questions/336674/emulated-mouse-click-with-a-keyboard这样做,但它牺牲了我键盘上的小键盘区域,因此这些键不再具有正常功能。因为我使用键盘,所以我不想牺牲它。

所以我正在寻找一个解决方案仅有的触摸菜单按钮(键码 135)。

答案1

[注意:显然,这是故意的,这并不“交换”带有鼠标按钮的键盘键;它只是让键盘按键像鼠标按钮一样工作;但鼠标按钮不会依次开始像键盘键一样发挥作用]

xkbset m
xkbset exp =m  # keep the state unchanged after the AccessX timeout
xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu / Pointer_Button3 /' -e '/interpret KP_/,/};/d' | 
  xkbcomp - "$DISPLAY"

您还可以绑定另一个组合键来切换MouseKeys控件。例如。和Shift-Menu

xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu \| Pointer_Button3 / Pointer_Button3, MouseKeys_Enable /' -e '/interpret KP_/,/};/d' |
  xkbcomp - "$DISPLAY"

这假设Menu密钥尚未反弹到其他东西。

您可以轻松地编写一个小程序来代替xbksetxkbcomp来完成同样的事情(它们所做的所有操作都可以由任何常规 X11 客户端完成)。

如何将其与烦人的“桌面环境”(根据自己的规则更改 xkb 设置)集成起来,作为练习留给读者。

相关内容