11

我正在尝试使用 autohotkey 在 PC(Windows)键盘上模拟 Mac 键盘的元素。我的肌肉记忆力达到了用于复制和粘贴等简单任务的 Command 键,所以我想将左侧的 alt+字母组合键重新映射到适当的 ctrl+字母。

<!c::Send ^c

大部分时间它工作正常,除了部分时间在 IE 和 Office 应用程序中。按下左 Alt 时,它与 office 功能区/菜单一起拧紧(即菜单栏显示在 IE 中,或者功能区字母开始出现在 Office 2010 中),并且触发的 ctrl+字母组合没有到达目的地。

我已经阅读了 AHK 常见问题解答 + 论坛,尝试了几个带有 UP 和 $ 热键修饰符的选项,但它没有解决问题。有任何想法吗?

4

7 回答 7

14

这可以防止左侧 Alt 键激活大多数应用程序的菜单栏(在 Windows 7 和 AutoHotkey 1.1.11.01 下):

~LAlt Up:: return

它不适用于 Internet Explorer,但我不经常使用 IE。:)

顺便说一句,我还通过以下方式杀死了烦人的开始菜单弹出窗口:

~LWin Up:: return
~RWin Up:: return
于 2013-07-04T07:30:51.663 回答
2

利用

LAlt::LCtrl

把它放到一个ahk文件中编译它并以管理员权限运行.exe

右键->以管理员身份运行

我在 Windows 7 上对其进行了测试,它工作正常,LAlt 不再在任何地方触发,它完全被 LCtrl 取代。

于 2013-01-14T14:48:46.913 回答
2

刚刚在 Win-7 上检查了这个,它可以工作,即使是 IE。

00 00 00 00 00 00 00 00 03 00 00 00 1d 00 38 00 38 00 1d 00 00 00 00 00 00

这是 SwapCtrlAlt.reg 文本。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,38,00,38,00,1d,00,\
  00,00,00,00,00
于 2013-01-20T20:33:10.647 回答
1

听起来您需要通配符修饰符。如果您的热键与另一个键一起按下,这将使它如此。映射仍然有效。尝试以下方法:

*LAlt::LCtrl

这将使任何+Key 组合Alt触发。CtrlAlt

于 2012-12-18T15:45:16.500 回答
1

利用

LAlt::LCtrl

这将替换LAltLCtrl

于 2012-12-20T21:20:29.813 回答
0

您也可以交换两个按钮。

就像是:

LAlt::LCtrl
LCtrl::LAlt

在我所做的有限测试中,它可以工作,但您可能需要重新学习一些窗口快捷键。它基本上只是交换两个按钮。

于 2013-01-17T03:42:34.727 回答
0

恐怕 IE 的行为与大多数其他应用程序不同。您可以尝试以下说明。这不是 autoHotKey,而是 regedit 更改。顺便说一句,我检查了 ScanCodes 是否可以工作(SC38 用于 LAlt),但 IE 仍然忽略了这一点。

不确定这是否适用于 Vista/Win7/8,但值得一看。

http://www.designcodeexecute.com/2006/11/04/swap-alt-and-ctrl-keys-in-windows-xp/

于 2013-01-18T20:58:22.917 回答