【问题标题】:Virtual key-press to function-key of a gaming keyboard虚拟按键到游戏键盘的功能键
【发布时间】:2017-08-03 16:37:01
【问题描述】:

如何虚拟激活“MadCatz Strike 7”键盘的特殊功能键?发送其按键代码应该让 MadCatz7 软件像注册物理按键一样操作。

这些功能键是否有键码(或有更好的方法)?我正在编写一个 AutoIt 脚本,它应该让 MadCatz 软件通过激活相应的特殊功能键来完成其余的工作。

【问题讨论】:

    标签: keyboard autoit keycode


    【解决方案1】:

    试着用这段代码找出关键。通常你的特殊功能键有一个替代热键,如 ctrl+alt+F10 或其他东西。

    Opt('GUICloseOnESC', 0)
    
    Global $tState = DllStructCreate('byte[256]')
    
    GUICreate('MyGUI', 200, 200)
    $Label = GUICtrlCreateLabel('', 20, 72, 160, 52, 0x01)
    GUICtrlSetFont(-1, 32, 800, 0, 'Tahoma')
    GUISetState()
    
    $Prev = -1
    
    While 1
        Sleep(10)
        If GUIGetMsg() = -3 Then
            ExitLoop
        EndIf
        $Key = 0
        $Ret = DllCall('user32.dll', 'int', 'GetKeyboardState', 'ptr', DllStructGetPtr($tState))
        For $i = 0x08 To 0xFF
            Switch $i
                Case 0x0A, 0x0B, 0x0E To 0x0F, 0x16, 0x1A, 0x1C To 0x1F, 0x3A To 0x40, 0x5E, 0x88 To 0x8F, 0x97 To 0x9F, 0xB8 To 0xB9, 0xC1 To 0xDA, 0xE0, 0xE8
                    ContinueLoop
                Case Else
                    If BitAND(DllStructGetData($tState, 1, $i + 1), 0xF0) Then
                        $Key = $i
                        ExitLoop
                    EndIf
            EndSwitch
        Next
        If $Key <> $Prev Then
            GUICtrlSetData($Label, '0x' & Hex($Key, 2))
            $Prev = $Key
        EndIf
    WEnd
    

    【讨论】:

    • 出于好奇测试了您的脚本。它无法为我检测到组合键(如 ctrl+smth),只有一个按键。因此,如果您对隐藏的替代组合是正确的(这是有争议的,但我不是专家),脚本将只允许检测微不足道的情况。
    • 是的,但它会检测特殊功能键。如果你想知道你的 G10 或其他键的替代组合是什么,那么我想这是有据可查的或者很容易用谷歌搜索。
    • 看起来 MadCatz 键盘没有发送已知的 KeyCode。所以脚本没有显示当我按下“特殊功能键”时单击了一个按钮有没有办法让键盘在 USB 端口上发送的原始数据手动发送到 MadCatz 软件?
    【解决方案2】:

    如果不直接告诉 MadCatz 软件按下了特殊键,则无法执行此操作,以便软件启动编程的模板。

    我使用 AutoIt 脚本解决了问题,完成后将发布代码。

    【讨论】:

      猜你喜欢
      • 2013-10-07
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 2010-12-12
      相关资源
      最近更新 更多