Diseño de teclado personalizado para usar HJKL ya que las FLECHAS no funcionan correctamente

Diseño de teclado personalizado para usar HJKL ya que las FLECHAS no funcionan correctamente

Configuré la distribución de mi teclado para /usr/share/X11/xkb/symbols/usar las teclas ,,, Hcomo flechas , y como tercer y cuarto nivel de cambio. mayormente lo seguíJKLLeftDownUpRightesta publicación. Esta R. Altes mi clave de personajes alternativos.

Si bien esta personalización funcionará "básicamente", no puedo seleccionar texto escribiéndolo junto con Shift. Por ejemplo, no puedo seleccionar el texto presionando Alt Gr+ Shift+ H, como haría con Shift+ Left. Pero puedo saltar una palabra entera con Ctrl.

Los H,,, funcionan exactamente como las flechas en Firefox (con y ) J, pero no en Gedit, Rhythmbox o Chrome, y posiblemente más K...LShiftCtrl

¿Algunas ideas? Estoy usando Ubuntu 14.04.


Editar: estoy usando un teclado alemán con AltGr. y los archivos son los siguientes:

enlace a la distribución del teclado

(espero que el enlace funcione ahora)

Respuesta1

Vaya xkb/types/iso9995y edite el "THREE_LEVEL"tipo agregando

  preserve[Shift+LevelThree] = Shift;

entonces se ve así

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

Luego vaya a su archivo de símbolos y 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 ]     }; 

Estees una pregunta relacionada de la cual pude encontrar la respuesta a la tuya.

información relacionada