Layout de teclado personalizado para usar HJKL, pois as SETAS não funcionam corretamente

Layout de teclado personalizado para usar HJKL, pois as SETAS não funcionam corretamente

Eu configurei meu layout de teclado para /usr/share/X11/xkb/symbols/usar as teclas H, J, K, Lcomo setas Left, Downe como terceiro e quarto níveis de mudança. principalmente eu seguiUpRightesta postagem. Esta R. Alté a minha chave de caracteres alternativos.

Embora essa personalização funcione "basicamente", não consigo selecionar o texto digitando-o em conjunto com Shift. Por exemplo, não consigo selecionar o texto pressionando Alt Gr+ Shift+ H, como faria com Shift+ Left. Mas posso pular uma palavra inteira com Ctrl.

Os H, J, K, Lestão funcionando exatamente como as setas no Firefox (com Shifte Ctrl), mas não no Gedit, Rhythmbox ou Chrome, e possivelmente mais...

Alguma ideia? Estou usando o Ubuntu 14.04.


Editar: estou usando um teclado alemão com AltGr. e os arquivos são os seguintes:

link para o layout do teclado

(espero que o link funcione agora)

Responder1

Acesse xkb/types/iso9995e edite o "THREE_LEVEL"tipo adicionando

  preserve[Shift+LevelThree] = Shift;

então parece com isso

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

Então vá para o seu arquivo de símbolos e use este formato

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

Esseé uma pergunta relacionada da qual eu poderia descobrir a resposta para a sua.

informação relacionada