Due to unfortunate misunderstanding in the label reading, I have ordered and received a Das Keyboard 4... for Mac. Which would have been nice if I didn't use a KDE Neon desktop (which is a KDE-specific brand of Ubuntu Bionic).
All in all it doesn't change much because the layout is almost identical to the standard US layout my ThinkPad has. However, there is one tiny difference: they switched the Alt Gr and Super keys. To be precise, here are the keyboards next one to each other.
The red arrow shows what happens when I click something on the Das Keyboard. There is several issues but my main beef is that there is a cmd key on the right of the space bar and I really need that key to be my Alt Gr because I use it a lot for international characters.
After trying the keyboard with xev
, I received the following events:
#############################
#### alt option (left) ####
#############################
KeyPress event, serial 40, synthetic NO, window 0xc400001,
root 0x1a0, subw 0x0, time 360620584, (875,245), root:(2795,282),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
##################
### cmd (left) ###
##################
KeyPress event, serial 40, synthetic NO, window 0xc400001,
root 0x1a0, subw 0x0, time 360669131, (1346,776), root:(3266,813),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
###################
### cmd (right) ###
###################
KeyPress event, serial 40, synthetic NO, window 0xc400001,
root 0x1a0, subw 0x0, time 360701716, (635,185), root:(2555,222),
state 0x10, keycode 134 (keysym 0xffec, Super_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
##########################
### alt option (right) ###
##########################
KeyPress event, serial 42, synthetic NO, window 0xc400001,
root 0x1a0, subw 0x0, time 360746058, (705,144), root:(2625,181),
state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
So far I've been looking into:
- Creating a new keymap, but it seems complicated because the modifier keys are not really part of the keymap itself
- I've ran
setxkbmap -option altwin:swap_alt_win
which seems to have changed the keys inxev
but now there is no key acting as Alt Gr at all
As a bonus, if someone could help me find a solution that separates the layout of the laptop's keyboard from the USB keyboard, that would be fantastic. Here is what xinput
tells me:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 Elan TrackPoint id=12 [slave pointer (2)]
⎜ ↳ Logitech MX Vertical id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)]
↳ Metadot - Das Keyboard Das Keyboard id=14 [slave keyboard (3)]
↳ Metadot - Das Keyboard Das Keyboard id=15 [slave keyboard (3)]
↳ Logitech MX Vertical id=17 [slave keyboard (3)]
Any help on getting this tweaked is super welcome!