Questão Remapear atalho para uma única chave não pode ser usado


Eu quero remapear meu atalho do comutador de espaço de trabalho para uma única chave, especificamente o Subir página/Page Down teclas para ir ao espaço de trabalho superior / inferior. Mas o Ubuntu não vai me deixar fazer isso usando Configurações do sistema> Teclado> Atalhos, dando o seguinte aviso:

O atalho "Page up" não pode ser usado porque será impossível digitar usando essa chave.   Por favor, tente com uma tecla como Control, Alt ou Shift ao mesmo tempo.

Existe alguma outra maneira de remapear atalhos para uma única chave? Ajuda é apreciada!


4
2018-01-31 10:59


origem




Respostas:


Isso é realmente muito fácil usando o xbindkeys Install xbindkeys e a xdotool Install xdotool pacotes. xdotool permite emular pressionamentos de teclas e xbindkeys permite adicionar atalhos personalizados.

Todas as etapas a seguir são executadas em um terminal.

Primeiro vamos matar o processo

killall xbindkeys

Agora nós colocamos nossos atalhos personalizados no ~/.xbindkeysrc Arquivo

gedit ~/.xbindkeysrc

e nós colocamos nas seguintes linhas

"xdotool keyup Next && xdotool key ctrl+alt+Down"
   Next

"xdotool keyup Prior && xdotool key ctrl+alt+Up"
   Prior

salve e feche e comece xbindkeys novamente correndo

xbindkeys 

Agora deve funcionar como você queria, divirta-se!


Explicação: Agora o que isso realmente faz? Diga, você pressiona Subir página, seu computador reconhece isso como Prior chave (você pode verificar isso usando xev | grep key e pressionando as teclas). Agora, antes de simularmos outros pressionamentos de tecla, devemos emular um lançamento de chave primeiro, é isso que o xdotool keyup Prior é para. Se for lançado com sucesso, enviaremos o Ctrl+Alt+Acima combinação e é isso que xdotool key ctrl+alt+Up é para.


4
2018-01-31 12:28



Eu recomendo usar touch .xbindkeysrc && xbindkeys -f .xbindkeysrc para criar o arquivo de configuração para que você não obtenha nenhum dos xbindkeys ligações padrão. - Seth♦
@Seth Obrigado boa sugestão, atualizou a resposta. Você não precisa do -f .xbindkeysrc embora, como é o padrão. - Gerhard Burger


É possível remapear qualquer comando de navegação no GNOME e Unity diretamente dconf ou via linha de comando usando gsettings. Para o espaço de trabalho movente PageUp / PageDown, você pode fazer:

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "['Page_Up']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "['Page_Down']"

0
2018-01-25 10:57