Como desativar completamente o dispositivo touchpad no meu computador? (Está de volta após uma reinicialização)

3

Eu sei que desativar seu touchpad é tão fácil quanto ativar o botão de ativação / desativação nas Configurações do sistema, mas infelizmente ele só funciona para a sessão atual. Após a reinicialização, o touchpad está de volta.

    
por misha 18.02.2016 / 04:13

4 respostas

4

O comando para desativar o touchpad

O comando para desativar o touchpad é:

para 14.04 :

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false

para 15,04 + :

gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled

Adicioná-lo aos aplicativos de inicialização

A solução mais pragmática (e simples) é adicionar o comando para Startup Applications.

Como em muitos casos, quando os comandos envolvem configurações de tela, xrandr , teclado ou touchpad, Você precisará adicionar uma pequena quebra para evitar que procedimentos locais locais anulem o comando, por isso seja:

para 14.04 :

/bin/bash -c "sleep 15 && gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false"

para 15,04 +:

/bin/bash -c "sleep 15 && gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled"

Abrir traço > Aplicativos de inicialização > Adicionar. Adicione o comando acima, de acordo com a sua versão do Ubuntu.

Agora, logo após o login (em 15 segundos), o touchpad é desativado automaticamente.

Claro que você pode jogar com os 15 segundos para otimizar seu sistema.

Editar

A partir do seu comentário, o touchpad fica (re) ativado após algum tempo, o que significa que algum processo está habilitando o touchpad.

Normalmente, é extremamente difícil descobrir qual processo está causando esse tipo de alteração. Mesmo se você pudesse, não teria certeza se poderia eliminar a causa.

A boa notícia, porém, é que gsettings (que é usado para verificar / controlar o touchpad) é extremamente "baixo em sumo". Isso significa que não será um fardo para o seu sistema ter um roteiro de segundo plano de olho no estado atual, desabilitando imediatamente o touchpad novamente se ele estiver habilitado de alguma forma por algum processo.

Se você executar 14.04

  • Use o script abaixo
#!/usr/bin/env python3
import subprocess
import time

key = "org.gnome.settings-daemon.peripherals.touchpad"

def check_set():
    currstate = subprocess.check_output([
        "gsettings", "get", key, "touchpad-enabled",
        ]).decode("utf-8").strip()
    if currstate == "true":
        subprocess.Popen([
        "gsettings", "set", key, "touchpad-enabled", "false"])

while True:
    time.sleep(2)
    check_set()

Se você usar 15,04 +

#!/usr/bin/env python3
import subprocess
import time

key = "org.gnome.desktop.peripherals.touchpad"

def check_set():
    currstate = subprocess.check_output([
        "gsettings", "get", key, "send-events",
        ]).decode("utf-8").strip()
    if currstate == "enabled":
        subprocess.Popen([
        "gsettings", "set", key, "send-events", "disabled"])

while True:
    time.sleep(2)
    check_set()

Para usá-lo

  • Copie o script em um arquivo vazio, salve-o como no_touchpad.py
  • Adicione o seguinte comando aos aplicativos de inicialização:

    /bin/bash - c "sleep 15 && python3 /path/to/no_touchpad.py"
    

Eu tenho medo que a única alternativa seja desconectar o touchpad fisicamente, como mencionado por Serg.

    
por Jacob Vlijm 26.02.2016 / 18:41
4

Abaixo estão 3 possíveis abordagens, vantagens e desvantagens discutidas. Poderia haver outros, mas estes são mais à prova de balas e simples.

Abordagem do Dconf

A primeira abordagem é usar dconf (e esta é minha abordagem preferida, já que ela sobrevive a reinicializações pelo menos no meu sistema 14.04 LTS), mais especificamente este comando:

dconf write /org/gnome/settings-daemon/peripherals/touchpad/touchpad-enabled false

Para finalizá-lo, execute dconf update .

Muito boa abordagem, não requer acesso root, sobrevive a reinicializações, simples para script.

Como colocar o motorista na lista negra

Se um driver (na terminologia do Linux - módulo) estiver na lista negra, o dispositivo não será usado - essa é uma idéia simples. O módulo específico que precisamos é pmouse .

Abra o arquivo /etc/modprobe.d/blacklist.conf com privilégios de root, por exemplo, com sudo nano /etc/modprobe.d/blacklist.conf (editor de linha de comando) ou com gksu gedit /etc/modprobe.d/blacklist.conf (editor de gui). Adicione a seguinte linha no final:

 blacklist pmouse

Salvar, sair, reinicializar e agora seu touch pad será impedido de usar. Para o registro, mouses usb wireless ainda estará ativo - eu estou digitando atualmente que no meu laptop com o módulo do touchpad removido, enquanto estiver usando um mouse sem fio usb.

Pequena desvantagem deste método é a necessidade de acesso root, mas no geral é uma abordagem simples e eficaz.

xinput

O final é xinput --disable ID , em que ID é o número id= do xinput (não há argumentos) do dispositivo. Agora, como fazemos o autostart toda vez que fazemos login na GUI?

Crie um script e adicione-o ao menu Startup Applications:

#!/bin/bash
DISPLAY=:0
xinput --disable 13 # id 13 is just an example

Agora, toda vez que você fizer login, isso será executado. Um pouco mais verboso, mais passos. No entanto, isso tem vantagem quando você usa qualquer GUI que se baseia no servidor X. Mas somente aqueles que usam dconf irão trabalhar com o método dconf (obviamente), por exemplo Unity ou Gnome.

Solução de hardware :

Isso pode ser óbvio, mas se você quiser desabilitar 100% o touchpad, abra o laptop e desconecte um conector de fita que vai do touchpad para a placa-mãe.

    
por Sergiy Kolodyazhnyy 27.02.2016 / 17:20
4

Existe um utilitário muito legal chamado touchpad-indicator , que mostra um ícone na barra superior sobre o status do touchpad. O importante é que também permite fazer o seguinte:

  • Ativar / desativar o touchpad clicando no ícone.
  • Desative o touchpad automaticamente na inicialização quando touchpad-indicator for iniciado.
  • Desativar o touchpad quando o mouse estiver conectado.
  • Desativar o touchpad ao digitar.
  • Ativar / desativar o touchpad usando um atalho de teclado.

Eu mostrarei a você como instalá-lo e configurá-lo para que ele desative o touchpad na inicialização.

  1. Primeiro, precisamos instalá-lo, abrir um terminal e digitar o seguinte:

    sudo add-apt-repository ppa:atareao/atareao 
    sudo apt-get update
    sudo apt-get install touchpad-indicator
    
  2. Depois de instalá-lo, inicie-o procurando por Touchpad-Indicator no menu Dash.

  3. Você verá um novo ícone (veja a imagem abaixo) na parte superior direita da tela. Clique nele e selecione Preferências .

  4. Vocêseráapresentadocomestajanela:

  5. VáparaaguiaOpçõesgerais.

  6. MarqueacaixaquedizAutostart.

  7. AgoraváparaaguiaAções.

  8. MarquenacaixaquedizDesativarotouchpadquandooindicadordotouchpadiniciar.

  9. (Opcionalmente) Defina outras condições desejadas na guia Ações .

  10. Concluído.

Agora você pode fechar essa janela (clicando em OK ).

Aproveite.

    
por hazrpg 01.03.2016 / 20:58
3

O comando a seguir desativará o seu touchpad, desde que você substitua "XX" pelo ID do seu touchpad.

xinput set-int-prop XX "Device Enabled" 8 0

Para encontrar o ID do seu touchpad, execute:

xinput --list

Por exemplo, meu touchpad é assim:

% bl0ck_qu0te%

Então o ID do meu touchpad é 15.

Então, usando este comando, posso desativar meu touchpad:

xinput set-int-prop 15 "Device Enabled" 8 0

E de volta:

xinput set-int-prop 15 "Device Enabled" 8 1

Este é o mesmo comando emitido pela tecla de atalho ativar / desativar o touchpad no teclado, portanto, você poderá ativar o touchpad novamente a qualquer momento, se necessário.

Então, agora, tudo o que resta é fazer com que este comando seja executado sempre que você ligar o computador. Provavelmente, a maneira mais fácil de fazer isso é adicionar o comando aos seus aplicativos de inicialização. No Unity, basta procurar por aplicativos de inicialização no traço. SevocêUsandooMate,aferramentaestáem"Sistema - > Preferências - > Pessoal - > Aplicativos de inicialização".

Usando o método de aplicativos de inicialização para executar o comando, o touchpad ainda estará ativo na tela de login e nos perfis de outras contas de usuário. Se você quiser que o comando seja executado em todo o sistema durante a inicialização, esta pergunta tem algumas respostas úteis para você começar.

Outras fontes: link

    
por Tropcon 26.02.2016 / 17:05

Tags