如何交換減號和底線 Debian 11

如何交換減號和底線 Debian 11

我曾經使用過這裡建議的方法回答在 Ubuntu 16 上交換減號和底線,即:

xmodmap -e "keycode 20 = underscore minus underscore minus"

這在 Debian 11 上對我不起作用。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:    11
Codename:   bullseye

$ echo $XDG_CURRENT_DESKTOP
GNOME

這是鍵盤: 鍵盤

答案1

您在問題中提到的方法適用於 Ubuntu 20.04。

但是,您可以嘗試keysyms在命令中指定而不是“減號”和“下劃線”,嘗試是否有效:

xmodmap -e "keycode 20 = 0x5f 0x2d"

0x2d應該是“減號”的鍵符號並且0x5f應該是“下劃線”。您可以使用以下命令檢查您的系統上是否如此xev

指令中的第一個鍵符號告訴系統按下鍵碼 20 時要執行哪個鍵,第二個鍵符號告訴系統當同時按下鍵碼 20 和 Shift 時要執行什麼鍵。

答案2

選項1/usr/share/X11/xkb/symbols/:直接編輯您的版面配置檔案。例如,它是/usr/share/X11/xkb/symbols/us.搜尋,找到:
key <AE11> {[ minus, underscore, quotedbl, plusminus ]}; // - _ " ±
替換為:
key <AE11> {[ underscore, minus, quotedbl, plusminus ]}; // - _ " ±
登出,登入。

選項2:使用xkb
(根據unix.stackexchange 由 Pablo Saratxaga 回答)

  1. 使用以下命令建立檔案~/.xkb/keymap/mykbd
    setxkbmap -print > ~/.xkb/keymap/mykbd

  2. 建立一個包含內容的檔案~/.xkb/symbols/myswap(再次假設您需要編輯 AE11):
    hidden partial alphanumeric_keys
    xkb_symbols "swap_minus_undersco" {
    key <AE11> {[ underscore, minus, quotedbl, plusminus ]};
    };

  3. 編輯該~/.xkb/keymap/mykbd文件,然後更改行xkb_symbols以新增:
    +myswap(swap_minus_undersco)

  4. 加載它:
    xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY

相關內容