Как поменять местами минус и подчеркивание в 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должно быть keysym для "минуса" и 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 ответ Пабло Сарачаги)

  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

Связанный контент