Como eu posso trocar o Left Meta por uma chave arbitrária (de preferência usando xkb)?

1

Estou tentando contrariar meu "emacs pinky" colocando algumas chaves em lugares mais acessíveis. Eu já mudei o Ctrl para Caps Lock , o que não era um problema, colocando um comando setxkbmap na lista Startup Applications.

Eu decidi que também deveria mover a tecla Meta / Super / Windows esquerda, que costumo usar muito e não é muito confortável acessar meu teclado. A melhor chave para fazer a sua função seria aquela acima do Tab, que nos teclados americanos faz o símbolo ~ (e no teclado ES faz os símbolos Masculine / Femenine e a barra invertida, e).

Eudescobri,olhandopara/usr/share/X11/xkb/symbols/es,queseucódigoéTLDE:

key<TLDE>{[masculine,ordfeminine,backslash,backslash]};

Mascomopossotrocaressachavecomameta-chavedaesquerda?NãoconsigoencontrarocódigodessachavenoxkbeNãotenhoideiadecomopossofazerswapsparaosquaisnãoháumaopçãoem/usr/share/X11/xkb/rules/evdev.lst.SeucódigoéLWIN(comovi/usr/share/X11/xkb/symbols/pc):

key<LWIN>{[Super_L]};

Sefosserelevante,atualmenteestouexecutandooXFCE4,masgostariadeumasoluçãoportátilparaqueeupossalevarcomigoseeualteraroDE(euusooUnityemoutroscomputadores);Eutambémestouusandoumtecladoespanhol.

Adicionado:minhaconfiguraçãoatual;notequeeutenhoswapcapsativados,eleestáativadoapartirdeumsetxkbmapqueadicioneiaosaplicativosdeinicialização.

$setxkbmap-printxkb_keymap{xkb_keycodes{include"evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+es+inet(evdev)+ctrl(swapcaps)"  };
    xkb_geometry  { include "pc(pc105)" };
};

Obrigado!

Uma tentativa malsucedida que pode estar próxima

Eu tentei alterar os layouts em x11/xkb .

Em /usr/share/X11/xkb/symbols/es :

-key <TLDE>        { [ masculine, ordfeminine,    backslash,   backslash ] };
+key <TLDE>        { [ Super_L ] };

Em /usr/share/X11/xkb/symbols/pc :

-key <LWIN> {      [ Super_L               ]       };    
+key <LWIN> {     [ masculine, ordfeminine,    backslash,   backslash  ] };

Não fez diferença, eles mostram o mesmo comportamento.

Outra ideia

Outro pensamento sobre o qual pensei é mudar os códigos de teclas em /usr/share/X11/xkb/keycodes/evdev . Não foi possível fazê-lo funcionar.

    
por jesusiniesta 29.01.2015 / 12:01

1 resposta

0

usando xmodmap

Eu não queria usar o xmodmap, mas ... ele faz o truque:

  1. xev para checar código de tecla e função (para mim, 49 é masculino-ord, 133 é Super_L).
  2. xmodmap para trocar suas funções:

    xmodmap -e 'keycode 49 = Super_L'
    xmodmap -e 'keycode 133 = masculine backslash backslash backslash'
    

Observe que isso responde ao layout do meu teclado, você deve verificar o seu. Além disso, agora a contrabarra é feita com Shift em vez de Alt-Gr como antes, mas não me deixou muito tempo para me acostumar com isso.

    
por jesusiniesta 30.01.2015 / 08:28