Como remapear uma combinação de teclas para uma única chave?

16

Estou usando o Ubuntu em um Chromebook Samsung. Como alguns de vocês devem saber, o teclado usado nos netbooks baseados no ChromeOS é um pouco estranho: entre outras coisas, ele não possui uma Delchave *. Se eu estivesse indo para usar este netbook para seu propósito original, navegando, eu acho que não seria um problema, mas eu preciso para o programa com ele, e eu perder um monte de chaves, especialmente a Deleteum, mas também Page Up, Page Down, homee End.

Então, eu estou procurando uma maneira de remapear Alt+ Backspacepara Page Up, Alt+ leftseta para Home, Alt+ downpara Page Downe assim por diante ...

Encontrei muitas explicações sobre como remapear uma chave, mas não sei como posso remapear uma combinação de teclas em uma única chave. Alguém já tentou fazer algo assim?

Muito obrigado.

* Quero dizer, a tecla que exclui um caractere à direita. Nós o chamamos de "Supr" na Espanha, não tenho certeza de como é nos países de língua inglesa.

jesusiniesta
fonte
11
Backspace é a chave que exclui um caractere à direita aqui, provavelmente é isso que você quer dizer. ;)
Icedrake
4
Backspace exclui o caractere à esquerda do cursor, não à direita ...
JanC
Backspace exclui um caractere para a esquerda, Excluir exclui um caractere para a direita. E sim, "Supr" é a abreviação de "Suprimir", que significa "Excluir".
Wjandrea 5/05

Respostas:

9

Você pode usar xbindkeyspara pegar as chaves e xvkbdenviar chaves.

Crie um arquivo .xbindkeysrcno seu diretório pessoal e cole este texto:

"xvkbd -xsendevent -text '\[Delete]'"
  Alt + BackSpace

"xvkbd -xsendevent -text '\[Home]'"
  Alt + Left

"xvkbd -xsendevent -text '\[Page_Down]'"
  Alt + Down

Então comece xbindkeyse deve funcionar. Provavelmente você deseja mapear mais chaves, depois de editar, .xbindkeysrcvocê pode executar pkill -HUP xbindkeyspara enviar um sinal HUP para xbindkeys (ou matar xbindkeys e iniciá-lo novamente).

Para ver os nomes das chaves que o xbindkeys vê, você pode executar xbindkeys -mk( man xbindkeystem mais informações).

Para ver os nomes das chaves que o xvkbd conhece, consulte /usr/include/X11/keysymdef.h (talvez alguém conheça um método melhor?).

O xbindkeys é executado apenas até a sessão X terminar, então você provavelmente deseja colocá-lo em seus programas de inicialização (inicialização automática) .

elmicha
fonte
Isso funciona, mas a janela perde e recupera o foco toda vez que envia um evento. Existe alguma maneira de corrigir isso?
Farzher
2
Não funciona para mim. Nenhuma chave é enviada.
Rafaelcosman