Я пытаюсь создать раскладку клавиатуры для вставки символа юникода через клавиатуру. Похоже, что 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, но у него, похоже, были проблемы с символами юникода.
Этот вопрос действительно стар, и единственная причина, которая я здесь, из-за запроса критерия поиска онлайн, который привел меня в часть моей собственной корреляции и исследования, таким образом, я буду краток в своем ответе.
Я считал его на Дуге Wiki, и, кажется, существует известная проблема. По-видимому, существует некоторая несовместимость относительно американских раскладок клавиатуры и 3-го Уровня. Единственный способ использовать 3-й уровень, кажется, при помощи Международного американского расположения, которое может сделанным путем ввода setxkbmap -layout 'us(intl)'
в Терминале или установке его постоянно через конфигурационные файлы Xorg.
Это было записано в интересах кого-либо еще ищущего тот же ответ. Надежда это помогает тем, которые в будущем. Если это не отвечает на Ваш вопрос, ответ может быть в рамках настроек Xorg.