2008-10-23 177 views
29

我想我的AltGr鍵的行爲完全像左Alt
通常,我會用Autohotkey來做這類東西,但我對不同的解決方案持開放態度。如何將AltGr鍵全局映射到Alt鍵?

我嘗試這樣做:

LControl & RAlt::Alt 

而且AutoHotkey的顯示有關Alt不被認可的動作錯誤。
然後我嘗試下面的代碼:

LControl & RAlt:: 
    Send {Alt down} 
    KeyWait LCtrl 
    KeyWait Ralt 
    Send {Alt up} 
return 

哪種類型的作品 - 我能夠使用的AltGr鍵訪問熱鍵,但它仍然表現不同:當我按下並釋放
Alt,當前程序中的第一個菜單項收到焦點。
按下並釋放AltGr此腳本不做任何事情。

任何想法?這甚至有可能與Autohotkey? (重映射右Ctrl鍵左手兄弟姐妹是一塊蛋糕)


注:我試圖在代碼轉換 AltLAlt並沒有什麼區別。

回答

31

謝謝大家的回答。我無法使用AutoHotkey解決此問題 - PhilLho的答案很接近,但我確實需要與左側Alt鍵相同的行爲。

但是,registry thing實際上按我的需要工作。

保存爲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和工程桃色:
SharpKeys in action

哦,不要忘記重新啓動或註銷 - 直到那時纔會起作用!

+3

這個答案是錯誤的:SharpKeys不支持Alt Gr。 (https://sharpkeys.codeplex.com/workitem/10375) – Nye 2015-01-03 20:16:50

0

在AHK,你可以這樣做:

LControl & RAlt::! 

或者

<^>!::! 
+0

對不起,但它不適用於我。 第一個示例返回「not recognized action」錯誤,第二個示例完全不起作用。 當然,我的設置可能有問題。它在你身邊工作嗎? – 2008-10-23 14:36:16

+0

我沒有鑰匙,但在AHK文檔中看到這表明,<^>!是AltGr的符號。 右鍵單擊TrayIcon - >幫助 - >熱鍵 – 2008-10-24 15:07:38

3

我通過合併兩個熱鍵得到一個體面的行爲:

LControl & RAlt::Send {Alt} 
RAlt::Alt 

第一種是獨立按鍵(避免壓住...),第二個用作組合(Alt + F等)。
它不是完美的,你不能做一個組合,就像按Ctrl + Alt鍵+牛逼,但也許這是足以讓你的需求。

請注意,您可以使用註冊表進行永久重映射。一個例子見this forum post。不知道它適用於像這樣的複合鍵,但我想我應該提到它...

4

正如PhiLho指出的那樣,Windows提供了一種通過註冊表鍵HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout重新映射任何鍵的方法。基本概述可在Scan Code Mapper for Windows找到。更好的描述可能是Answers to Scancode Mapping or Changing Key Values

我用這種方法提上Caps LockWindows Key,因爲我的鍵盤沒有Windows Key,我不需要Caps Lock

+1

因爲我不應該將軟件添加到我的工作機器中,所以這非常有用。我使用Scan Code Mapper for Windows鏈接將Caps映射到Ctrl,然後在[「它是否值得交換Ctrl和Caps ...」]之前在現成的reg文件中找到腳本(http://stackoverflow.com/questions/127973 /是,它價值,交換的Ctrl和大寫鎖定換窗戶用戶,也就是說,不要使用-emacs的)。 – sage 2011-01-03 22:10:08

2

這爲我工作:

LControl & *RAlt::Send {LAlt Down} 
LControl & *RAlt Up::Send {LAlt Up} 

而這對於其映射到Windows鍵:

LControl & *RAlt::Send {LWin Down} 
LControl & *RAlt Up::Send {LWin Up} 

使用SharpKeys(見上文)是更可靠的,但(如果你有管理員修改註冊表訪問)。

0

如果您想在全局映射此密鑰並且無需爲每次更改(但一次)都重新啓動系統,則可能需要爲此編寫一個鍵盤過濾器驅動程序。看看here

-2

Windows註冊表編輯器5.00版

[HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \控制\鍵盤佈局] 「掃描碼圖」=十六進制:00,00,00,00,00,00,00,00,02 ,00,00,00,38,00,38,e0,00,00,00,00

  1. 保存在reg文件上面的代碼
  2. 合併它在註冊表
  3. 重新啓動電腦
  4. 現在檢查