Вставьте символ 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.

Другие вопросы по тегам