Как заменить клавишу-модификатор символьной клавишей на X?

Я пытаюсь поменять left Windows кнопку left Windows с помощью | -key. Это очень хорошо работает на vterm, используя файл раскладки ключей, который делает именно это. Тем не менее, я не могу заставить это работать на X (пробовал на KDE, а также Mate – оба демонстрируют одинаковое поведение)

Использую ли я xmodmap или конфигурацию символа xkb, результат один и тот же: | клавиша перестает работать, и left Windows клавиша left Windows продолжает оставаться этой клавишей, но дополнительно также выдает < при нажатии.

С помощью xev я определил, что мой | -key имеет код 94 и моя left Windows -key имеет 133, поэтому я попробовал это:

 xmodmap -e "keycode 133 = less greater bar NoSymbol U0149 brokenbar U266A NoSymbol" xmodmap -e "keycode 94 = Super_L" 

Конфигурация символа xkb, которую я попробовал, выглядит следующим образом и имеет тот же эффект, что и описанный выше:

 partial alphanumeric_keys xkb_symbols "defoo" { include "de(basic)" name[Group1] = "German (foo)"; key  { [ less, greater, bar, NoSymbol, U0149, brokenbar, U266A, NoSymbol ] }; key  { [ Super_L ] }; }; 

Что теперь? Мне действительно нужно поменять эти ключи.

Изменить: я на Ubuntu 18.04

Edit: пробовал возиться с клавишами-модификаторами. xmodmap -pm говорит, что мои Супер ключи назначены для mod4, поэтому:

 xmodmap -e "clear mod4" 

Однако это никак не отразилось, то есть Windows-ключ действовал точно так же, как и раньше.

    One Solution collect form web for “Как заменить клавишу-модификатор символьной клавишей на X?”

    Как бы я ни хотел этого избежать, я в конечном итоге заменил ключи в файле кодов ключей на evdev, что дает желаемый эффект.

    Pro:

    • Работает прозрачно с любым макетом и приложением, так как изменяет коды событий для ключей

    Против:

    • Относится ко всем клавиатурам evdev
    • Изменения применены к системному файлу (могут прерваться позже)

    Diff:

     $ diff /usr/share/X11/xkb/keycodes/evdev{,.bak} 8c8 <  = 94; --- >  = 94; 74c74 <  = 133; --- >  = 133; 
    Linux и Unix - лучшая ОС в мире.