我想我的AltGr键行为完全像左Alt 。
通常,我使用Autohotkey来做这种事情,但是我对不同的解决scheme是开放的。
我试过这个:
LControl & RAlt::Alt
和Autohotkey显示错误关于Alt
不被识别的动作。
然后我尝试了下面的代码:
LControl & RAlt:: Send {Alt down} KeyWait LCtrl KeyWait Ralt Send {Alt up} return
哪种工作 – 我能够使用AltGr键来访问热键,但它仍然有不同的performance:
当我按下并释放左侧的Alt时 ,当前程序中的第一个菜单项将获得焦点。
用这个脚本按下并释放AltGr什么也不做。
有任何想法吗? 这甚至可以用Autohotkey? (重新右键Ctrl和Shift到左边的兄弟姐妹是小菜一碟)
注意:我试着在代码LAlt
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
或者,有一个图形用户界面工具可以帮助你 – 这就是所谓的SharpKeys ,它的功能非常强大 :
哦,不要忘记重新启动或注销 – 直到那时才会起作用!
正如PhiLho指出的那样,Windows提供了一种通过注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
重新映射任意键的方法。 Scan Code Mapper 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,00,02,00,00,00,38,00,38,e0 ,00,00,00,00