
所以,我試著將Alt-映射A到右箭頭。我遵循描述的“xev 和 xmodmap”方法這裡並想出了這個:
xmodmap -e "keycode 38 mod1 = Right"
這悲慘地失敗了:當我按Alt-時A,C
會印出來。如果我簡單地按A,遊標確實會移動到右側。
xmodmap -pm
mod1 的輸出為:
mod1 Alt_L (0x40), Meta_L (0xcd)
我究竟做錯了什麼?
答案1
正如手冊頁所說,或xmodmap -pke
將顯示:
鍵碼 NUMBER = KEYSYMNAME ...
鍵符清單被指派給指定的鍵碼(可以以十進位、十六進位或八進位指定,並且可以透過執行 xev 程式來確定)。一個鍵最多可以附加八個鍵符,但是最後四個鍵符不用於任何主要的 X 伺服器實作。當沒有修飾鍵與此鍵一起按下時,使用第一個鍵符號;第二個鍵符號與Shift 鍵一起按下;當Mode_switch 鍵與此鍵一起使用時,請使用第三個鍵符號;當同時使用Mode_switch 和Shift 鍵時,使用第四個鍵符號。
這意味著
keycode 38 mod1 = ...
是非法語法。
此外,使用 時xkbd
,可以有四個以上的鍵符號,並且附加鍵符號的行為按指定進行。例如,當level3(ralt_switch)
xkb-option 處於活動狀態(這是我的發行版上的預設設定)時,右側 alt 鍵將映射到,第 5 個到第 8 個鍵符號描述了另外按下ISO3_Level_Shift
時的結果。RAlt所以在這種情況下,你可以做類似的事情
keycode 38 = a A a A Right Right Right Right
或類似的東西,取決於你想要ShiftAltA生產什麼等。