如何模拟键盘输入?

如何模拟键盘输入?

这是阻碍我享受 Ubuntu/Linux 的最大问题。

理想情况下,我希望能够在 Ubuntu 上运行我的 AutoHotKey 脚本,但是在 Wine 上我没有找到合适的方法来实现它。

这是我在 AHK 中所做的(使用额外的修饰符也可以,++Shift是+ )。AltlShiftright

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}

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

我最接近的方法是xbindkeys设置热键,这似乎很有效。xvkbd至于模拟输入,这部分确实存在问题;它并不适用于所有程序,并且导致我经常失去注意力,还有其他问题。

如果有人想知道我在做什么:我将I J K L其向下用作箭头键Alt

答案1

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

sudo apt-get install xautomation xdotool  

和非常相似,但由于我使用得最多xdotool,因此我将详细介绍后者。 xtexte

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

阅读:

您可能还想阅读:

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

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

相关内容