如何将AltGr键全局映射到Alt键?
-
04-07-2019 - |
题
我希望我的 AltGr 键的行为与左 Alt 完全相同。
通常,我使用 Autohotkey 来做这类事情,但我对不同的解决方案持开放态度。
我试过了:
LControl & RAlt::Alt
并且Autohotkey显示有关 Alt
无法识别操作的错误。
然后我尝试了以下代码:
LControl & RAlt::
Send {Alt down}
KeyWait LCtrl
KeyWait Ralt
Send {Alt up}
return
哪种工作 - 我可以使用 AltGr 键来访问热键,但它仍然表现不同:
当我按下并释放左 Alt 时,当前程序中的第一个菜单项将获得焦点。
使用此脚本按下并释放 AltGr 不会执行任何操作。
有什么想法吗? Autohotkey甚至可以实现这一点吗? (将 Ctrl 和 Shift 重新映射到他们的左边兄弟姐妹是件小事)
注意:我尝试在代码中将
Alt
切换到 LAlt
,但没有区别。
解决方案
谢谢大家的回答。我无法使用AutoHotkey解决这个问题 - PhilLho的答案很接近,但我真的需要与左 Alt 键完全相同的行为。
然而,注册表事项实际上按照我的需要工作。
将其另存为 AltGR_to_LeftAlt.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,02,00,00,00,38,00,38,e0,00,00,00,00
或者,有一个GUI工具可以为您执行此操作 - 它被称为 SharpKeys 并且工作很好:点击
哦,不要忘记重启或注销 - 直到那时它才会起作用!
其他提示
正如PhiLho所指出的,Windows提供了一种通过注册表项 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Keyboard Layout
重新映射任何密钥的方法。可以在扫描代码映射器for Windows 中找到基本概述。更好的描述可能是扫描码映射的答案或更改关键值。
我正在使用这种方法将 Windows Key
放在 Caps Lock
上,因为我的键盘没有 Windows Key
我不需要 Caps Lock
。
我通过组合两个热键获得了不错的行为:
LControl & RAlt::Send {Alt}
RAlt::Alt
第一个用于独立按键(避免按住它...),第二个用作组合( Alt + F 等)。点击 它并不完美,你不能像 Ctrl + Alt + T 这样的组合,但也许它足以满足你的需求。
请注意,您可以使用注册表进行永久性重新映射。请参阅此论坛帖子举个例子。不确定它是否适用于像这样的复合键,但我想我应该提一下......
这对我有用:
LControl & *RAlt::Send {LAlt Down}
LControl & *RAlt Up::Send {LAlt Up}
这用于将其映射到Windows密钥:
LControl & *RAlt::Send {LWin Down}
LControl & *RAlt Up::Send {LWin Up}
使用SharpKeys进行注册表修改(见上文)更可靠(如果您有管理员权限)。
在AHK,你能做到:
LControl & RAlt::!
或者
<^>!::!
如果要全局映射此键并且无需为每次更改重新启动系统(但只需一次),则可能需要为此编写键盘过滤器驱动程序。查看此处。
Windows注册表编辑器版本5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Keyboard Layout] “Scancode Map”= hex:00,00,00,00,00,00,00,002,00,00,00,38,00,38,e0,00,00,00,00
- 将以上代码保存在reg文件 中
- 在注册表中合并
- 重新启动电脑
- 现在检查 醇>