Eu pesquisei como usar o mouse pelo teclado no
LXDE. Isto é bastante útil em computadores antigos, e este recurso existe no
Gnome. Porém, não no LXDE.
Acredito que sirva para várias versões *box. Também para outros, que não tenham o recurso CTRL+SHIT+NUM LOCK.
Acho que artigos de acessibilidade estão virando uma tendência minha. :)
O LXDE não tem esta opção ativa no
rc.xml, mas você pode fazer isso! Este pequeno tutorial ajudará você a colocar um pouco mais de acessibilidade e recurso no seu LXDE. Vamos lá!
Abra seu
rc.xml. Na versão
Linux Mint LXDE, ele é encontrado em: /home/seuuser/.config/openbox
Configuração esta, que servirá somente para este usuário específico. O nome do arquivo "rc.xml" pode variar, mas ele estará como XML. No Linux Mint, dentro deste diretório, será algo como
mintlxde-rc.xml.
Aqui configurei para usar CTRL+ALT+PadNumérico no meu teclado. Quando as teclas forem pressionadas juntas, eles moverão o cursor a cada "pressionada". Assim, quando você pressiona e segura as teclas, ela faz a repetição, e toda mágica acontece.
A cada "teclada junta" move a quantidade de pixels que você colocar nas configurações abaixo.
Infelizmente tem que mudar um a um, com o valor que você desejar. Veja que você pode colocar qualquer tecla, em qualquer lugar, de qualquer forma.Isto facilita pra quem tem problemas motores, ou ainda pode diminuir o conjunto de teclas trocando tudo pela a tecla Super (para os fracos).
Antes de tudo você precisa instalar estas ferramentas, que serão essenciais:
sudo apt-get install xwit xdotool
Instale conforme sua distribuição
O
xwit, moverá o ponteiro do mouse pela tela. Eu estou usando somente 5 pixels, mas se você querer um pouco mais rápido, ajuste isto para 25. Múltiplos de 5 são melhores para mover o mouse, mas ele aceita qualquer valor.
Porém, é importante lembrar que dependendo da resolução, tamanho do monitor, estes ajustes precisam ser refeitos para que facilite o clique, e o acerto no local certo.
Imagens pequenas em sites, ícones pequenos, podem estar dentro do intervalo que você colocar e simplesmente não conseguir posicionar o mouse acima do objeto alvo.
Abaixo dou uma dica para contornar este possível problema.
A ferramenta
xdotool servirá para a ação do clique com o botão esquerdo, e o clique do botão direito. Você pode colocar outros comandos usando a marcação do
rc.xml.
Esta ferramenta fará os cliques e também pode realizar outras tarefas com botões específicos. Consulte o
man do "xdotool". Eu acho que o resultado foi melhor que o mouse no teclado do GNOME, em minha opinião. :)
* Uma informação importante: Normalmente quando usamos LXDE é por desempenho, e às vezes, em máquinas antigas. Uma preocupação é o consumo de memória. Estes recursos ficaram levíssimos, e os arquivos são minúsculos - kbytes - Não se preocupe!
O tempo de resposta é excelente também.
Para detectar teclas específicas, em teclados de notebook por exemplo, use o
Xev no console/terminal. Ele detecta todas as teclas pressionadas no sistema. Para sair, basta fechar a janelinha.
Evite mover o mouse, pois ele também detecta!
A saída do Xev é algo parecido com isso:
KeyPress event, serial 41, synthetic NO, window 0x3000001,
root 0x9f, subw 0x0, time 41448379, (747,121), root:(899,491),
state 0x10, keycode 104 (keysym 0xff8d, KP_Enter), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
Na terceira linha, o Xev nos mostra o "KP_Enter". É ali que você descobre qual o código/nome da tecla. Ele aceita também via código do keymap, como "0xff8d", mostrado na mesma linha.
Infelizmente ele não serve para detectar o mouse e clique. Ele até se esforça e gera o código, mas não funcionará. Por isso usamos o
xdotool, que facilita o nosso trabalho.
Se você não entende como criar/modificar a marcação
rc.xml, consulte isso:
Aqui, uma série de codificações possíveis são mostradas, e você vai descobrir também algumas teclas de atalho usadas pelos keybinds no
rc.xml.
Para colocar para funcionar, edite a seção <keyboard>. Logo acima do </keyboard>, insira as linhas a seguir.
Perceba que ele deve ficar dentro das tags <keyboard> Código aqui </keyboard>, e por organização, coloque no final, abaixo dos outros, para fácil ajustes.
<!-- Controlando o MOUSE via LXDE com XWIT -->
<!-- Keybinding for MOUSE CONTROL RIGHT DOWN-->
<keybind key="C-A-KP_3">
<action name="Execute">
<command>xwit -root -rwarp 5 5</command>
</action>>
</keybind>
<!-- Keybinding for MOUSE CONTROL RIGHT UP-->
<keybind key="C-A-KP_9">
<action name="Execute">
<command>xwit -root -rwarp 5 -5</command>
<action>
</keybind>
<!-- Keybinding for MOUSE CONTROL LEFT DOWN-->
<keybind key="C-A-KP_1">
<action name="Execute">
<command>xwit -root -rwarp -5 5</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL LEFT UP-->
<keybind key="C-A-KP_7">
<action name="Execute">
<command>xwit -root -rwarp -5 -5</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL LEFT-->
<keybind key="C-A-KP_4">
<action name="Execute">
<command>xwit -root -rwarp -5 0</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL RIGHT-->
<keybind key="C-A-KP_6">
<action name="Execute">
<command>xwit -root -rwarp 5 0</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL UP-->
<keybind key="C-A-KP_8">
<action name="Execute">
<command>xwit -root -rwarp 0 -5</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL DOWN-->
<keybind key="C-A-KP_2">
<action name="Execute">
<command>xwit -root -rwarp 0 5</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL DOWN FAST-->
<keybind key="S-C-A-KP_2">
<action name="Execute">
<command>xwit -root -rwarp 0 25</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL RIGHT CLICK-->
<keybind key="C-A-KP_0">
<action name="Execute">
<command>xdotool click 3</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL MIDLE CLICK-->
<keybind key="C-A-KP_Decimal">
<action name="Execute">
<command>xdotool click 2</command>
</action>
</keybind>
<!-- Keybinding for MOUSE CONTROL LEFT CLICK-->
<keybind key="C-A-KP_Enter">
<action name="Execute">
<command>xdotool click 1</command>
</action>
</keybind>
<!-- Fim seção CONTROLE DO MOUSE COMUM -->
Como opção, você pode copiar 2 vezes este código, adicionado a tecla "Shift" nos Keybinds do segundo grupo de atalhos.
Assim, você pode mover mais lentamente o mouse usando o "CTRL+ALT+NumPad", e mais rapidamente usando "CTRL+ALT+SHIFT+NumPad" para correr em posições mais longas da tela, aumentando o valor de 5 para 25 por exemplo.
Este valor acrescenta ao posicionamento atual, conforme x,y.
Na minha listagem, coloquei também para as diagonais, e ficou assim:
- CTRL+ALT+1 - Diagonal para Baixo e para Esquerda
- CTRL+ALT+2 - Para baixo
- CTRL+ALT+3 - Diagonal para Baixo e para Direita
- CTRL+ALT+4 - Para a Esquerda
- CTRL+ALT+6 - Para a Direita
- CTRL+ALT+7 - Diagonal para Cima e para a Esquerda
- CTRL+ALT+8 - Para Cima
- CTRL+ALT+1 - Diagonal para Cima e para a Direita
Lembrando que são as teclas do teclado numérico, combinadas com o "CTRL+ALT+Número".
No BIND, as teclas recebem a codificação de letra também, mas também aceitam códigos:
- A = ALT
- S = Shift
- C = Control
Segue a seguinte organização na hora de inserir:
<!-- As teclas que serão Pressionadas -->
<!-- o Key tem que ter o "-" entre as teclas -->
<keybind key="C-A-KP_Enter">
<!-- A ação a ser executada -->
<action name="Execute">
<!-- O comando a ser executado, aqui o xdotool acionando o click do mouse -->
<command>xdotool click 1</command>>
</action>
</keybind>
Em alguns casos, quando você não sabe como fazer aquele teclado do notebook com a opção de aumento de brilho funcionar, aumento de volume, etc, isto pode ser um bom ponto de partida, com Xev, e depois usando estas configurações, no seu *box.
Testando no LXDE, ficou perfeito!
Se isso lhe ajudou, use e cite a fonte!
Obs.: Publiquei este artigo oficialmente no fórum do LXDE: