Resumo da pergunta: Desejo que um dos botões do mouse seja registrado como o botão esquerdo do Windows Super_Lpelo X11.
No meu gerenciador de janelas, eu posso mover as janelas mantendo o "botão esquerdo do Windows" (Super à esquerda) e arrastando uma janela com o botão esquerdo do mouse. Quero poder fazer isso sem tocar no teclado, por isso quero mapear a tecla Super esquerda para o botão 11 do mouse, para que eu possa segurar o botão 11 do mouse e clicar em + arrastar janelas.
A solução mais óbvia é usar xbindkeys e xte como este ( .xbindkeysrc
):
"xte 'keydown Super_L'"
b:11
"xte 'keyup Super_L'"
b:11 + release
Isso funciona assim:
- Quando pressiono o botão 11 do mouse, Super_Ltambém é pressionado
- Quando solto o botão 11 do mouse, Super_Ltambém é liberado
Mas há um problema: não consigo mover as janelas usando Super_L+ Mouse1se também estiver pressionando outro botão do mouse, como o botão 11. Com a solução acima, o botão 11 do mouse ainda está sendo registrado como pressionado e liberado, e portanto nenhum as operações do gerenciador de janelas funcionam.
Eu tentei isso usando o Cinnamon e o Awesome WM, e absolutamente nenhuma das Super_Lcombinações de teclado funciona enquanto o botão 10 ou 11 do mouse está sendo pressionado.
Um corte abaixo da média
No momento, estou solucionando esse problema fazendo com que o clique do mouse 11 mantenha o Super_Lbotão pressionado por um certo período de tempo. Dessa forma, posso clicar no botão do mouse e arrastar as coisas por um breve período:
"xte 'keydown Super_L' 'usleep 250000' 'keyup Super_L'"
b:11
Outra tentativa
Como sugerido por totti, tentei esta xbindkeys
configuração:
"xte 'mouseup 10' 'keydown Super_L'"
b:10
"xte 'keyup Super_L'"
b:10 + Release
Isso não funciona. Parece que a Super_Ltecla está sendo pressionada, porque assim que solto o botão 10, ela permanece pressionada para sempre (até pressionar a Super_Ltecla novamente no teclado), mas o botão do mouse ainda está sendo registrado, porque não consigo clicar e arrastar as janelas . Eu não acho que vou conseguir fazer isso funcionar usando xbindkeys
e xte
.