Como mapear o modificador + hjkl para a funcionalidade das teclas de seta?

2

Eu tenho me acostumado tanto com o hjkl do vim por se movimentar recentemente, e me vejo querendo usá-los logo depois de sair do vim.

Qual seria a melhor maneira de mapear fn + h / j / k / l para esquerda / para baixo / para cima / direita?

edit: qualquer <modifier> + h / j / k / l seria satisfatório, desde que não entre em conflito com outros atalhos de teclado.

    
por Daniel Que 14.05.2014 / 19:50

4 respostas

3

Tente isso, não garanto se vai quebrar alguma coisa, mas espero que não:

  1. se você observar o mapeamento por xmodmap -pke , verá quatro colunas de caracteres mapeadas para cada chave, para diferentes modificações. A ordem para essas modificações é como

    keycode <x> = <1> <2> <3> <4>

    <1> <key>

    <2> <shift-key>

    <3> <"Mode_switch"-key>

    <4> <shift-"Mode_switch"-key>

  2. "Mode_switch", não completamente certo, mas acho que os mapas para nada por padrão. Na verdade, você pode ver o código da chave com xmodmap e procurá-lo em algum lugar na parte inferior dos resultados e descobrir a qual chave esse código pertence. O que eu fiz foi reassinged para outra chave, por exemplo Super_L , que é a super chave do Lefp, com estes:

    xmodmap -e "keysym Super_L = Mode_switch"
    

    ou você pode colocar sua própria escolha no lugar de Super_L

  3. Agora, vá em frente e edite a coluna para as quatro chaves que você deseja reatribuir. Vamos encontrá-los no seu arquivo xmodmap :

    xmodmap -pke | grep h
    

    entre a saída deve ser linha que diz

    keycode 43 = h H h H
    

    edite de modo que seja como

    keycode 43 = h H Left H
    

    para fazer isso, use o comando

    xmodmap -e "keycode 43 = h H Left H"
    

    e tente se funcionou.

  4. Faça isso para o restante das chaves que você deseja mapear.

Eu acho que isso provavelmente não quebrará nada sério, contanto que você possa voltar e reeditar keycode s para seus originais. A única parte assustadora foi onde eu mapeei "Mode_switch" para Super_L. ( Editar : isso realmente desabilitou minha superchave, que pude voltar ao trabalho revertendo a atribuição, que é xmodmap -e "keysym Mode_switch = Super_L" . Mapeie uma chave que você sabe que não falharia em Mode_switch)

    
por arsaKasra 15.05.2014 / 13:46
3

Embora eu simpatize com você (tenho um teclado Happy Hacking e adoraria ter o mesmo layout no meu laptop, com Fn +; '[/ para a esquerda para direita, respectivamente), a tecla de função Fn é quase sempre implementado inteiramente no hardware, e não há como ligá-lo como uma tecla modificadora no software.

    
por dobey 14.05.2014 / 20:10
1

Se o modificador any funcionar, o seguinte trabalho será feito para AltGr usando xmodmap .

Primeiro, encontre os códigos-chave para h,j,k e l . Isso pode ser feito executando xev no terminal e, em seguida, pressionando as respectivas teclas. Para mim, o código de acesso para h é 43 . Para mapear isso mais AltGr para left , use o comando

xmodmap -e "keycode 43 = h H NoSymbol NoSymbol Left"

Repita para as teclas restantes, e você será feito :) Para configurar na inicialização, consulte this Q & amp; A .

    
por Rasmus 15.05.2014 / 11:55
1

Desde algum tempo xmodmap está depreciada! Para obter uma configuração do sistema, você precisa usar xkb . Então edite o arquivo de idioma em /usr/share/X11/xkb/symbols/ para adicionar suas alterações lá.

veja link

    
por rubo77 30.03.2017 / 23:47