Когда я печатаю на встроенной клавиатуре моего ноутбука MSI GS75 Stealth 9SF, кажется, что отображение клавиши backslash
(\|
) и клавиши Right alt
меняются местами.
Эта проблема сохраняется независимо от того, какую раскладку клавиатуры или язык я выберу.
Вот что выводит xev
, когда я нажимаю вправо Alt:
keycode 94 (keysym 0x5c, backslash)
XKeysymToKeycode returns keycode: 51
XLookupString gives 1 bytes: (5c) "\"
И это результат моего нажатия на клавишу обратной косой черты:
keycode 108 (keysym 0xfe03, ISO_Level3_Shift)
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
Когда Я использую внешнюю клавиатуру USB, все работает правильно, как и ожидалось, поэтому кажется, что производитель клавиатуры SteelSeries испортил коды клавиш? Сначала я так и думал, но потом понял, что на Windows он работает правильно.
А вот изображение раскладки клавиатуры из обзора LaptopMag :
Это те две клавиши, которые находятся на правой стороне пробела.
На моем ноутбуке MSI в настройках BIOS/UEFI на вкладке «Дополнительно» есть опция «перестановка клавиш обратной косой черты/альт». Вы должны иметь его на «Отключено».
Я пробовал это на своем ноутбуке с помощью клавиши Right Alt, которая для меня также является кодом 108 ..
Из ваших результатов я понял, что
ваша правая клавиша Alt с кодом 108 имеет модификатор ISO_Level3_Shift
, вы можете проверить это, чтобы подтвердить, просто запустив xmodmap
Exmaple:
pratap@pratap:~$ xmodmap
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)
pratap@pratap:~$
Это означает, что когда вы комбинируете правый Alt с Shift, он должен печатать 4th keysym
Таким образом, перед запуском
xmodmap -e "keycode 108 = backslash bar"
вам необходимо удалить модификатор из Right Alt, чтобы удалить модификатор из Right Alt, лучше всего использовать gnome-tweaks
или gsettings
gsettings:
gsettings get org.gnome.desktop.input-sources xkb-options
, чтобы установить значение none, выполните команду ниже. [Будьте осторожны, если вы получили несколько вариантов из приведенной выше команды]
gsettings set org.gnome.desktop.input-sources xkb-options "[]"
Попробуйте выбрать раскладку клавиатуры "Польская (устаревшая)", у меня это сработало