使用 Lua 模拟键盘输入

Simulate keyboard input with Lua

我经常用java.awt.Robot来模拟键盘和鼠标输入,效果很好

最近听说了另一种语言,Lua,就试了一下。我写了一些运行良好的小程序,但现在我想模拟 java 中的键盘,但我无法让它工作。

最令人沮丧的部分是我发现在 Lua 和 google 中使用 PressAndReleaseKey('someKey') 函数的示例,这些代码似乎不需要库,但我不能使这个功能起作用(它们似乎也总是与罗技相关,所以也许它只能在罗技驱动程序中使用?)。所以我不确定我要找的是什么。

所以,简而言之,我的问题是:如何使用 Lua 程序模拟键盘输入?

例如,如果我在我的终端中输入

lua test.lua

这个文件是这样的:

while(true) do
     thefunctionIsearch('a')
end

那么程序应该无限地键入字母 'a'。

我在 Linux (Ubuntu) 如果有的话。

these codes seems to require no library

没有额外的库是做不到的。 C没有外部库是做不到的,Lua的标准库完全是按照C的标准库实现的

they also seems to be always related to logitech so maybe it's only usable within logitech drivers

Logitech 在 Lua 中有可编写脚本的键盘,因此您几乎可以肯定会看到针对 Lua 的 Logitech 特定扩展,它在 vanilla Lua.

中不可用

How can I simulate a keyboard entry with a LUA program?

查找或编写执行此操作的模块。如果你会C,那就很简单了。

或者,如果您能找到为 Linux 执行此操作的共享库,则可以使用 LuaJIT 的 FFI 直接与该库交互,而无需 find/write 模块.