Como desativar completamente o touchpad na inicialização?

Como desativar completamente o touchpad na inicialização?

Eu queria desabilitar o touchpad antes de fazer login no Ubuntu 16.10.

Eu tentei executar

#!/bin/bash

ID=$(/usr/bin/xinput list --id-only "SynPS/2 Synaptics TouchPad")

if [[ $ID ]]; then
    /usr/bin/xinput --disable $ID
    echo "Touchpad disabled"
else
    echo "Touchpad not found"
fi

na inicialização com systemctl, rc.d, o que não. Nada parecia funcionar, pois precisava do X rodando ou algo assim.

Responder1

Adicione o seguinte código a /usr/share/X11/xorg.conf.d/*-synaptics.conf

# Disable generic Synaptics device, as we're using
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

Reinicie e teste se funciona.

Responder2

Tenho o Linux Mint 18 instalado com kernel 4.4.0-45. Fiz o seguinte para facilitar a alternância do estado do touchpad.

sudo apt-get install xinput

xinput -list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ **FTE1001:00 0B05:0101**               ***id=14***   [slave  pointer  (2)]
  • Procure o id do touchpad, no meu caso é 14. Escrevi um pequeno script de shell para ligar e desligar o touchpad.

  • TouchPad desativado:

    cd /usr/local/bin
    sudo nano touchpad-off

    #!/bin/bash
    # touchpad off
    xinput --set-prop 14 "Device Enabled" 0
    echo touchpad off
    
  • TouchPad ativado:

    sudo nano touchpad-on

    #!/bin/bash
    # touchpad on
    xinput --set-prop 14 "Device Enabled" 1
    echo touchpad on
    
  • Torne os scripts executáveis ​​com:

    chmod +x touchpad-off
    chmod +x touchpad-on
    

    Agora você pode alternar facilmente o estado do touchpad com touchpad-offe touchpad-onno seu terminal.

DESATIVAR NA INICIALIZAÇÃO: Vá para Aplicativos de inicialização e adicione um novo aplicativo de inicialização, procure o script touchpad-offe adicione-o à lista. Você vai querer ter certeza de que o script está localizado usr/local/binconforme indicado acima, bem como confirmar se é executável.

Outra coisa a verificar é garantir que o arquivo seja executado com o prompt de execução automática. Clique com o botão direito no arquivo e vá para a guia "Abrir com" e selecione Prompt de execução automática.

Tutorial de vídeo sobre como desativar o touchpad na inicialização

Responder3

Como me deparo com isso toda vez que compro um novo Thinkpad, aqui está um método um pouco mais generalizado, extraído das outras duas respostas:

  1. encontre o nome do touchpad: xinput --list. Você deve obter algo assim:
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=15   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Touchpad            id=12   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Mouse               id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=9    [slave  keyboard (3)]
    ↳ Intel HID events                          id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=16   [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated I           id=10   [slave  keyboard (3)]

No meu caso o nome a usar seráSYNA8022:00 06CB:CE67 Touchpad

  1. Teste se esse é realmente o dispositivo correto (e também poupe uma reinicialização): xinput --set-prop ID "Device Enabled" 0, onde ID é o ID da lista que você obteve com o comando acima. Se isso desativar o touchpad, você encontrou o ID e o nome corretos

  2. Crie um arquivo em /etc/X11/xorg.conf.d/call it, por exemplo 20_synaptics.conf(o número define a ordem em relação aos demais arquivos, como sempre):

# Disable touchpad
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SYNA8022:00 06CB:CE67 Touchpad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

A string MatchProduct deve ser aquela que você encontrou na lista xinput.

  1. Para testar se funciona, mude para um console de texto pressionando Ctrl+Alt+F3 (ou tente outros números se o console 3 já estiver em uso). Faça login e inicie uma sessão X: sudo xinit -- :2. Isto iniciará um segundo servidor X sem reiniciar sua máquina. Você provavelmente verá apenas uma única janela de terminal (sem borda, porque não terá um gerenciador de janelas em execução), mas é o suficiente para testar se o touch pad está desabilitado. Você pode sair digitando Ctrl+D na janela do terminal.

informação relacionada