Клавиатура, которую я пытаюсь создать, имеет много Unicode и выглядит так:
Быть неудачным со следующим учебником:
- https://help.ubuntu.com/community/Howto%3A%20Custom%20keyboard%20layout%20definitions
(в учебнике есть несколько ошибок, и он использует неточный язык, такой как "Cutting" вещи вместо "Deleting" их и странно отформатирован)
Мне было интересно, если кто-нибудь так любезно предоставит лучший учебник с пошаговыми инструкциями?
keyboard-layout
Акива
источник
источник
Ответы:
В Ubuntu 14.04 раскладки клавиатуры хранятся в
/usr/share/X11/xkb/symbols/
Каждый из файлов в этом каталоге содержит ряд записей следующего типа:
Эта запись отображает клавишу на клавиатуре в число определенных символов, используя следующие соглашения:
< C01> Первая буква указывает на то мы смотрим на буквенно - цифровом блоке ключа (другие варианты включают в себя и );
A
KP [for keypad]
FK [for Function Key]
<A C 01> Вторая буква
C
обозначает строку, начиная с нижней части, в которой находится ключ. (В стандартной клавиатуре США пробел стоит в ряду,AA
а цифровые клавиши - в рядуAE
).<AC 01 > Цифры
01
указывают положение клавиши, считая слева и игнорируя любую специально названную клавишу, например TABили ~(тильда):AC01
находится в третьей строке вверх, первая клавиша слева (игнорируя Caps Lock, если присутствует); на стандартной клавиатуре США эта клавиша помечена буквой «а».Скобки заключают список символов, назначенных для каждой клавиши. Содержит до четырех записей, разделенных запятыми:
Создать пользовательскую карту клавиатуры так же просто, как заменить символы, которые вам не нужны в данной строке, теми, которые вы делаете!
Например:
В англо-Saxonist, я печатаю
á
иÁ
гораздо реже , чем я типаæ
иÆ
.Чтобы добавить англосаксонские символы в мой список, я просто заменяю
aacute
иAacute
именами сущностей или кодовыми точками Unicode дляæ
иÆ
(«aelig» или U00E6 и «AElig» или U00C6 соответственно):или
Когда я закончу изменять раскладку клавиатуры, я сохраню файл с новым именем «oe» в том же каталоге.
Добавление новой раскладки клавиатуры в
evdev.xml
файл.Чтобы использовать новую раскладку клавиатуры, нужно сказать,
X11
что она существует. В Ubuntu 14.04X11
отслеживает установленные клавиатуры в/usr/share/X11/xkb/rules/evdev.xml
файле. Затем давайте добавим новый макет в нем.X11/xkb/rules/evdev.xml
в редактореПерейти в конец
<layoutList>
раздела (поиск</layoutList>
). Добавьте следующее после последнего</layout>
тега, гдеX
находится имя файла вашей раскладки клавиатуры/usr/share/X11/xkb/symbols
(в моем случаеoe
);Y
подходящее короткое имя; иZ
соответствующее длинное имя в одном или нескольких языках иaaa
в правовой три буквы (ISO 639-2) код языка (например , рус на английском языке):Вот оно, следуйте за полным введением
Другие ссылки по теме:
http://ubuntuforums.org/showthread.php?t=188761&p=1092145#post1092145 http://www.charvolant.org/~doug/xkb/html/index.html
источник
Примечание : Wayland использует xkb, но многие xTools перестали работать должным образом (например, xdotool)
Примечание : это не исчерпывающий учебник. Это наиболее полезно для человека, желающего создать новый восьмиуровневый макет и понять синтаксис.
Примечание: быстрое и грязное решение предоставляется. Он включает электронную таблицу, которая автоматически генерирует необходимый вам код.
Понимание каталога XKB
Важно, если вы хотите настроить клавиши-модификаторы.
Важно, если вы разрабатываете нестандартную часть клавиатуры.
Вам нужно будет определить это
Пример: Клавиатуры Macintosh понимают пробел как
57
. Мы пишем это как<SPCE>
Здесь мы определим наш пользовательский макет.
Внутреннее поведение модификаторов (Shift, Control, Alt ...)
Workflow
keycodes > symbols > compat
Я только касаюсь
symbols
: см. Ниже для быстрого и грязного решения.Карты символов
/symbols/us Любой файл в этом каталоге имеет ту же структуру.
partial - Не полная карта клавиатуры
alphanumeric_keysРаздел клавиатуры отображается. Можно использовать несколько символов.
Примечание. Если значение не
*_keys
указано, предполагается полная клавиатура."basic" - Название карты символов
name[Group1]= "US/ASCII";Дает уникальное имя этой группе клавиш.
modifier_mapДля редактирования клавиш-модификаторов . (Ctrl, Shift, Alt ~)
Shift { Shift_L, Shift_R };Обычно не требуется. Он отображает оба сдвига в модификатор сдвига, он же уровень 2.
key <TLDE> Клавиша тильды - обычно верхняя левая клавиша справа над вкладкой
key <AE01> Иллюстрация - состоит из трех частей,AE01
A= буквенно-цифровой блок клавиш.
KP= Клавиатура
FK= функциональная клавиша
E= Строка на клавиатуре.
Space Key= Aряд
Shift Key= Bряд
Caps Lock= Cряд
Tab Key= Dряд
01= Положение ключа в ряду.
AE01= 1
AB02= X
AC05=G
[+ ]- на языках Си; Квадратные скобки обозначают список, по которому элементы делятся на ,. Длина списка определяет количество уровней. Например:
Обычно Уровни обозначают следующее нажатие клавиши:
Короче говоря, если вы хотите отобразить ключ на shift + altgr, ваш список должен содержать не менее четырех элементов.
ВНИМАНИЕ - Распространенные ошибки
Любая из этих строк вызовет критическую ошибку и оставит вас без удобной клавиатуры:
Backspace
должно бытьBackSpace
: Обратите особое внимание на орфографию.VoidSymbol
.Лучшая мера безопасности!
Сделайте резервную копию вашего файла, который вы редактируете:
sudo /bin/cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/usBACKUP
Сделайте скрипт, который вы можете запустить без пароля root
Что-то типа:
Если что-то пойдет не так, используйте вашу мышь для запуска этой строки кода (содержится в скрипте bash, на который вы дали разрешение sudoers. Не забудьте
chmod +x
разрешить запуск в качестве исполняемого файла).Стратегии резервного копирования для восстановления сломанной системы
return
(нажав Enter), вставив перевод строки.Быстрое и грязное решение
(
!
становитсяU0021
). Юникод поддерживается!VoidSymbol
.sudo vim /usr/share/X11/xkb/symbols/us
Линии интереса:
источник