Хотелось бы создать собственную раскладку клавиатуры (указав символы для каждой клавиши, вводимой в случае нажатия одной, с Shift или AltGr) и настроить ее среди всех других раскладок в моем XUbuntu 11.04 система. Как это сделать?
Ubuntu 10.10
Я использую локальную клавиатуру с американской и тайской раскладкой.
Макет us
подходит для меня, но мне нравится иметь некоторые дополнительные немецкие символы, такие как äöü ÄÖÜ
. Это легко реализовать с помощью xmodmap
, но если вы переключитесь на второй макет, вы увидите некоторые странные результаты. [ 1134]
Я нашел хорошее решение: создайте и используйте свою собственную клавиатуру!
/usr/share/X11/xkb/symbols/
выберите ближайший вариант, в моем случае us
, и сохраните его под новым именем: us-de
удалите все, что вам не нужно, и измените все, что захотите. Мой файл для us-de
:
default
xkb_symbols "basic" {
name[Group1]= "ASCII with german";
// Alphanumeric section
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at, twosuperior ] };
key <AE03> { [ 3, numbersign, threesuperior ] };
key <AE04> { [ 4, dollar, onequarter ] };
key <AE05> { [ 5, percent, onehalf ] };
key <AE06> { [ 6, asciicircum, threequarters ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk, oneeighth ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright, degree ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E, EuroSign, cent ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AD10> { [ p, P ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <AB01> { [ z, Z ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ m, M, mu ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question ] };
key <BKSL> { [ backslash, bar ] };
key <CAPS> { [ VoidSymbol ] };
// End alphanumeric section
include "level3(ralt_switch)"
};
/usr/share/X11/xkb/rules/evdev.xml
Измените evdev.xml
так, чтобы ваша пользовательская клавиатура была распознана: найдите </layoutList>
и добавьте следующее прямо перед </layoutList>
]:
<layout>
<configItem>
<name>us-de</name> <!-- a) -->
<shortDescription>US-DE</shortDescription> <!-- b) -->
<description>ASCII with german</description> <!-- c) -->
<languageList><iso639Id>eng</iso639Id></languageList> <!-- d) -->
</configItem>
</layout>
us-de
- это имя файла новой раскладки клавиатуры в X11/xkb/symbols
US-DE
, это будет выглядеть, например,. в апплете индикатора ASCII with german
должен совпадать с текстом в начале вашего файла: name[Group1]= "ASCII with german"
; Этот текст также будет отображаться как комментарий в разделе «Макеты» Выйдите из системы и снова войдите в систему, а затем выберите Система-> Настройки-> Клавиатура-> вкладка Макеты-> Добавить-> По языку-> Английский, если вы можете найти свой собственный макет, счастливы! Вы готовы к работе! Выберите свой первый и второй лайу здесь. Добавьте апплет переключения клавиатуры здесь, в разделе «Опции», вы также можете отключить клавишу CapsLock.
клавиатура по умолчанию будет раздражать вас и когда-нибудь снова появится ... Если вы хотите избавиться от этого, отредактируйте /var/cache/gdm/$USER/dmrc
и поместите все, что существует в качестве вашего нового значения по умолчанию: Layout=us-de
, затем перезагрузитесь.
На основании поста на UbuntuForums.com Энди Мейера от 28 декабря 2010 г. .