Debian
重新分配 Ctrl 和 Alt 鍵 - xmodmap ‘BadValue’ 錯誤
我正在嘗試重新映射我的鍵盤以使 emacs 可用。我的人體工學鍵盤將其單個控制鍵放在左側的一個孤立的 4 鍵島中。
作業系統是 Debian 擠壓。
以下是我嘗試輸入的行
xmodmap
,我將它們放入文件 ~/.Xmodmap:清除控制 清除 Mod1 !Alt 鍵在我的鍵盤上標有“選項”, !使用 xev 顯示它們分別發送 Alt_L 和 Alt_R 鍵符 鍵符 Alt_L = Control_L 鍵符 Alt_R = Control_R !Super_L 和 Super_R 鍵是 Windows 鍵 鍵符 Super_L = Alt_L 鍵符 Super_R = Alt_R 添加控制 = Control_L Control_R 添加 Mod1 = Alt_L Alt_R
我的目標是讓我的 Option(又名
Alt
)鍵表現得像 Control 鍵,並讓我的 Windows(又名 Super)鍵表現得像Alt
.以下是 xev 為相關鍵輸出的鍵碼和鍵消息。請注意,我的鍵盤(Goldtouch 人體工學鍵盤)只有一個控制鍵。
鍵碼 37 (keysym 0xffe3, Control_L) 鍵碼 64 (keysym 0xffe9, Alt_L) 鍵碼 133 (keysym 0xffeb, Super_L) 鍵碼 134 (keysym 0xffec, Super_R) 鍵碼 108 (keysym 0xffea, Alt_R)
這是 xev 在執行時顯示的內容
xmodmap .Xmodmap
MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 204,count 1 MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 64,count 1 MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 108,count 1 MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 206,count 1 MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 133,count 1 MappingNotify 事件,序列號 34,合成 NO,視窗 0x0, 請求 MappingKeyboard,first_keycode 134,count 1
這是返回的錯誤
xmodmap
:X Error of failed request: BadValue (integer parameter out of range for operation) 失敗請求的主要操作碼:118 (X_SetModifierMapping) 失敗請求中的值:0x17 失敗請求的序列號:17 輸出流中的目前序列號:17
關於如何解決這個問題的任何建議?
這已經被報告為Debian 錯誤 #564327、Debian 錯誤 #565279、Ubuntu 錯誤 #524774和FreeDesktop 錯誤 20145。FreeDesktop 錯誤討論附帶了一個原始碼更新檔。Ubuntu 錯誤討論中有幾個解決方法建議,特別是一種
.Xmodmap
解決方法。
查看 Giles 連結的解決方法,這對我有用:
clear Mod1 clear Mod4 keycode 204 = NoSymbol NoSymbol NoSymbol NoSymbol keycode 206 = NoSymbol NoSymbol NoSymbol NoSymbol keycode 64 = Control_L Control_L Control_L Control_L keycode 133 = Alt_L Alt_L Alt_L Alt_L keycode 134 = Alt_R Alt_R Alt_R Alt_R keycode 108 = Control_R Control_R Control_R Control_R add Control = Control_L Control_R add Mod1 = Alt_L Alt_R
我的 Option 鍵現在像 Control 鍵一樣起作用,而我的 Windows 鍵像 Alt 鍵一樣起作用。