Это на Oracle Linux 6.3, но я уверен, что это применимо к любым дистрибутивам на основе Gnome.
Я отредактировал /usr /share /X11 /xkb /symbols /ru, чтобы добавить раздел макета:
partial alphanumeric_keys
xkb_symbols "stdwin" {
include "ru(common)"
name[Group1]= "Russian (stdwin)";
key <AE03> { [ 3, numerosign ] };
key <AE04> { [ 4, semicolon ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, colon ] };
key <AE06> { [ 6, colon ] };
key <AE07> { [ 7, question ] };
key <AE08> { [ 8, asterisk ] };
key <AB10> { [ period, comma ] };
};
Я обновил symbol.dir с помощью xkbcomp: xkbcomp -lhlpR '*' -o ../symbols.dir Я вручную обновил /usr/share/X11/xkb/rules/evdev.lst и /usr /share /X11 /xkb/rules/evdev.xml.
Если я попытаюсь запустить свойства gnome-keyboard под strace, я увижу, что он читает обновленный файл evdev.lst. Но он все равно не покажет мой новый макет в списке макетов.
Я знаю, что макет работает, по крайней мере, на xkb. Если я запускаю setxkbmap -variant stdwin, правильный макет становится активным, и я обычно могу его использовать.
Что я упустил, чтобы апплет конфигурации клавиатуры gnome (gnome-keyboard-properties) поднял его?