Estou tentando mapear:
Super+h -> Left
Super+j -> Down
Super+k -> Up
Super+l -> Right
globalmente no X. A idéia é que não quero deixar minha linha inicial com tanta frequência para usar as teclas de seta, então usarei o Super modificador + hjkl para emular as teclas de seta no X. Existe alguma maneira de fazer isso ?
Uma coisa que eu tentei é xbindkeys + xte usando esta configuração:
"xte 'keydown Up' 'keyup Up'"
Mod4+k
"xte 'keydown Down' 'keyup Down'"
Mod4+j
"xte 'keydown Left' 'keyup Left'"
Mod4+h
"xte 'keydown Right' 'keyup Right'"
Mod4+l
mas parece haver um grande atraso entre eu pressionar a tecla e perceber qualquer resultado, e na maioria das vezes nada acontece.
Existe uma maneira mais elegante de fazer isso que realmente funcione sem demora?
Respostas:
Capslock + HJKL para teclas de seta
Crie ~ / .Xmodmap e coloque isso dentro:
Adicionar
Left
,Down
,Up
,Right
como um terceiro elemento para os h, j, k, l entradas principais em/usr/share/X11/xkb/symbols/us
(a primeira secção):corre
xmodmap ~/.Xmodmap
Alternativa: Capslock como Control e Control_L + HJKL para as teclas de seta
Esta é a minha configuração atual. Desmapeei Control_L como uma chave de controle e o uso como um modificador especial (ISO_Level3_Shift), que corresponde à terceira entrada no
/usr/share/X11/xkb/symbols/us
arquivo para os mapeamentos hjkl.Modifiquei a primeira estrofe de / usr / share / X11 / xkb / symbols / us como antes:
Então eu coloquei isso no meu arquivo ~ / .Xmodmap:
keycode 66
é capslock ekeycode 37
é deixado o controleCom essa configuração, posso usar as teclas de setas com Control_L + hjkl, além de pular as palavras com Control_L + caps + hl. Fácil!
fonte
/var/lib/xkb/*.xkm
para que as alterações/usr/share/X11/xkb/symbols/us
entrem em vigor.xmodmap /home/alex/.Xmodmap
um aplicativo de inicialização e remover todos os arquivos * .xkm do formulário / var / lib / xkb. Aviso: lixeira uma VM do Ubuntu executando esta última etapa e, em seguida, meu teclado não funcionaria mais, portanto, tenha cuidado e tenha um backup pronto :-) Shift + Control + Caps + hjkl para selecionar o texto funciona bem no Firefox e Thunderbird, mas em algumas aplicações, não (Chrome, por exemplo)As alterações acima mencionadas em / usr / share / X11 / xkb / symbols / us NÃO funcionam para mim:
Erro ao carregar a nova descrição do teclado
Mas, depois de analisar vários howtos contraditórios, encontrei uma solução, que mapeia a tecla super esquerda (tecla esquerda do Windows / Mod4) em combinação com o hjkl para esquerda, baixo, cima, direita. Essa é uma configuração para todo o sistema.
Adicione este bloco ao final da primeira seção (logo antes
};
) do seu / usr / share / X11 / xkb / symbols / us :A primeira linha-chave mapeia AltGr + h para a esquerda.
A última linha da tecla faz com que a super tecla esquerda se comporte como AltGr.
Aqui está:
Para aplicar as novas configurações, execute setxkbmap ou reinicie o sistema.
Importante : Isso obviamente desativa a super chave, portanto, se você estiver realmente usando sua super chave para outros fins (por exemplo, mover uma janela para outra área de trabalho), não deverá remapear dessa maneira.
Para usar o Caps Lock em vez de Super, altere a última linha da tecla com:
Aqui está a primeira seção completa do meu arquivo de configuração:
Espero que isso ajude alguém lá fora ...
Se alguém tiver uma solução melhor, entre em contato.
Edit: Testado no Fedora.
fonte
xev
diz claramenteLeft
e funciona para a maioria das aplicações. Mas alguns programas reagem apenas às teclas de seta "reais", como editor de texto sublime e outros.Eu não tentei isso sozinho, mas parece que o xkb pode fazer o que você deseja http://en.wikipedia.org/wiki/X_keyboard_extension .
Eu tenho um pacote no Ubuntu chamado x11-xkb-utils que parece promissor :)
fonte
Nenhum sudo necessário, derivado daqui , foi modificado para fazê-lo funcionar também quando combinado com Alt.
crie um
file
w o seguinte conteúdo:invocar
Ele mapeia AltGrpara em Capsvez de Super, então você pode definir
(ou o que
xev
você der ao bater Super)A parte do açúcar fornece backspace e Del como uma tarefa especial para i e o, você pode omitir isso ou vê-lo como um bônus ou motivação para expandir / ajustá-lo por conta própria;)
PS: se experimentar, redefina o mapeamento "padrão" chamando
fonte
Por fim, parece que encontrei a solução que funciona com todos os modificadores (Ctrl +, Shift +, Ctrl + Shift +) e Sublime Text 2.
Toda a glória vai para esta configuração de gemas que eu encontrei recentemente http://www.spinics.net/lists/xorg/msg35931.html . Ele descreve as setas ijkl, mas pode ser facilmente modificado para a navegação hjkl. Você precisa atualizar o (s) arquivo (s) de layout de teclado / usr / share / X11 / xkb / symbols / * (pessoalmente, eu uso / usr / share / X11 / xkb / symbols / typo, que incluo no layout do teclado com o Xkb opção "misc: typo", para que funcione com qualquer layout de teclado). A configuração pressupõe que a chave modificadora envie ISO_Level3_Shift (existem várias maneiras de vincular Super ou Alt a ISO_Level3_Shift).
As principais definições devem ter a aparência (use NoSymbol se você estiver modificando ../symbols/typo):
Você também precisa editar / usr / share / X11 / types / basic e declarar o tipo "MOD5_NAV":
Quanto ao Sublime Text 2, a solução é mais complicada e imprudente. Como mencionado acima, o Sublime Text 2 lê códigos-chave diretamente do dispositivo e ignora alguns recursos do Xkb (e o truque do xkb com setas não tem efeito). Existe um projeto quase abandonado, mas ainda em funcionamento, Gizmo Daemon http://gizmod.sourceforge.net/ . Após algumas lutas e pesquisas, compilei com sucesso no meu Debian Wheezy. Então eu criei esse script gizmod e o coloquei em ~ / .gizmod / modules.d / 010-KeyboardViMode-SublimeText2.py http://pastebin.com/HNQgGEwD
PS No Linux, às vezes sinto falta do KeyboardRemap4MacBook. Essa grande tranquilidade do software OS X pode permitir essa navegação (e muitas outras coisas) com apenas algumas caixas de seleção.
fonte
Eu sou um usuário HHKB no Debian / Ubuntu e esta solução funciona para mim.
use Left Ctrlpara chave ativa.
Adicione este código
// End alphanumeric section
no bloco básico em / usr / share / X11 / xkb / symbols / usAgora, você deve ser capaz de usar a esquerda, para baixo, para cima e tecla direita com Ctrl+ h, j, k, l.
A propósito, se você usou pentadactyl no Firefox, você pode adicionar este código em ~ / .pentadactylrc
fonte
Encontrei autokey e é melhor para mapeamento.
Eu acredito que a ligação chave de ligação - Emular teclado no laptop - Ask Ubuntu pode ajudá-lo.
fonte
Este funciona para mim no Arch. Ele remapeia Caps + hjkl para teclas de seta e Shift + Caps para Caps.
Coloque o seguinte em
~/.Xmodmap
:Reinicie ou configure-o com
xmodmap ~/.Xmodmap
Se você receber um erro como:
Provavelmente significa que você precisa limpar algo diferente de
mod5
(o que estiver definido no momentoMode_switch
). Verifique seus mapeamentos de modificadores atuais comxmodmap
.fonte