如何将 CTRL + ALT + TAB 映射到从 Microsoft Natural Ergonomic Keyboard 4000 上的可自定义特殊键激活的宏?

如何将 CTRL + ALT + TAB 映射到从 Microsoft Natural Ergonomic Keyboard 4000 上的可自定义特殊键激活的宏?

我正在尝试创建一个我称之为“任务切换器”的宏,理想情况下使用我的“Microsoft Natural Ergonomic 4000”键盘上对我来说没用的“媒体播放/暂停”按钮。我不需要此按钮的默认功能,因此我想重新绑定它。我最需要的宏是,正如我提到的,Ctrl++ AltTabAlt+ Tab)。

我使用最新的 Microsoft 鼠标和键盘中心程序执行此重新绑定,但没有成功。您可以在下面看到: 在此处输入图片描述 我相信我做的一切都是正确的;不幸的是,这个程序中的键可能存在错误Tab,我找不到解决方法(我也尝试了键盘上的其他键;Alt+Tab不起作用)。我还尝试将延迟增加到 200 毫秒,但仍然不起作用。我也尝试了“切换”和“按住”模式,但没有任何效果。

然后我尝试使用可靠的 AutoHotkey 拦截“媒体播放/暂停”按钮按下,获取其扫描码,然后将其分配给Alt+ Ctrl+Tab宏,这在 AHK ( ) 中工作得很好Send, ^!{TAB}。但是,当我记录击键时,Autohotkey 无法识别“媒体播放/暂停”按钮(在上图中以蓝色突出显示)的扫描码,或者此键盘上的任何其他特殊按钮。我相信这是因为像这样的特殊按钮被映射到自定义 HID 输入设备,试图弄清楚这一点会导致一个太深的兔子洞,我现在无法解决。

有人知道我如何将Ctrl++宏/热键分配给此键盘的特殊按钮AltTab?如果你知道,请分享。谢谢。

编辑

解决用户3419297 这里

答案1

使用完全相同的键盘模型,我可以轻松地重新映射⏵/⏸AutoHotKey 中的(播放/暂停)按钮,如下所示:

Media_Play_Pause::Send ^!{Tab}
+Media_Play_Pause::Media_Stop
^Media_Play_Pause::Launch_Media

...并且您的Ctrl++想法非常有效。我演示和修饰符用法的其余示例也同样Alt有效。TabShiftCtrl

但我承认我没有安装 Microsoft 鼠标和键盘中心,以避免任何干扰(并节省一些系统资源)。

为了这个答案的完整性,我需要注意,我在 AHK 脚本的顶部对发送模式使用了以下修改:

SendMode Input

并确保您始终以高架方式运行 AHK(即作为管理员)。

我验证了以下脚本可以⏵/⏸很好地捕获 Windows 10 中 AHK(版本 1.1.25.01)运行提升的(播放/暂停)按钮:

SendMode Input
+Media_Play_Pause::msgbox Shift+PlayPause
^Media_Play_Pause::msgbox Ctrl+PlayPause
Media_Play_Pause::msgbox PlayPause

经过进一步研究,问题不在于捕获⏵/⏸(播放/暂停)按钮,而在于执行Alt+Tab 这需要针对 Windows 8.1 的特殊技术. 捕获本身进行得很顺利。

相关内容