Layout de teclado personalizado para usar H J K L como as SETAS não estão funcionando corretamente

4

Eu configurei meu layout de teclado em /usr/share/X11/xkb/symbols/ para usar as teclas H J K L como setas Left, Down, Up e Right como o terceiro e quarto nível de mudança. principalmente eu segui este post . O Alt Direito é 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, eu não posso selecionar o texto pressionando Alt Gr + Deslocamento + H , como faria com Shift + Esquerda . Mas eu posso pular uma palavra inteira com Ctrl .

o HJKL está funcionando exatamente como as setas no Firefox (com shift e Ctrl ) mas não no Gedit, Rhythmbox ou Chrome, e possivelmente mais ...

Alguma ideia? Estou usando o Ubuntu 14.04.

Edit: Eu 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)

    
por Marcelo Avila 08.10.2014 / 18:59

1 resposta

1

Acesse xkb/types/iso9995 e edite o tipo "THREE_LEVEL" 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";
    };
};

Em seguida, vá para o 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 ]     }; 

Este é um questão relacionada a partir da qual eu poderia descobrir a resposta para o seu.

    
por Damaru 22.06.2018 / 20:35