如何使用 xev 和 ALT-R 或 ALT-L 重新映射鍵盤按鍵

如何使用 xev 和 ALT-R 或 ALT-L 重新映射鍵盤按鍵

我仍然是 Linux 的新手,但有一點讓我覺得非常煩人:無論我做什麼,我的鍵盤都沒有我想要的佈局。我嘗試了很多解決方案,但我使用法語加拿大 (FC) 鍵盤,而且 Linux FC 佈局與 Windows 不同,因此在任何地方擁有相同的解決方案對我來說將是一大優勢。

這是我嘗試過的。

首先,我輸入:

xev

然後我按了“z”鍵,因為這是我要修改的鍵。基本上,我希望“z”鍵繼續正常工作,但如果我單擊右側的 ALT 鍵,我希望顯示:“«”(guillemotleft)

KeyRelease event, serial 37, synthetic NO, window 0x5c00001,
root 0x526, subw 0x0, time 4040472, (-215,198), root:(536,634),
state 0x10, keycode 52 (keysym 0x7a, z), same_screen YES,
XLookupString gives 1 bytes: (7a) "z"
XFilterEvent returns: False

所以,好的,關鍵是數字 52。

然後我寫:

xmodmap-pm

這是它顯示的內容:

  xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

所以,基本上,我認為我的 ALT 右鍵是 ISO_Level3_Shift (0x5c)。我現在需要的是找到一種方法讓它工作,這樣如果我用 'z' 鍵單擊 ALT-Right 鍵,我會得到一個 '«'。這就是我被困的地方。

我嘗試了很多事情,包括諸如

xmodmap -e "keycode 52 mod5 = guillemotleft z"

但沒有成功。在某些時候,我能夠得到一個“«”,但隨後“z”就不再起作用了。

我該怎麼做才能讓它發揮作用?在不修改 z Z 設定的情況下修改 mod5 的命令是什麼,或者更重要的是,我如何按右 ALT 鍵 + z 並獲得“«”?

謝謝

答案1

xmodmap正在逐漸過時,並且無法在運行 Wayland 的 Ubuntu 中運行。另一方面,直接編輯鍵盤佈局文件相當複雜。

相反,您可能想嘗試鍵盤佈局“法語(加拿大,舊版)”,其中z 和x 上有«AltGr 組合。»

相關內容