
我使用的是蘋果鍵盤,與其他鍵盤相比,它有一些麻煩。即,Alt_L 和 Super_L 鍵被交換,並且 bar 和 less 鍵被交換(「|」和「<」)。
我寫了一個 Xmodmap 檔案來交換密鑰:
keycode 49 = less greater less greater onehalf threequarters
keycode 64 = Super_L NoSymbol Super_L
keycode 94 = bar section bar section brokenbar paragraph
keycode 108 = Super_R NoSymbol Super_R
keycode 133 = Alt_L Meta_L Alt_L Meta_L
keycode 134 = Alt_R Meta_R Alt_R Meta_R
xev
我透過使用預設 modmap識別按鍵xmodmap -pke
並交換按鍵代碼來做到這一點。xev
現在可以識別我的所有密鑰都是正確的,這太棒了!我還可以使用正確的鍵來鍵入條形符號和小於符號。 (我在askubuntu上遵循了這個答案:https://askubuntu.com/q/24916/52719)
但看來改變並不是很深。例如,Compiz 設定管理員中的 Super 鍵現在已損壞。涉及 Super 鍵的快捷鍵不起作用(但 Alt 鍵起作用)。還有設定對話框侏儒做沒有註意到 xmodmap 中的更改,並且我無法打開侏儒做如果我使用任何重新映射的鍵,視窗就不再存在。
總而言之,一切都崩潰了。
我想要一種更深入的方式來告訴 Ubuntu(或任何其他 Linux 發行版)鍵盤上的哪個按鍵。有沒有辦法直接編輯鍵盤佈局?我正在使用挪威博克馬爾語鍵盤佈局。它是否駐留在我可以編輯的文件中?
任何評論、先前的經驗或相關的零星想法將不勝感激 -
謝謝
答案1
經過幾個小時的嘗試,我終於成功了。我找到了將 evdev 掃描碼轉換為 X11 下的 xfree86 鍵碼的文件,即/usr/share/X11/xkb/keycodes/evdev
.我以 root 身分開啟該文件,並使用預設的 xmodmap 設定作為參考移動關鍵程式碼 ( xmodmap -pke
)。我的最終編輯非常簡單:
<LSGT> = 49; // This was 94
<TLDE> = 94; // This was 49
<LWIN> = 64; // This was 133
<LALT> = 133; // This was 64
<RWIN> = 108; // This was 134
<RALT> = 134; // This was 108