用Lua模拟键盘输入

Simulate keyboard input with Lua

当我想模拟键盘和鼠标输入时,我通常使用java.awt.Robot,并且效果很好。

最近我听说了另一种语言,Lua,然后尝试一下。我写了一些运行良好的小程序,但是现在我想模拟Java中的键盘,但是我无法使其正常工作。

最令人沮丧的部分是我在Google的Lua中找到了使用PressAndReleaseKey('someKey')函数的示例,这些代码似乎不需要库,但是我无法使此函数正常工作(它们似乎总是相关的到Logitech,所以也许仅在Logitech驱动程序中可用?)。所以我不确定这是我要搜索的内容。

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

例如,如果我在终端输入

1
lua test.lua

与此文件类似:

1
2
3
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特定的Lua扩展。

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

查找或编写执行此操作的模块。如果您知道C,这非常简单。

或者,如果您可以找到一个适用于Linux的共享库,则可以使用LuaJIT的FFI直接与该库进行接口,而不必查找/编写模块。