如果有人知道如何禁用/覆盖 Windows 中 Shift 键的功能,暂时使 Numlock 状态无效,以便数字键盘 0-9 键输出为其他键(insert、end、down、page down、left、clear、right、home、up、page up),我很乐意为解决这个问题付费。
原因:我有一个在 Mac 和 PC 上都使用的应用程序 (Reaper),而我在 Mac 上的应用程序中分配的许多快捷键在 PC 上根本不起作用,例如 Shift 和任何 Numpad 数字键(单独使用或与任何其他修饰键组合使用)。Mac 在应用程序中使用修饰键作为快捷键方面比 PC 好得多(包括所有硬编码的 win+key 快捷键)。
我被迫在工作中使用 PC,它给我带来了无数痛苦、折磨和沮丧。但这个小噩梦才是真正的噩梦。它已经困扰了我 2.5 年。我已经束手无策了。我可能已经花了几天(甚至几周)的时间尝试了这个问题的许多潜在解决方案,包括 AutoHotkey、EventGhost 和 Pulover 的 Macro Creator。但它们似乎都无法允许 Shift+Numpad 0-9 功能(或 Ctrl+Alt+Shift、Alt+Shift、Ctrl+Win+Shift 等)通过 Reaper(或任何其他应用程序)。Shift 键可以如上所述更改 Numpad 键输出,或者当与其他修饰键组合使用时,Shift 键将被删除为修饰键,因此只有其他修饰键与 Numpad 0-9 键组合时才会被识别。
我真的需要找到一种方法来在 PC 上使用我的所有 Shift(和任何其他修饰符)以及数字键盘 0-9 快捷键。我真诚地希望有人能找到解决这个令人沮丧的问题的方法。
编辑:为了完全清楚起见,我并不是在寻找/对这个问题的解决方法感兴趣。我希望找到一个真正的解决方案,删除 Windows PC 上的“Shift 键暂时覆盖 Numlock”功能-即使它需要 BIOS 或注册表破解、修改某些 Windows 系统文件或使用其他软件来实现。这是我感兴趣并愿意付费的解决方案。我希望能够像使用 Mac 一样将 shift+numpad(0-9) 快捷键发送到 PC 上的应用程序。感谢您提供的任何帮助,以了解如何实现这一点!
編輯2:以下 AHK 脚本可以运行,但是烦人的 Windows 操作系统“功能”——将 Shift+Numpad(0-9) 转换为 Numpad(Ins-PgUp)——仍然会搞乱输出 - 尽管快捷键来自 AHK 而不是物理键盘输入:
#If winActive("ahk_exe reaper.exe")
+numpadEnd::
send +{numpad1}
return
使用 AHK 脚本,单击 Shift+NumpadEnd,关闭 Numlock:
A0 02A d 1.45 LShift
23 04F h d 0.22 NumpadEnd
61 04F i d 0.00 Numpad1
61 04F i u 0.01 Numpad1
23 04F s u 0.08 NumpadEnd
A0 02A u 0.16 LShift
没有 AHK 脚本,单击 Shift+NumpadEnd,Numlock 关闭:
A0 02A d 0.74 LShift
23 04F d 0.22 NumpadEnd
23 04F u 0.11 NumpadEnd
A0 02A u 0.20 LShift
无论如何,REAPER仍然看到按下了相同的快捷键:Shift+End -不是Shift+NumpadEnd。因此,Shift+Numpad 快捷键仍会与我使用常规 home/end、PgUp/Down、箭头键和 Insert 绑定的其他快捷键发生冲突。
不幸的是,经过反复测试,这是仍然不能解决需要禁用烦人的 Windows 操作系统功能将 Shift+Numpad(0-9) 转换为相应的导航键(即 Shift 覆盖 Numlock)。
答案1
解决方法是,您可以在 NumLock 关闭的情况下使用数字键盘键,并使用 Autohotkey 脚本重新定义软件的快捷键。当 NumLock 关闭时,数字键盘键不受 Shift 的影响。
更新:
在 Reaper 中,问题在于,当您通过 GUI 设置定义按键组合时,您无法输入 Shift + Num 键组合。但我发现您可以导入/导出快捷键配置文件。“键映射...”->“导出快捷键映射...”将导出一个文本文件,该文件可以编辑,然后重新导入。在那里,您可以定义包括 Shift 键和数字键的组合。
例如,我添加了 2 个快捷键:
“Shift+Num 1”表示“水平缩小”命令,
“Shift+End”表示“水平放大”命令
第二条命令只是为了检查它是否与第一个组合冲突。因此,我创建了一个文本文件“test.ReaperKeyMap”,其中包含相应的定义:
KEY 5 97 1011 0
KEY 5 32803 1012 0
并在按键映射器中导入此文件。
现在要使“Shift+Num1”组合键起作用,请使用以下 AHK 脚本:
#If winActive("ahk_exe reaper.exe")
+numpadEnd::
send +{numpad1}
return
关闭 NumLock 后,这将运行“水平缩小”命令。使用此方法,您应该能够使用 Shift、Alt-Shift 等和 Num 键的所有其他组合,而不会占用其他组合键。
在 Windows 10 pro 64bit, v.1909 上使用 Reaper v 6.15 进行了测试,所有这些 USB 键盘都可以使用:
- A4tech X7 G800V
- Acer KU0906(101 键,通过 Fn 键在主部分有数字键盘)
- 罗技 K120
AHK 历史记录(Numlock 关闭):
A0 02A d 1.05 LShift [unsaved project] - REAPER v6.15/x64 - EVALUATION LICENSE
23 04F h d 0.17 NumpadEnd
61 04F i d 0.00 Numpad1
61 04F i u 0.00 Numpad1
23 04F s u 0.08 NumpadEnd
A0 02A u 0.30 LShift