Вставьте символ Unicode с помощью сочетания клавиш, xmodmap Chooser не работает
Я пытаюсь создать раскладку клавиатуры для вставки символа Юникод через клавиатуру. Похоже, что xmodmap, возможно, лучший вариант, но я не могу понять, как получить персонажа третьего уровня.
Мой селектор третьего уровня сопоставлен с ключом Right-Win, и это работает для таких персонажей, как EuroSign. Я использовал этот ключ в качестве шаблона. xmodmap -pk
показывает это для EuroSign
26 0x0065 (e) 0x0045 (E) 0x0065 (e) 0x0045 (E) 0x20ac (EuroSign) 0x0000 (NoSymbol) 0x20ac (EuroSign) 0x20ac (EuroSign)
Поэтому я настроил запятую, чтобы попытаться сопоставить это
keycode 59 = comma less comma semicolon UFF62 UFF62 UFF62 UFF62
Но это не работает, несмотря на xmodmap -pk
сообщая аналогичный результат как EuroSign
59 0x002c (comma) 0x003c (less) 0x002c (comma) 0x003b (semicolon) 0x100ff62 (UFF62) 0x100ff62 (UFF62) 0x100ff62 (UFF62) 0x100ff62 (UFF62)
Обратите внимание, что если я поставлю UFF62
в качестве первой записи я могу успешно заменить саму запятую. Это подтверждает, по крайней мере, что я изменил правильный файл и символ действителен.
Как я могу получить свой Unicode-персонаж, назначенный на третий уровень?
ОБНОВЛЕНИЕ: Это, кажется, только не работает, если у меня есть общая клавиатура США. Когда я переключаюсь на свою немецкую раскладку, назначенные клавиши работают. Есть ли что-то, что я должен сделать, чтобы включить третий уровень на раскладке клавиатуры?
Обратите внимание, мой вариант использования - просто получить ключ, сопоставленный с символом. Я также попробовал xbindkeys с xvkbd, но не смог заставить его правильно вставить символы юникода. Я также попробовал xdotool, но у него, похоже, были проблемы с юникод-символами.
1 ответ
Этот вопрос действительно старый, и единственная причина, по которой я здесь, - это поисковый запрос в Интернете, который привел меня к некоторым собственным корреляциям и исследованиям, поэтому я буду кратким в своем ответе.
Я читал это в Arch Wiki, и, кажется, есть известная проблема. По-видимому, существует некоторая несовместимость в отношении раскладки клавиатуры США и 3-го уровня. Единственный способ использовать 3-й уровень, по-видимому, заключается в использовании международного макета США, который можно сделать, набрав setxkbmap -layout 'us(intl)'
в Терминале или постоянной настройке через файлы конфигурации Xorg.
Это было написано в интересах всех, кто ищет тот же ответ. Надеюсь, что это поможет этим в будущем. Если это не отвечает на ваш вопрос, ответ может быть в настройках Xorg.