【问题标题】:Keyboard Macro Buttons Remap键盘宏按钮重新映射
【发布时间】:2018-12-06 14:40:46
【问题描述】:

我不确定标题是否正确,让我在这里解释一下我的问题......

我有一个有 5 个宏键的键盘(您必须在键盘的软件中通过击键来分配它们才能被识别)。

所以我想做的是拥有这些键,让我们说第一个“M1”,这样如果我按下它,我就可以启动一些自动热键脚本。问题来了,正如我之前提到的,为了使密钥可识别,我必须为其分配一个密钥。问题是我不想分配任何 F1 F2... 键,因为我不想在按下 F1 F2... 键时触发自动热键。所以我认为的解决方案是将M1设置为Ctrl F1。这将解决问题,但它不允许自动热键区分 Ctrl M1 和 M1 之间的区别。那是因为 M1 等于 Ctrl F1 并且 Ctrl M1 也等于 Ctrl F1。

那么如何将宏键分配给不会限制我使用带有宏键的修饰键的东西,以便我可以获得尽可能多的宏组合?

我尝试将 M1 设置为 F13(不在键盘上,因此不会以任何方式限制我)但键盘的软件不接受 F13 及更高...

我已经尽力解释了,如果没有多大意义,请见谅。

非常感谢任何帮助。

(我的键盘是Creative k08)

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    我成功了!所以这就是我所做的......(这可能只适用于我的键盘软件)。 因此,对于键盘的每个键,您都可以通过软件分配另一个键,就像https://imgur.com/jwRGsWs 但问题是,即使您在文本字段中看到 F13(我可以通过 autohotkey o::send {F13} 发送它,软件也不会将其保存到键盘,因为该键不存在。所以如果我关闭并打开软件,我设置的F13,不会在那里,它永远不会像F13那样工作。 然后我看到了同一个菜单的“录音”部分,我可以在其中记录许多不同的键,但有延迟甚至是鼠标点击。所以我记录了按“o”(我已经暂时映射到发送 F13 并且软件显示一个没有名称的键被按下,但我试了一下它确实有效!所以如果我记录 F13 并分配它到我键盘上的 M1 键,当我按下 M1 时它确实发送 F13 并且通过这种方式我可以使用所有修饰符并且仍然不会牺牲任何键。 很抱歉没有早点测试此录制功能而浪费您的时间。

    【讨论】:

      【解决方案2】:

      正如其他人所说,您可以将宏键设置为非常复杂的热键。我不确定如何使用宏键和其他按键完成交互 IE 将您的 M1 设置为 Shift+F1 之类的东西,然后按Ctrl+M1。您可以尝试这样做,然后让 AHK 拥有如下地图:

      !+F1::  ; maps to Alt + M1
      !^+F1::  ; maps to Alt + Ctrl + M1
      !+F2::  ; maps to Alt + Ctrl + M2
      !^+F2::  ; maps to Alt + Ctrl + M2
      

      否则,您可能会被限制为只能触发单个热键的宏按钮。在这种情况下,您可以通过添加KeyWait 来获得一些您可能想要修改它的键。 Ctrl 之类的东西,这样您就可以在按 M1 时执行通常的脚本,如果配置正确,则会在 KeyWait 上超时,但如果您按 Ctrl 有了它,您就可以触发 KeyWait 并执行不同的操作..

      【讨论】:

      • 感谢您的回复。这里的主要问题是,如果我将 M1 映射到 shift f1,那么我不能为 shift M1 分配一些东西,因为 Shift M1 和只是 M1 将从 ahk 获得相同的精确识别,因为两者都是 shift f1。希望这是有道理的。至于 keywait,我并没有真正了解如何实现它,我将不得不再次将 M1 分配给某个东西,以便 ahk 识别它。
      • 所以我遇到的问题是我当前已将 M1 设置为 CTRL F1,并且我想在按下 M1 时启动计算器,并且我想在按下 CTRL 时启动 Chrome M1,据我了解这是不可能的。基本上我想使用所有的修饰键,ctrl shift Windows 和大写锁定与宏键?
      • 是的,这有点棘手。我的建议是,您可以测试将 M1 设置为 Ctrl + F1,然后物理按下 Shift + M1 是否会触发 Shift + Ctrl + F1 的 AHK 热键。这样,您至少可以从中获得更多修饰符。否则我在 KeyWait 上的建议是更具体地使用它来模拟脚本上的变量。
      • 从那里你可以做 KeyWait、Shift、T1。这将等待 1 秒以释放 Shift 键,如果成功(检查 ErrorLevel),您可以启动 chrome,否则启动计算器......不过它只会在 1 秒后启动计算器......而且 KeyWait 似乎没有设置毫秒等待。
      • 感谢您的信息,非常感谢!
      【解决方案3】:

      我有一个类似的键盘,它的宏键必须先编程才能使用。我设置它们以执行 AutoHotKey 宏的解决方案是将它们配置为使用极不可能的组合键,例如 CtrlAltShift F12 然后在 AutoHotKey 中捕获这些键序列。

      【讨论】:

      • 感谢您的回复。这样做的问题是,如果我将 M1 设置为 Ctrl shift f1,那么我将无法让 autohotkey 区分我按下 M1 或按下 Ctrl M1 或 Shift M1 之间的区别。因为 M1 自己拥有所有这些修饰符,所以我以后无法使用它们。我无法将 M1 设置为启动计算器,然后将 Ctrl M1 设置为启动 Firefox,因为 M1 等于 Ctrl Shift F1,而 Ctrl M1 也等于 Ctrl Shift F1。我希望你明白了?很难解释
      • 我明白了。这确实使它变得复杂。您可以使用 Creative 软件将 M1 键设置为键盘上没有的键吗? £¥ 之类的东西?如果是这样,您也许可以使用 AHK 将其映射到您的额外命令。
      • 如果您无法解决此问题以按照您当前设想的方式执行操作,您可以考虑多次按下 M 键或修饰符,类似于我在此处的描述:@ 987654321@。例如,按一次 M1 为宏 1,按两次为宏 2,等等。或者按 Alt 然后 M1 为宏 1,Alt Alt M1 为宏 2,等等。
      • 非常感谢您提供的信息。我确实尝试将 M1 设置为符号甚至 F13 或其他东西,但软件不接受它。我明天会尝试你的建议,我会报告回来。谢谢
      猜你喜欢
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      • 2019-07-04
      相关资源
      最近更新 更多