У меня возникла та же проблема, и я спросил об этом в AskUbuntu.
Проблема может быть решена путем:
установка параметра сохранения
отредактируйте /usr/share/X11/xkb/types/iso9995
и добавьте preserve[Shift+LevelThree] = Shift;
такой, что содержимое файла выглядит так:
partial default xkb_types "default" {
// A key type which can be used to implement
// an ISO9995-style level-three shift.
virtual_modifiers LevelThree;
type "THREE_LEVEL" {
modifiers = Shift+LevelThree;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level3;
preserve[Shift+LevelThree] = Shift;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Level3";
};
};
настроить файл символов для желаемого макета
Отредактируйте файл раскладки клавиатуры в /usr/share/X11/xkb/symbols/
следующим образом (адаптируясь к вашим собственным потребностям)
key <AC06> { type="THREE_LEVEL", [ h, H, Left ] };
key <AC07> { type="THREE_LEVEL", [ j, J, Down ] };
key <AC08> { type="THREE_LEVEL", [ k, K, Up ] };
key <AC09> { type="THREE_LEVEL", [ l, L, Right ] };
и не как
....
key { [ j, J, Down, Down ] };
....