【问题标题】:Spamming Key with lua使用 lua 发送垃圾邮件密钥
【发布时间】:2020-10-29 13:45:34
【问题描述】:

我正在尝试创建一个脚本,当按下 windows 键时会发送垃圾邮件 w,但它显示 Lua 错误 (5):无效参数:未指定修饰符,这是我的脚本.. 任何帮助将不胜感激

EnablePrimaryMouseButtonEvents(true)

function OnEvent(event, arg)
   if  IsModifierPressed ("appkey") then --windows key is appkey i am assuming
      repeat
         Sleep(100)
         PressKey("w")
         Sleep(100)
         ReleaseKey("w")
      until  not IsModifierPressed ("appkey")
   end
end                                                      

而且我也在尝试制作一个快速切换脚本,如果我同时按下鼠标右键和鼠标左键,那么它会自动按下键 q,但我收到错误提示语法错误:行:2

     EnablePrimaryMouseButtonEvents(true) 
        function OnEvent(event, arg)
     if (event == "MOUSE_BUTTON_PRESSED" and arg == "3","1" then
         repeat
         PressKey("q") 
        Sleep(2) 
        ReleaseKey("q") 
        end 
 end
          

【问题讨论】:

  • 请发布错误的完整内容-错误通常包含有用的信息,可以准确地告诉您实际错误是什么,例如行号。此外,您可以在第一行使用while 而不是if 循环,而不是嵌套检查相反条件的repeat until
  • 这是确切的错误吗?复制+粘贴进去。
  • 完成更新谢谢

标签: lua logitech-gaming-software


【解决方案1】:

根据手册,修饰符必须是以下字符串之一:

"lalt", "ralt", "alt", "lshift", "rshift", "shift", "lctrl", "rctrl", "ctrl"

"appkey" 不在该列表中。因此你得到一个错误。请阅读手册。

https://douile.github.io/logitech-toggle-keys/APIDocs.pdf第17页

Windows 键是“lgui”和“rgui”,它只是一个键,而不是修饰符。修饰符修改键的含义,如名称所示。

【讨论】:

    【解决方案2】:
    -- if I press the right mouse button and left mouse button at the same time 
    -- then it would automatically press the key q
    
    function OnEvent(event, arg)
       if event == "PROFILE_ACTIVATED" then
          EnablePrimaryMouseButtonEvents(true) 
       elseif event == "MOUSE_BUTTON_PRESSED" and arg < 3 then
          repeat
             Sleep(10)
             if IsMouseButtonPressed(1) and IsMouseButtonPressed(3) then 
                PressKey("q") 
                Sleep(10) 
                ReleaseKey("q") 
             else
                break 
             end 
          until nil
       end
    end
    

    【讨论】:

    • 再次非常感谢传奇,我能做些什么来支持你吗?那么关于按下 windows 键时的垃圾邮件 w 是否可以使用 lua,我有一个罗技键盘?
    • about the spamming w when windows key is pressed is it possible 否。您可以确定是否仅对以下键按下了键:1)通过调用 IsModifierPressed 修改键(请参阅 Piglet 的答案)和 2)G1、G2、G3、G4, ... 通过处理 G_PRESSED / G_RELEASED 事件键。 G 键在不同的键盘上是不同的,例如在我的 G413 上它们是 F1-F12。顺便说一句,你的键盘型号是什么?
    • 使用 g513 atm,该死的.. 我可以将宏分配给 Razer 终极键盘上的任何按钮,直到今天你才意识到除了你所说的 G 之外,你不能将任何宏分配给键。
    • 你能为 Razer 终极键盘上的按键事件写一个 Lua/Python/whatever 脚本吗?
    • 只有宏是不可能做出一些事情的。例如,不可能实现“同时按下 LMB 和 RMB 时的 spam q”。 IMO,编写脚本的可能性更有价值。
    猜你喜欢
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2016-04-22
    • 2017-02-09
    • 1970-01-01
    相关资源
    最近更新 更多