如何模拟键盘输入?

Far*_*her 15 keyboard wine shortcut-keys unity

这是让我无法享受 Ubuntu/Linux 的最大原因。

理想情况下,我希望能够在 Ubuntu 上运行我的 AutoHotKey 脚本,但我没有太多运气与 Wine 一起工作。

下面是我在做什么的AHK(使用额外的修饰也适用,Shift+ Alt+lShift+ right)。

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}
Run Code Online (Sandbox Code Playgroud)

我尝试了 AutoKey,但它不消耗输入,将Alt+重新映射I到右箭头键有效,但它仍然执行Alt+ I,有时会从应用程序菜单中选择一个项目。

我得到的最接近的是xbindkeys设置热键,这似乎很好用。并xvkbd用于模拟输入;这部分真的有问题;它不适用于所有程序,并导致我在其他问题中失去了很多注意力。

对于任何想知道我在做什么的人:我I J K LAlt关闭时用作箭头键。

Set*_*eth 18

我从未使用过 xvkbd,但还有另外两个我喜欢和使用的模拟键盘输入的出色程序。一个是xte,另一个是xdotool

sudo apt-get install xautomation xdotool  
Run Code Online (Sandbox Code Playgroud)

两者xdotoolxte非常相似,但由于我使用xte最多,所以我会进入那个。

xte:

最基本的语法xte是:

xte 'command key/mousebutton/xyCoordinates'
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

读:

您可能还有兴趣阅读:

如何更改键盘上的按键功能?(如何创建自定义键盘命令/快捷方式?)

如何重新映射某些密钥或设备?