检测按下了什么“按钮”

时间:2013-09-09 08:03:01

标签: autohotkey

我刚刚开始使用autohotkey,我已经有了一个问题:

有没有办法检测哪个按钮被“按下”而没有列出它应该查找的任何按键?如同,检测按下任何按钮。

我想要这个的原因是因为我想弄清楚是否有办法检测我耳机上的音量增大/音量减小键。我想知道autohotkey是否可以以某种方式检测它们,如果确实如此,它会分配给它的“关键字”。

注意:

默认情况下,Windows无法“识别”我的耳机上的音量增大/减小按钮。所以他们不能作为媒体按钮工作,我试图实现。

3 个答案:

答案 0 :(得分:2)

As MCL mentioned,您可以在AutoHotkey的文档中尝试Special Keys的步骤。

注意:这可能不适用于耳机音量按钮,因为大多数PC耳机插孔都不支持3 stripe TRRS signals

  

Special Keys

     

如果您的键盘或鼠标上面没有列出的键,您可能仍然如此   能够通过使用以下步骤使其成为热键:

     
      
  1. 确保至少有一个正在运行的脚本正在使用keyboard hook。您可以判断脚本是否具有键盘钩子   打开主窗口并选择"查看 - > Key history"从   菜单栏。
  2.   
  3. 双击该脚本的托盘图标以打开其主窗口。
  4.   
  5. 按下其中一个"神秘键"在你的键盘上。
  6.   
  7. 选择菜单项"查看 - > Key history"
  8.   
  9. 向下滚动到页面底部。靠近底部的地方是钥匙的按键和按键事件。注意:有些键可以   不生成事件,因此在这里不可见。如果这是   例如,您不能直接将该特定键作为热键,因为   您的键盘驱动程序或硬件处理的级别太低了   AutoHotkey访问。对于可能的解决方案,see further below
  10.   
  11. 如果您的密钥是可检测的,请记下列表第二列中的3位十六进制值(例如 159 )。
  12.   
  13. 要将此密钥定义为热键,请遵循以下示例:
  14.         

    SC159:: ; Replace 159 with your key's value.
    MsgBox, %A_ThisHotKey% was pressed.
    return
    

答案 1 :(得分:0)

您可以使用< KeyHistory>获取您已按下的键。一旦确定,您就可以使用< GetKeyState>查看是否按下了键。

答案 2 :(得分:0)

恕我直言,几乎不可能在AHK文档中快速找到想要的内容。

这是逐步的。

  1. 双击任务栏中的AHK徽标
    enter image description here

  2. 选择View > Key History and Script Info或按Ctrl + K enter image description here

  3. 输入一些垃圾,例如“ Hello,world!”

  4. 选择View > Refresh或按F5。您按下的键将在右侧。您可能需要在输出窗口中向下滚动。

enter image description here