Я потратил часы, пытаясь заставить это работать, и понятия не имею, что я делаю не так. Должен признать, что я довольно новичок в Ubuntu, поэтому я мог упустить что-то очевидное.
Я прочитал здесь несколько вопросов и ответов по этой же теме, но ни один из ответов мне не помог.
Я пытаюсь настроить пользовательскую раскладку клавиатуры, так как я из Дании, и у нас есть три нелепые буквы (Æ, ø и å), которые мне приходится писать время от времени.
Я надеялся, что смогу получить помощь в следующем вопросе: когда я захожу в эту папку:
/usr/share/X11/xkb/symbols/
И редактирую файл 'us', в котором я меняю это:
key <AE05> { [ 5, percent ] };
к этому:
key <AE05> { [ J, percent ] };
то я все равно не могу получить изменение в раскладке. Я просто делаю это, чтобы попытаться заставить эту чертову раскладку что-то делать (чтобы она писала 'J', когда я нажимаю '5' на клавиатуре). В идеале я хотел бы сопоставить
- æ к ALTGR+a
- ø к ALTGR+ s и
- å к ALTGR+d
Но я подумал, что если я даже не могу изменить «5» на «J», то, возможно, мне стоит сначала сделать это.
И да... Я и использую правильную версию английской клавиатуры - называемую "Английская (США, международная с мертвыми клавишами)". Я также пробовал модифицировать обычную английскую клавиатуру (называемую "Английская (США)"), но с таким же успехом.
Вот код макета из файла 'us':
partial alphanumeric_keys
73 xkb_symbols "intl" {
74
75 name[Group1]= "English (US, international with dead keys)";
76
77 include "us(basic)"
78
79 key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
80 key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
81 key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
82 key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
83 key <AE04> { [ 4, dollar, currency, sterling ] };
84 key <AE05> { [ J, percent, EuroSign, dead_cedilla ] };
85 key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
86 key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
87 key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
88 key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
89 key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
90 key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
91 key <AE12> { [ equal, plus, multiply, division ] };
92
93 key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
94 key <AD02> { [ w, W, aring, Aring ] };
95 key <AD03> { [ e, E, eacute, Eacute ] };
96 key <AD04> { [ r, R, registered, registered ] };
97 key <AD05> { [ t, T, thorn, THORN ] };
98 key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
99 key <AD07> { [ u, U, uacute, Uacute ] };
100 key <AD08> { [ i, I, iacute, Iacute ] };
101 key <AD09> { [ o, O, oacute, Oacute ] };
102 key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
103 key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
104 key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
105
106 key <AC01> { [ a, A, aacute, Aacute ] };
107 key <AC02> { [ s, S, ssharp, section ] };
108 key <AC03> { [ d, D, eth, ETH ] };
109 key <AC04> { [ f, F, f, F ] };
110 key <AC05> { [ g, G, g, G ] };
111 key <AC06> { [ h, H, h, H ] };
112 key <AC07> { [ j, J, j, J ] };
113 key <AC08> { [ k, K, oe, OE ] };
114
115 key <AC09> { [ l, L, oslash, Ooblique ] };
116 key <AC10> { [ semicolon, colon, paragraph, degree ] };
117 key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
118
119 key <AB01> { [ z, Z, ae, AE ] };
120 key <AB02> { [ x, X, x, X ] };
121 key <AB03> { [ c, C, copyright, cent ] };
122 key <AB04> { [ v, V, v, V ] };
123 key <AB05> { [ b, B, b, B ] };
124 key <AB06> { [ n, N, ntilde, Ntilde ] };
125 key <AB07> { [ m, M, mu, mu ] };
126 key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
127 key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
128 key <AB10> { [ slash, question, questiondown, dead_hook ] };
129 key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
130
131 key <LSGT> { [ backslash, bar, backslash, bar ] };
132
133 include "level3(ralt_switch)"
134 };
решение1
Удалить кэш xkb.
Примечания:
Чтобы загрузить изменения в меню раскладок, просто закройте gnome-keyboard-preferences и перезагрузите его, перезапускать менеджер окон не обязательно.
В версии Ubuntu (13.10) есть изменение, из-за которого кэш настроек клавиатуры не обновляется после изменения файлов в каталоге "/usr/share/X11/xkb/symbols". Похоже, изменения просто не применяются. Чтобы принудительно обновить кэш, нужно удалить файлы *.xkm из "/var/lib/xkb". Ссылка: Howto: Custom keyboard layout definitions:
sudo rm /var/lib/xkb/*.xkm
или
sudo dpkg-reconfigure xkb-data
Это плагиат из этой ветки:Как добавить новую раскладку клавиатуры (определение пользовательской раскладки клавиатуры)