Пользовательская раскладка клавиатуры для использования HJKL в качестве СТРЕЛОК не работает должным образом

Пользовательская раскладка клавиатуры для использования HJKL в качестве СТРЕЛОК не работает должным образом

Я настроил раскладку клавиатуры так, /usr/share/X11/xkb/symbols/чтобы использовать клавиши H, J, K, Lкак стрелки Left, Down, Upи Rightкак третий и четвертый уровень переключения. В основном я следовалэта почта. R. AltЭто мой ключ к альтернативным персонажам.

Хотя эта настройка будет "в основном" работать, я не могу выделить текст, набрав его вместе с Shift. Например, я не могу выделить текст, нажав Alt Gr+ Shift+ H, как это было бы с Shift+ Left. Но я могу перейти на целое слово с помощью Ctrl.

H, J, K, работают Lточно так же, как стрелки в Firefox (с Shiftи Ctrl), но не в Gedit, Rhythmbox или Chrome, а возможно, и в других...

Есть идеи? Я использую Ubuntu 14.04.


Редактировать: Я использую немецкую клавиатуру с расширением AltGr. и файлы следующие:

ссылка на раскладку клавиатуры

(надеюсь, ссылка теперь работает)

решение1

Перейдите xkb/types/iso9995и отредактируйте "THREE_LEVEL"тип, добавив

  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";
    };
};

Затем перейдите в файл символов и используйте этот формат.

    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 ]     }; 

Этот— смежный вопрос, из которого я мог бы получить ответ на ваш.

Связанный контент