Eu tenho um pequeno problema. Eu queria remapear algumas teclas de atalho com as quais estou acostumado no meu sistema anterior, mas não consigo fazer com que funcione corretamente com xbindkeys
.
xbindkeys
reconhece a combinação mas de alguma forma o comando não dispara.
Se eu usar o comando
xdotool key braceleft
Ele me envia o sinal {
correto no console. No entanto, se eu usar o mesmo comando em xbindkeys, nada acontece. Se eu substituir o comando por firefox
, ele funcionará corretamente e abrirá o firefox, então eu acho que xbindkeys
funciona.
Eu quero alcançar o seguinte:
Eu quero digitar o caractere {
na janela ativa com
Alt_R + 7 ou Alt_Left + Ctrl + 7 para que eu possa usar os dois. Eu sei que Alt_R (AltGr) é o caminho certo, mas em teclados alemães é difícil digitar o braceleft com a tecla AltGr (Alt_R) então eu tenho que usar Alt_L + Controle + 7 (como eu estava acostumado no meu sistema anterior). De alguma forma, consegui que funcionasse corretamente em 12.04, mas não consigo trabalhar em 14.04.
Alguma sugestão? Eu tentei vários comandos. Todos eles trabalharam no console, mas nenhum deles funcionou quando executado por xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Esta é minha configuração, que não funciona
"xdotool key braceleft"
Control+Alt + 7
No entanto, isso funciona:
"firefox"
Control+Alt + 7
Solução de edição
Como eu tentei várias outras coisas, notei que xdotool parece desencadear muito cedo. Eu alterei a configuração assim:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
AGORA, ele envia o sinal {correto para a janela ativa. Agora, a única coisa que resta é reduzir o sono e atrasar para um valor viável, porque 1 segundo parece um pouco longo demais:)
** Informações Adicionais **
Bem, agora consegui encontrar valores adequados. No entanto, isso só funciona se você soltar as teclas até que a duração do sono termine. Se você for muito lento se não funcionar.
Esta é a minha configuração atual para todos os caracteres AltGr alemães não-convencionais
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
No entanto, se você quiser digitar vários sinais @ (por exemplo), pressione Ctrl + Alt + Q como pretendido, mas libere todas as teclas e pressione-as novamente. Isso, no entanto, é muito, muito melhor do que não ter a opção Control + Alt em vez de AltGr, mas não é tão eficaz quanto eu fui usado também. Talvez eu encontre uma solução para isso também.