
使用 xmodmap 重新映射鍵盤後,我遇到了一些問題:應用後 2-20 分鐘設定會隨機重置。 Google搜尋但沒有幫助:有些東西重置了它們,但所有提到的內容都適用於 xfce,而我使用的是通常的 14.04 Ubuntu with unity。
我看到類似“使用 xkb,忘記 xmodmap”之類的短語,但我仍然不知道該怎麼做。它要么是機密,要么非常複雜,因為相關資訊量明顯小於 xmodmap 方式。
這是我的定制清單:
xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"
其中鍵碼是小鍵盤上的對應鍵,numlock = off(基本上,我將 KP_Del 替換為刪除,KP_Home 替換為 Home 等 - 不要問為什麼))
有人可以幫助找到使用 xkb 來做到這一點的方法 - 至少其中一行嗎?在哪裡可以找到其他鍵的“名稱”,以便我可以通過示例完成其餘的操作?
答案1
您可以遵循中看到的整體思路我對類似問題的回答;如果你仍然想要佈局切換(儘管還是很破) 你應該定義新的佈局或變體。
請注意,用於編輯鍵盤的複製和修改模板有點難以找到。例如,在我的鍵盤中,幾何形狀是“pc105”;這是在 中定義的/usr/share/X11/xkb/symbols/pc
。如果你仔細觀察的話,它包括:
[...]
key <SPCE> { [ space ] };
include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"
key <BKSP> { [ BackSpace, BackSpace ] };
[...]
鍵盤在檔案中定義/usr/share/X11/xkb/symbols/keypad
[...]
default partial hidden keypad_keys
xkb_symbols "x11" {
include "keypad(operators)"
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
[...]
對於按鍵符號(keysims)的名稱,最好的查找位置是在文件中/usr/include/X11/keysymdef.h
;您可能需要安裝開發包才能使用它(或透過 instaling 安裝它x11proto-core-dev
):
[...]
/* Cursor control & motion */
#define XK_Home 0xff50
#define XK_Left 0xff51 /* Move left, left arrow */
#define XK_Up 0xff52 /* Move up, up arrow */
[...]
鍵符號名稱是您曾經刪除“XK_”字串的名稱。