【问题标题】:Simulate keyboard input with Lua使用 Lua 模拟键盘输入
【发布时间】:2015-11-03 18:27:07
【问题描述】:

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

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

最令人沮丧的部分是我发现在 Lua 中使用 PressAndReleaseKey('someKey') 函数和谷歌的例子,这些代码似乎不需要库,但是我不能使这个函数工作(它们似乎也总是相关的到罗技,所以也许它只能在罗技驱动程序中使用?)。所以我不确定这是否是我要搜索的内容。

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

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

lua test.lua

这个文件是这样的:

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

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

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

【问题讨论】:

    标签: lua keyboard


    【解决方案1】:

    这些代码似乎不需要库

    没有额外的库就无法完成。在C中没有外部库是做不到的,而Lua的标准库完全按照C的标准库来实现。

    它们似乎也总是与罗技相关,所以也许它只能在罗技驱动程序中使用

    罗技有可在 Lua 中编写脚本的键盘,因此您几乎可以肯定会看到原版 Lua 中没有的特定于罗技的 Lua 扩展。

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

    找到或编写一个模块来完成它。如果你懂 C,那就很简单了。

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

    【讨论】:

    • 那么,如果我想用 LUA 模拟我的键盘输入,我必须用 C 编写代码并在我的 LUA 函数中调用它吗?我从来没有混合过不同的语言,但我想现在是开始的好时机,我会搜索如何做到这一点,谢谢。它是否会改变一些东西以用 C 或 java 编写它? (我的 java 方法已经在运行)
    • 我刚刚读到 LuaJIT 比 lua 快,所以我想我会迁移到 LuaJIT(所以我会使用 FFI 和 C)。再次感谢。
    • 是的,Lua 是 C,它的 API 是 C,所以用 C 编写 Lua 模块是迄今为止最简单的方法。使用 FFI 比链接一个 C 库并从 C 中使用它有点尴尬,但如果你能做到后者,你应该能够找出前者。
    猜你喜欢
    • 2012-09-21
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 2012-07-17
    • 2012-07-21
    相关资源
    最近更新 更多