Перемешивание "Alt"/"windows"/"Alt Gr" только на USB-клавиатуре (и, возможно, не на клавиатуре ноутбука)

Перемешивание "Alt"/"windows"/"Alt Gr" только на USB-клавиатуре (и, возможно, не на клавиатуре ноутбука)

Из-за досадного недоразумения при прочтении этикетки я заказал и получилКлавиатура Das 4...для Мака. Что было бы неплохо, если бы я не использовал рабочий стол KDE Neon (это специфичная для KDE марка Ubuntu Bionic).

В целом, это не сильно меняет ситуацию, потому что макетпочтиидентична стандартной раскладке США моего ThinkPad. Однако есть одно крошечное отличие: они поменяли местами Alt Grклавиши и Super. Если быть точным, вот клавиатуры рядом друг с другом.

Обе клавиатуры рядом с отображением клавиш

Красная стрелка показывает, что происходит, когда я нажимаю что-то на клавиатуре Das. Есть несколько проблем, но моя главная претензия в том, что cmdсправа от пробела есть клавиша, и мне действительно нужно, чтобы эта клавиша была моей, Alt Grпотому что я ее используюмногодля международных персонажей.

Попробовав клавиатуру с xev, я получил следующие события:

#############################
#### 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

На данный момент я рассматриваю:

  • Создание новой раскладки клавиатуры, но это кажется сложным, поскольку клавиши-модификаторы на самом деле не являются частью самой раскладки клавиатуры
  • Я запустил, setxkbmap -option altwin:swap_alt_winи, похоже, изменил ключи, xevно теперь ни один ключ не действует как Alt Grнадо.

В качестве бонуса, если бы кто-то помог мне найти решение, которое разделяет раскладку клавиатуры ноутбука и USB-клавиатуры, это было бы здорово. Вот что xinputмне подсказывает:

⎡ 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)]

Любая помощь в доработке этого решения будет очень кстати!

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