Xorg

AltGr 鍵不適用於 VirtualBox 中的 Ubuntu

  • August 19, 2014

我剛剛在 Windows 7 中安裝了 VirtualBox(來自 Oracle),並使用最新的 Ubuntu 創建了一個虛擬機。

在 Firefox 中,我可以使用左邊的 Ctrl 鍵,而右邊的沒有任何效果。但是,我不能使用 AltGr 鍵(也稱為 Right Alt)來生成像 {} 這樣的花括號(我通過 Ctrl V 粘貼了它)。

在終端視窗中,我可以將“輸入法”切換到“Multipress”,然後我可以使用 AltGr 輸入例如 {},這就是我為這篇文章生成這些字元的方式。但是,使用“Multipress”時,Ctrl 鍵似乎沒有任何作用。因此,為了例如鍵入 Ctrl DI 必須右鍵點擊並將“輸入法”切換到“系統(IBus(智能輸入匯流排))”。然後 AltGr 不起作用。

我嘗試在系統設置鍵盤佈局中指定撰寫鍵。

這樣,Ctrl 和 AltGr 都不起作用。

這是 xmodmap 報告的內容:

[~]
$ xmodmap -pke | grep -i 控制
鍵碼 37 = Control_L NoSymbol Control_L
鍵碼 105 = Control_R NoSymbol Control_R
[~]
$ xmodmap -pke | grep -i alt
鍵碼 64 = Alt_L Meta_L Alt_L Meta_L
鍵碼 204 = NoSymbol Alt_L NoSymbol Alt_L
[~]
$ _

我怎樣才能解決這個問題?

附加資訊:鍵盤是標準 PC 鍵盤,Logitech K120,採用挪威語佈局。

另外,我首先嘗試在超級使用者網站上問這個問題,但 2 天后沒有回應……

執行命令xev。在 xev 視窗中,按AltGr鍵。你會看到類似的東西

KeyPress event, serial 29, synthetic NO, window 0x6400001,
   root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
   state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
   XLookupString gives 0 bytes: 
   XmbLookupString gives 0 bytes: 
   XFilterEvent returns: False

注意鍵碼;由於關鍵沒有做你想做的事,你會看到別的東西(可能Alt_R)而不是Mode_switch. 您想將此鍵碼分配給Mode_switch,這是 X11 對 AltGr 的名稱。將以下命令放入主目錄中名為.Xmodmap(注意大寫X)的文件中:

keycode 66 = Mode_switch

此外,您可能需要為 分配一個修飾符Mode_switch,但如果發生的只是鍵碼差異,那麼已經存在一個。有關詳細資訊,請參閱設置西班牙語 eñe 字母的鍵

執行xmodmap ~/.Xmodmap以測試您的文件。在包括 Ubuntu 10.04 在內的許多系統上,此文件會在預設 Gnome 環境中自動載入。xmodmap ~/.Xmodmap在其他發行版或環境中,您可能需要在登錄時明確指出要執行。

引用自:https://unix.stackexchange.com/questions/24460