Como posso alternar o touchpad de dois dedos com uma tecla de atalho personalizada?

2

O recurso de toque com dois dedos no meu laptop Asus está sendo problemático, conforme descrito em esta outra pergunta .

Enquanto espero para ver se alguém responde a isso, pensei em uma solução alternativa nesse meio tempo. Se eu pudesse ativar e desativar o recurso de dois dedos, isso funcionaria bem o suficiente.

Em minhas configurações do Gnome / Nautilus, tenho estas opções de interface:

Existealgumamaneiradetornaracessívelaopção"Deslizar com dois dedos" com uma tecla de atalho?

Estou usando o Gnome Flashback com o Compiz e o Nautilus no Ubuntu 14.

    
por Questioner 08.03.2015 / 06:40

1 resposta

2

Alternar entre dois dedos; um script

As configurações atuais podem ser lidas com o comando:

gsettings get org.gnome.settings-daemon.peripherals.touchpad scroll-method

Para definir uma configuração alterada:

gsettings set org.gnome.settings-daemon.peripherals.touchpad scroll-method <'new-value'>

O que o script faz

O script abaixo lê as configurações atuais e altera-o, dependendo da configuração atual, alternando entre "rolagem com dois dedos" ativada / desativada.

Para usá-lo:

  1. Cole-o em um arquivo vazio, salve-o como toggle_scroll.py
  2. Teste-o pelo comando:

    python3 /path/to/toggle_scroll.py
    
  3. Se tudo funcionar bem, adicione-o a uma tecla de atalho: adicione a tecla de atalho. Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando a uma combinação de teclas (disponível).

Nota

Não sabia se "desativado" no seu caso deveria ser edge-scrolling ou disabled . Eu assumi o último. Se não, mude a linha:

cmd = set_cmd+key+" "+disabled1 

em

cmd = set_cmd+key+" "+disabled2

O script

#!/usr/bin/env python3
import subprocess

# define command sections, key
get_cmd = "gsettings get "; set_cmd = "gsettings set "
key = "org.gnome.settings-daemon.peripherals.touchpad scroll-method"
enabled = "'two-finger-scrolling'"
disabled1 = "'disabled'"; disabled2 = "'edge-scrolling'"
# get current value
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
current = get(get_cmd+key)
# toggle, depending on current setting
cmd = set_cmd+key+" "+disabled1 if current == enabled else set_cmd+key+" "+enabled
subprocess.Popen(["/bin/bash", "-c", cmd])
    
por Jacob Vlijm 08.03.2015 / 18:36