Este xte
comando, quando o executo em um terminal, aciona o modo Expo:
xte 'keydown Super_L' 'key S' 'keyup Super_L'
No entanto, quando eu coloco isso no meu arquivo .xbindkeysrc:
"xte 'keydown Super_L' 'key S' 'keyup Super_L'"
b:11
Nada acontece quando clico no botão. A seguinte encadernação faz com que a letra X apareça no meu console quando pressiono o botão 11:
"xte 'key X'"
b:11
Então, por que a ligação da Expo não funciona?
Esta é a saída detalhada de xbindkeys -n -v
quando você clica no botão 11:
Pressione o botão! e.xbutton.button = 11 e.xbutton.state = 16 "xte 'keydown Super_L' 'chave W' 'keyup Super_L'" m: 0x0 + b: 11 (mouse) tem tela 0 para a janela 2bb Iniciar programa com chamada fork + exec Liberação de botão! e.xbutton.button = 11 e.xbutton.state = 16
E nada acontece. Isso tem algo a ver com a maneira como xbindkeys
o comando é executado? (chamada fork ou exec)
Tentativa número dois.
expo.sh:
#!/usr/bin/env bash
export DISPLAY=:0
xte 'keydown Super_L' 'key S' 'keyup Super_L'
A execução desse script a partir da linha de comando ativa a Expo. Vinculando-o em xbindkeys:
"sh ~/expo.sh"
b:11
Clicando no botão 11 do mouse:
Pressione o botão! e.xbutton.button = 11 e.xbutton.state = 16 "sh ~ / expo.sh" m: 0x0 + b: 11 (mouse) tem tela 0 para a janela 2bb Iniciar programa com chamada fork + exec
Nada acontece!
xorg
shortcut-keys
xbindkeys
xte
Hubro
fonte
fonte
'keydown Super_L' 'keydown S' 'keyup S' 'keyup Super_L'
.Respostas:
Outra solução mais simples: em vez de usar apenas "b: 11" na definição xbindkeys, use "b: 11 + release". Esperará até você soltar o botão para disparar o comando.
Exemplo:
fonte
Isso é muito estranho. Acontece que, se o botão do mouse ainda estiver pressionado (ainda não solto), quando a
Super+W
combinação de teclas é simulada, nada acontece. Não sei a quem culpar por isso (talvez canela?). Eu trabalhei em torno disso, adicionando um pequeno atraso aoxte
comando:Agora aguarda 0,1 segundos antes de simular
Super+S
. Se eu pressionar e segurar o botão do mouse por mais de 0,1 segundos, nada acontece.Esta é uma resposta alternativa. Eu preferiria uma resposta adequada.
fonte
Eu enfrentei o mesmo problema.
estava trabalhando no console, mas não no arquivo de parâmetro xbindkeys. Eu mudei b pelo código dele, usando o comando "xev" para obtê-lo:
Funcionou para mim
fonte
Experimente com + Release
Isso pode ajudar.
fonte
Tem um problema semelhante ao usar o keymapper sxhkcd. Acontece que suas teclas de atalho reais são detectadas como ainda sendo pressionadas.
Existem algumas soluções alternativas:
sleep 0.2
na frente do seu comandoNo entanto, você não pode obter ações em tempo real com isso =)
fonte