Você pode usar easystroke
para criar cliques com o botão direito do mouse com um modificador mais toque, como Ctrl+ Alt+ toque. Com configurações adicionais, isso pode ser acessado com apenas uma tela de toque, veja abaixo.
Isso é bastante interessante, já que "modificador mais toque" como um clique com o botão direito do mouse não pode ser configurado com nenhum dos touchegg
(não reconhece modificadores), mouseemu
(não reconhece toques por não terem scancodes) ou xsetwacom "…" set Button 1 …
(não reconhece toques porque a entrada de dedo não é um evento de botão no driver).
1. Instalação
easystroke
O programa é mantido minimamente no momento, mas nas notas de versão eles apontam para um pacote recente do Ubuntu, construído no Ubuntu 18.04. Funcionou bem para mim (Ubuntu 18.10 aqui). Você pode instalá-lo da seguinte maneira:
wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_amd64.deb
sudo apt install ./easystroke_0.6.0-0ubuntu8_amd64.deb
2. Configuração
Inicie o programa com easystroke
.
Na segunda guia "Preferências", clique em "Botão de gestos" e Ctrl+ Alt+ toque no campo cinza. Ctrl+ Altparece ser a melhor escolha de modificador, pelo menos no LXQt, porque:
- Tanto o Shift+ clique como o Ctrl+ clique já são usados para a seleção múltipla e ficarão indisponíveis para isso se forem atribuídos
easystroke
.
- Alt, Supere qualquer combinação que envolva Supernão será vista por
easystroke
. Provavelmente, esse é um problema de configuração do LXQt ou do Openbox, mas não consegui resolvê-lo até o momento.
Na primeira guia "Ações", clique em "Adicionar ação".
Configure sua ação com "Tipo: Comando" e "Detalhes: xdotool keyup ctrl alt; xdotool click 3
". Adapte de acordo com os modificadores escolhidos.
Dependendo dos modificadores, limpar os modificadores primeiro é importante para evitar efeitos colaterais. Por exemplo Shift, clicar com o botão direito do mouse no Chrome levaria à seleção de texto. Além disso, é necessário limpar explicitamente os modificadores para evitar modificadores bloqueados ao acionar essas teclas pressionadas com o software (consulte a seção 3 abaixo). Não limpar os modificadores por conta própria antes de executar o comando pode ser considerado um erro easystroke
.
Clique em "Record Stroke" e grave um único toque.
Você pode desativar os pop-ups (aqui bastante inúteis) em "Preferências → Aparência → Mostrar pop-ups".
Você pode limitar esse reconhecimento de gesto apenas à sua tela sensível ao toque e talvez ao dispositivo de entrada com caneta em "Avançado → Dispositivos".
Agora, Ctrl+ Alt+ toque cria um clique com o botão direito.
Observe que easystroke
possui um ótimo reconhecimento de gestos para gestos com um toque ("desenhando formas na tela") que você pode usar para automatizar muitas tarefas enquanto usa a tela sensível ao toque. Esse é o seu principal objetivo, enquanto a emulação com o botão direito é apenas um efeito colateral.
3. Melhoria: cliques com o botão direito do mouse
Agora, vamos melhorar essa configuração para que você possa acionar os cliques do botão direito com apenas uma mão e uma tela sensível ao toque (1) tocando em um botão especial na tela que significa "o próximo toque é clique direito" e (2) tocando na tela normalmente.
Aqui está uma receita para o Lubuntu (LXQt) e usando o modificador Ctrl+ Altescolhido acima, mas o princípio é o mesmo em todos os ambientes de área de trabalho e com todos os modificadores: uma entrada de inicialização rápida personalizada no painel.
Crie um ícone personalizado para sua entrada do quicklaunch e salve-a como ~/.icons/default/rightclick.png
.
Crie um .desktop
arquivo personalizado e salve-o como .local/share/applications/rightclick.desktop
, com o seguinte conteúdo. Observe que você precisa fornecer username
o caminho absoluto.
[Desktop Entry]
Name=Rightclick
Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
Icon=/home/matthias/.icons/default/rightclick.png
Exec=xdotool keydown ctrl alt
Type=Application
Categories=System;Utility;
StartupWMClass=localdomain.rightclick
Adicione outro widget de quicklaunch ao seu painel LXQt. Embora, em princípio, você também possa modificar o já existente, descobri que aquele colocado no canto inferior direito da tela é o mais natural para a operação com a mão direita e também os cliques acidentais mostrarão apenas a data (se é isso que está ao lado do esquerda, como no meu caso) em vez de iniciar um aplicativo grande.
Abra ~/.config/lxqt/panel.conf
e ajuste a nova [quicklaunch2]
seção para se referir ao seu .desktop
arquivo personalizado . Mais uma vez, você precisa fornecer username
. Exemplo de como pode parecer:
[quicklaunch2]
alignment=Left
apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
apps\size=1
type=quicklaunch
Reinicie o painel LXQt para efetivar as alterações. Por isso:
- Vá para "menu LXQt → Preferências → Configurações LXQt → Configurações da sessão".
- Selecione "Configurações básicas → Módulos LXQt → Painel".
- Clique em "Stop".
- Clique em "Iniciar".
(Você também pode executar killall lxqt-panel && lxqt-panel
na caixa de diálogo Alt+ F2iniciar, mas isso interferirá no status do painel reconhecido na caixa de diálogo mencionada acima e, se você misturar as duas técnicas, terá dois painéis em execução, um deles faltando algum painel ícones. Então, melhor não. Isso ainda é buggy.)
Além disso, se você tiver botões especiais de hardware ao lado da tela sensível ao toque, poderá atribuir o xdotool keydown ctrl alt
comando a um deles.
4. Outras melhorias e solução de problemas
Como um bom efeito colateral, a técnica acima para cliques com o botão direito do mouse também permite o acesso com uma mão a todos os outros gestos nos quais você pode ter configurado easystroke
. Esse é um recurso bastante poderoso para a automação do uso da tela sensível ao toque.
Ao configurar outros gestos easystroke
, lembre-se do seguinte erro: easystroke
não limpa os modificadores escolhidos antes de executar a ação configurada. Os tipos de ação "Chave" e "Texto" resultam em combinações de teclas juntamente com Ctrl+ Altno caso acima, o que as torna inutilizáveis. Como solução alternativa, escolha o tipo de ação "Comando" e limpe os modificadores da mesma maneira que acima. Então, para acionar Ctrl+ V, o comando seria:
xdotool keyup ctrl alt; xdotool key "ctrl+v"
(A xdotool
opção --clearmodifiers
não ajuda aqui, pois apenas desativa os modificadores durante a combinação de teclas para executá-los e reaplicá-los posteriormente. O que nesse caso faria o próximo toque com o botão direito do mouse, conforme a técnica acima, mas não gostaríamos nesse caso.)
Se você tiver travado modificadores durante o teste, pressionar e soltar as teclas modificadoras no teclado físico corrigirá a condição.
Às vezes, durante o teste dessas coisas, meu LXQt meus eventos de teclado e mouse ficavam muito confusos. Nesse caso, somente o logoff do ambiente gráfico e o logon novamente ajudaram.
A maneira mais limpa de implementar a operação com apenas um toque easystroke
, incluindo os casos de cliques com o botão direito, conforme necessário aqui, seria o toque no easystroke
ícone do painel para o mesmo estado interno que o ícone do painel personalizado configurado acima, mas sem realmente alterar o estado do modificador do teclado, porque isso pode levar a modificadores bloqueados etc. Para mostrar a easystroke
janela, seria necessário usar o menu de contexto do ícone do painel. Obviamente, isso requer algumas alterações no easystroke
código.