我知道如何映射鼠标单击F1,F2和F3(分别左键单击、中键单击、右键单击):
xkbset m # required, but disable keypad
xmodmap -e "keycode 67 = Pointer_Button1 Pointer_Button1"
xmodmap -e "keycode 68 = Pointer_Button2"
xmodmap -e "keycode 69 = Pointer_Button3"
但这需要我使用xkbset m
慢键模式:
4如果我从键盘按下,它会将光标移到左侧。我不需要这个功能,只需要上面的映射。
我试图用 来弄清楚xdotool
,但我不知道如何处理按下/释放键(用于拖放)
xdotool mousedown 1
xdotool mouseup 1
如何不使用此模式或如何重新映射所有键盘键?
请问键盘上的数字和算术符号怎么样?
还有其他解决方案吗?
有关 Debian (cinnamon) 和 Archlinux (xfce) 所需的信息,如果可能,我想要一个不基于窗口管理器的解决方案。
编辑:
尝试了此解决方案,但我无法使用F1.
在~/.xbindkeysrc
:
"xdotool mousedown 1"
F1
"xdotool mouseup 1"
F1 + Release
或者 :
"xdotool mousedown 1"
m:0x10 + c:67
"xdotool mouseup 1"
m:0x10 + c:67 + Release
然后 :
xset -r 67
编辑2
尝试使用actkbd
# actkbd configuration file
<keycode ("67")> :key : :xdotool mousedown 1
<keycode ("67")> :rel : :xdotool mouseup 1
没有雪茄:/
改编自这里
W00T!
首先:创建一个脚本
click
:然后在窗口管理器中添加一个新的键盘快捷键并映射F1到运行
/path/to/mouse <1|3>
(左键或右键单击)。等等瞧;)
这可以运行为与
xbindkeys
WM 无关编辑:
不知道为什么这不适用于 archlinux + xfce 4.12 但适用于 Debian9 + Cinnamon
编辑 :
此解决方案效果更好:
在
.bashrc
:作为键盘快捷键:
您可以使用此命令实现“鼠标切换”操作
.xbindkeysrc
(您的第一次编辑中有错字,不是.xbindkeys
):它将创建一个空文件
/tmp/mouse_token
来跟踪鼠标按钮状态。因为some_key
您可以使用F1
,这意味着您必须按两次才能单击一次,或者使用另一个键(例如F4
)。注意:在我的系统上,由于未知原因,F 键的按下事件不会触发 xbindkeys 绑定,只有释放事件会触发。如果您也遇到同样的情况,请使用
release+F1
forsome_key
。注2:默认
xbindkeys
不勾选NumLock
,如果rc文件中m:0x10
没有设置,可以去掉修饰符。keystate_numlock = enable