web-dev-qa-db-fra.com

Disposition du clavier personnalisée pour utiliser H J K L comme flèches ne fonctionnant pas correctement

J'ai configuré la configuration de mon clavier dans /usr/share/X11/xkb/symbols/ pour utiliser les touches H J K L comme flèches Gauche, Bas, Haut et Droite comme troisième et quatrième niveaux de décalage. la plupart du temps j'ai suivi ce post . La bonne alt est ma clé de caractères alternatifs.

Bien que cette personnalisation fonctionne "en gros", je ne peux pas sélectionner de texte en le saisissant conjointement avec SHIFT. Par exemple, je ne peux pas sélectionner le texte en appuyant sur Alt Gr+Shift+H, comme il le ferait avec Shift+Left. Mais je peux sauter tout un mot avec Ctrl.

hJKL fonctionnent exactement comme les flèches de Firefox (avec shift et Ctrl) mais pas sur Gedit, Rhythmbox ou Chrome, et peut-être davantage ...

Des idées? J'utilise Ubuntu 14.04.


Edit: J'utilise un clavier allemand avec AltGr. et les fichiers sont les suivants:

lien vers la disposition du clavier

(espérons que le lien fonctionne maintenant)

5
Marcelo Avila

Allez à xkb/types/iso9995 et éditez le type "THREE_LEVEL" en ajoutant

  preserve[Shift+LevelThree] = Shift;

alors ça ressemble à ça

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

Ensuite, allez dans votre fichier de symboles et utilisez ce format

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

This est une question connexe à partir de laquelle je pourrais trouver la réponse à la vôtre.

2
Damaru