2015-11-03 1978 views
1

我通常使用java.awt.Robot当我想模拟键盘和鼠标项,它工作得很好。模拟键盘输入与Lua

最近我听说过另一种语言,Lua,我试了一下。我写了一些运行良好的小程序,但现在我正在模拟像java一样的键盘,但是我无法使其工作。

最令人沮丧的部分是,我发现在谷歌中使用Lua中的PressAndReleaseKey('someKey')函数的示例,并且这些代码似乎不需要库,但是我无法使此函数工作(它们似乎也始终与Logitech,所以也许它只能在Logitech驱动程序中使用)。所以我不确定这是我在寻找什么。

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

例如,如果我在终端

lua test.lua 

与此文件一直喜欢那种类型:

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

那么程序应该键入字母“A”无限。

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

回答

2

这些代码似乎不需要库

它不能没有额外的库来完成。它不能在没有外部库的情况下完成,并且Lua的标准库完全按照C的标准库来实现。

他们也似乎总是与这样也许罗技它只是使用罗技的驱动程序内的Lua

罗技键盘编写脚本,所以你几乎可以肯定看到了罗技特有的扩展到Lua这在香草Lua中不可用。

如何使用LUA程序模拟键盘输入?

查找或写入一个模块。如果你知道C,那很简单。

或者,如果您可以找到一个共享库来执行Linux操作,则可以使用LuaJIT的FFI直接与该库进行交互,而无需查找/写入模块。

+0

所以,如果我想用LUA模拟我的键盘输入,我必须在C中编写代码并在我的LUA函数中调用它?我从来没有混用过不同的语言,但我想现在是开始的好时机,我会搜索如何做到这一点。 它是否改变了一些东西来写在C或在Java中? (我已经有我的java方法functionning) – user2329273

+0

我刚刚读到,LuaJIT比lua快,所以我想我会迁移到LuaJIT(所以我会用FFI和C)。再次感谢。 – user2329273

+0

是啊,Lua是C,它的API是C,所以在C中编写Lua模块是迄今为止最简单的路径。使用FFI比链接C库和使用C库更笨拙,但如果你可以做后者,你应该能够弄清楚前者。 – Mud