Eu sei como mapear o clique do mouse para F1e (respectivamente clique F2com F3o botão esquerdo, clique do meio, clique com o botão direito):
xkbset m # required, but disable keypad
xmodmap -e "keycode 67 = Pointer_Button1 Pointer_Button1"
xmodmap -e "keycode 68 = Pointer_Button2"
xmodmap -e "keycode 69 = Pointer_Button3"
Mas isso exige que eu xkbset m
use o modo de teclas lentas :
Se eu pressionar 4no teclado, ele move o cursor para a esquerda. Eu não preciso desse recurso, apenas o mapeamento acima.
Eu tentei descobrir com xdotool
, mas não sei como lidar com a tecla pressionada / tecla liberada (para arrastar e soltar) com
xdotool mousedown 1
xdotool mouseup 1
Como não posso usar este modo ou como posso remapear todas as teclas do teclado?
E os sinais numéricos e aritméticos do teclado, por favor?
Existe outra solução?
Para informações, necessárias para Debian (cinnamon) e Archlinux (xfce), e se possÃvel, gostaria de uma solução não baseada no gerenciador de janelas.
EDITAR:
Tentei esta solução, mas não consigo arrastar e soltar com arquivos F1.
Em ~/.xbindkeysrc
:
"xdotool mousedown 1"
F1
"xdotool mouseup 1"
F1 + Release
Ou :
"xdotool mousedown 1"
m:0x10 + c:67
"xdotool mouseup 1"
m:0x10 + c:67 + Release
Então :
xset -r 67
EDIT2
Tentei com actkbd
# actkbd configuration file
<keycode ("67")> :key : :xdotool mousedown 1
<keycode ("67")> :rel : :xdotool mouseup 1
Sem charuto :/
Adaptado daqui
W00T!
Primeiro: crie um script
click
:Em seguida, adicione um novo atalho de teclado no gerenciador de janelas e mapeie F1para executar
/path/to/mouse <1|3>
( clique esquerdo OU direito).E voilà ;)
Isso pode ser executado
xbindkeys
para ser agnóstico de WMEditar:
não sei por que isso não funciona com archlinux + xfce 4.12, mas no Debian9 + Cinnamon
Editar:
Esta solução funciona melhor:
Em
.bashrc
:Como um atalho de teclado:
Você pode implementar uma ação "mouse toggle" com este comando
.xbindkeysrc
(há um erro de digitação em sua primeira edição, não é.xbindkeys
):Ele criará um arquivo vazio
/tmp/mouse_token
para acompanhar o estado do botão do mouse. Parasome_key
você pode usarF1
, o que significa que você terá que pressioná-lo duas vezes para obter um único clique, ou usar outra tecla (por exemploF4
, ).Nota: no meu sistema, por um motivo desconhecido, o evento press para as teclas F não aciona a ligação xbindkeys, apenas o evento release o faz. Se o mesmo acontecer no seu, use
release+F1
parasome_key
.Nota2: por padrão
xbindkeys
não verificaNumLock
, então você pode descartar om:0x10
modificador se não tiver definidokeystate_numlock = enable
no arquivo rc.