When I type on the built-in keyboard of my MSI laptop GS75 Stealth 9SF, it seems that the mapping of the backslash
key (\|
) and the Right alt
key are swapped.
This issue persists no matter what keyboard layout or language I choose.
Here is what xev
outputs when I push right Alt:
keycode 94 (keysym 0x5c, backslash)
XKeysymToKeycode returns keycode: 51
XLookupString gives 1 bytes: (5c) "\"
And this is the output of me pushing the backslash key:
keycode 108 (keysym 0xfe03, ISO_Level3_Shift)
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
When I use external USB keyboard, all works properly as expected, so it seems like the SteelSeries keyboard manufacturer messed up key codes? That's what I've thought at first, but then I've realised that it works properly on Windows.
And here is an image of the keyboard layout from LaptopMag's review:
(source: purch.com)
It's those two keys that are on the right side of the spacebar.
On my MSI laptop there's a "backslash/alt key swap" option on the BIOS/UEFI setup under the "Advanced" tab. You should have it on "Disabled".
I have tried it in my laptop with Right Alt key, which is also 108 keycode for me..
The point I understood from your output is, your Right Alt key with keycode 108 is having modifier
ISO_Level3_Shift
you can check this to confirm by running simplyxmodmap
Exmaple:
This means when you combine Right Alt with Shift it should print 4th keysym
So you need to remove the modifier from Right Alt before running
To remove the modifier from Right Alt, the best way is to use either
gnome-tweaks
orgsettings
Gnome-Tweaks:
gsettings:
to set the value to none run below command. [Be careful if you get multiple options from above command]
Try selecting for "Polish(legacy)" keyboard layout it worked for me