如何模拟键盘输入?
这是让我无法享受Ubuntu / Linux的最重要的事情。
理想情况下,我希望能够在Ubuntu上运行我的AutoHotKey脚本,但是我没有太多运气来使用Wine。
这是我在AHK中所做的事情(使用额外的修饰符也可以, Shift + Alt + l是Shift + 右 )。
!l:: Send, {Right} +!l:: Send, +{Right} ^!l:: Send, ^{Right} ^+!l:: Send, ^+{Right}
我尝试了AutoKey,但它没有消耗输入,重新映射Alt + I到右箭头键工作,但它仍然执行Alt + I ,有时从应用程序菜单中选择一个项目。
我得到的最接近的是设置热键的xbindkeys
,这看起来效果很好。 和xvkbd
用于模拟输入; 这部分真的很不对劲; 它并不适用于所有程序,并且使我在其他问题中失去了很多关注。
对于任何想知道我正在尝试做什么的人:我使用I J K L作为箭头键而Alt是关闭的。
我从来没有使用过xvkbd,但还有另外两个很棒的程序来模拟我喜欢和使用的键盘输入。 一个是xdotool
,另一个是xdotool
。
sudo apt-get install xautomation xdotool
xdotool
和xdotool
都非常相似,但是因为我使用xte
最多,所以我会进入那个。
XTE:
xte
最基本的语法是:
xte 'command key/mousebutton/xyCoordinates'
xte
可以做的不仅仅是创建键盘输入,它还可以移动鼠标并模拟鼠标按键等。
语法示例:
-
要拨打单键,请按:
xte 'key keyName'
-
要调用组合键:
xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
-
要调用鼠标按钮:
xte 'mouseclick buttonNumber'
(您可以通过xev
找到按钮编号) -
移动鼠标:
xte 'mousemove xCoordinate yCoordinate'
-
和更多! 读
man xte
键名:
这是一个关键名称列表(除了显而易见的名称):
Home Left Up Right Down Page_Up Page_Down End Return BackSpace Tab Escape Delete Shift_L Shift_R Control_L Control_R Meta_L Meta_R Alt_L Alt_R Multi_key Super_L Super_R
读:
您可能也有兴趣阅读:
如何更改键盘上的键? (如何创建自定义键盘命令/快捷方式?)
如何重新映射某些键或设备?