【问题标题】:AutoHotKey doesn't recognise the Shuttle XpressAutoHotKey 无法识别 Shuttle Xpress
【发布时间】:2016-10-25 07:48:26
【问题描述】:

出于某种原因,我需要 Shuttle Xpress 键盘映射到“Caps lock + v”、“Ins + a”等键。但是航天飞机不会将“大写锁定”识别为修饰键。它只能单独映射“Caps”或“Ins​​”。我尝试使用 AutoHotKey 软件,但它无法捕捉到航天飞机的输入信号。 班车有自己的司机。如何捕捉 Shuttle Xpress 信号,并将其映射到我想要的任何组合键?

【问题讨论】:

  • KeyHistory 显示什么?
  • @2501 密钥历史没有显示任何内容!所以我认为AHK不承认班车。班车只能由自己的司机映射。
  • 那么 Autohotkey 本身在这里不能做太多事情。
  • @2501 是的,看起来像这样。但我也尝试使用自己的驱动程序将穿梭键映射到一些不太常用的组合,例如“Alt+j”。然后使用 AHK 将“Alt+j”映射到“CapsLock + a”。它失败了。你知道这是为什么吗?穿梭确实映射到“Alt+j”,“Alt+j”确实映射到“CapsLock+a”,但穿梭不会映射到“CapsLock + a”。多么奇怪!
  • 航天飞机正在与较低级别的操作系统对话。 Autohotkey 用于拦截键盘和鼠标,也可能是操纵杆。​​span>

标签: autohotkey keymapping


【解决方案1】:

您可能很幸运,该设备可能是“HID”设备。
大多数输入设备(所有键盘、鼠标、“普通”操纵杆、Xbox 控制器、PS4 控制器等)都是 HID 设备。

cursory google 看来,它似乎是 HID 设备,或者您可以将设备置于某种模式以使其成为标准 HID 设备?

在这种情况下,AHK 本身无法读取它,但可以通过 WinAPI 调用 (DllCall()) 到 RawInput API 来完成。
有一个名为 AHKHID 的库可以让您从 AHK 读取 HID 设备,我正在研究类似的解决方案(尽管我现在倾向于编写为 C# DLL,然后您从 AHK 调用),但我不'认为我目前没有任何可以帮助您的东西 - 到目前为止,我只在 RawInput 中实现了鼠标移动。
如果/当我这样做时,我会将其发布在 AHK 论坛上(我以 evilC 身份发布),所以请留意那里。

【讨论】:

    【解决方案2】:

    我做了一个解决方法,使我能够将 ShuttleXpress 按钮映射到任何击键序列或脚本。输入通过 Fn 键路由到 ahk。这非常适合我的使用,值得一试。

    1:将 Shuttle Xpress 按钮重新映射到 13-24 之间的功能键。 (1-12当然也是可以的,但是你会绑定键盘上的物理Fn键。)

    2:使用 ahk 将相同的功能键重新映射到任何脚本或按键。

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 2012-09-20
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      相关资源
      最近更新 更多