Posso desativar automaticamente meu touchpad quando um mouse USB está conectado?

19

Eu sei que posso verificar se o touchpad está ativo com

gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled 

e posso configurá-lo desativado / ativado com

gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true

Com lsusb , posso ver todos os dispositivos USB conectados. Qual é para o meu mouse:

Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse

Mais informações com lsusb -v :

Bus 005 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc00e M-BJ58/M-BJ69 Optical Wheel Mouse
  bcdDevice           11.10
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              10

E aqui estão as informações de tail -n 10 -f /var/log/messages :

Aug 27 08:36:47 pc08 kernel: [ 1795.936583] usb 5-2: USB disconnect, address 3
Aug 27 08:36:55 pc08 kernel: [ 1804.208042] usb 5-2: new low speed USB device using uhci_hcd and address 4
Aug 27 08:36:56 pc08 kernel: [ 1804.384272] usb 5-2: configuration #1 chosen from 1 choice
Aug 27 08:36:56 pc08 kernel: [ 1804.400743] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input13
Aug 27 08:36:56 pc08 kernel: [ 1804.400923] generic-usb 0003:046D:C00E.0004: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.0-2/input0

E ainda mais informações:

$ udevadm info --query=all --name=/dev/input/mouse1
P: /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
N: input/mouse1
S: char/13:33
S: input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse
S: input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
E: MAJOR=13
E: MINOR=33
E: DEVNAME=/dev/input/mouse1
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: ID_MODEL=USB-PS_2_Optical_Mouse
E: ID_MODEL_ENC=USB-PS\x2f2\x20Optical\x20Mouse
E: ID_MODEL_ID=c00e
E: ID_REVISION=1110
E: ID_SERIAL=Logitech_USB-PS_2_Optical_Mouse
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1d.0-usb-0:2:1.0
E: DEVLINKS=/dev/char/13:33 /dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse /dev/input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse

Como posso usar isso para desativar automaticamente meu touchpad quando um mouse USB está conectado e ativá-lo novamente assim que o mouse USB desaparecer?

    
por Martin Thoma 25.08.2011 / 11:42
fonte

5 respostas

10

Este projeto parece não ser mais mantido.

Por natty, há um aplicativo indicador do touchpad. Ele pode ser definido para desabilitar / habilitar o touchpad quando um mouse é conectado ou desconectado. Eu não tenho idéia se isso pode funcionar também para versões mais antigas do Ubuntu.

link

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
    
por Christian 25.08.2011 / 11:59
fonte
6

Você pode configurar as regras udev para desativar / ativar o touchpad. Wiki do ArchLinux tem essas regras para alternar um touchpad Synaptic de udev :

ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0", 
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"

ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0", 
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
    
por Piskvor 25.08.2011 / 12:07
fonte
3

Não tenho certeza se todos os laptops usam o Synaptiks, mas você pode tentar usá-lo. Caso você não tenha instalado, escreva em um terminal: $sudo apt-get install kde-config-touchpad , depois $synaptiks e finalmente no menu «Gerenciamento do touchpad» verifique:

  • Iniciar automaticamente no logon
  • Desativar o touchpad automaticamente se um mouse estiver conectado

Espero que esta informação tenha sido valiosa para você!

    
por Brallan Aguilar 19.11.2011 / 21:54
fonte
2

Você pode criar um script e executá-lo quando quiser desativar / ativar o touchpad.

/usr/local/bin/touchpad_toggle.sh

#!/bin/bash

declare -i ID
ID='xinput list | grep -Eio 'touchpad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}''
declare -i STATE
STATE='xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}''

if [ $STATE -eq 1 ]
then
    xinput disable $ID
    # echo "Touchpad disabled."
    # notify-send 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
else
    xinput enable $ID
    # echo "Touchpad enabled."
    # notify-send 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
fi
    
por realhu 17.10.2015 / 07:45
fonte
0

Esta é uma resposta mais longa de semelhante por realhu.

Script para ativar ou desativar o Touchpad com notificação de tela

Crédito parcial para este post ( Ativar / desativar o touchpad )

Criar script de alternância entre touchpad

Crie um novo diretório /home/USER/bin e use gedit /home/USER/bin/toggle-touchpad . OBSERVAÇÃO: Substitua USER pelo seu ID de usuário. Copie e cole estas linhas no seu editor:

#!/bin/bash

# NAME: toggle-touchpad
# PATH: /home/$USER/bin
# DESC: Update pulseaudio output device when HDMI TV plugged / unplugged
# CALL: called from Keyboard Shortcut 'Super'+'T'
# DATE: Created Dec 23, 2016.
# NOTE: Written for AU question: https://sobrelinux.info/questions/91591/keyboard-shortcut-to-toggle-enable-disable-laptop-touchpad"disabled") -eq 1 ]]; then
    xinput enable 14
    DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-available.png "Touchpad enabled"
else
    xinput disable 14
    DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-busy.png "Touchpad disabled"
fi

exit 0

Marcar o script touch-toggle como executável

Salve o arquivo e saia do editor. Agora sinalize o arquivo como executável usando

chmod +x /home/USER/bin/toggle-touchpad

Atribuir script toggle-touchpad ao atalho de teclado

Abra System SettingsKeyboardShortcutsCustom Shortcuts+

Esta tela é exibida:

Preenchaoscamposdeatalhospersonalizadoscomoeste:

  • Nome=ToggleTouchpad
  • Comando=/home/USER/bin/toggle-touchpad

CliquenobotãoAplicarparasalvar.

AnovaentradaaparececomostatusDesativado.CliquecomobotãodireitodomouseemDisabledeuseSuper+Z(ouqualqueroutracombinaçãodeatalhonãoutilizada).EuqueriausarSuper+T,masissojáestáatribuídoaLixeiraNautilus.

Modifiqueoscripttoggle-touchpadparaumnúmerodedispositivodiferente

Onúmerododispositivopadrãoédefinidocomo14.Paradescobrirqualéonúmerodoseudispositivo,useoseguinte:

───────────────────────────────────────────────────────────────────────────────USER@host:~/bin$xinput⎡Virtualcorepointerid=2[masterpointer(3)]⎜↳VirtualcoreXTESTpointerid=4[slavepointer(2)]⎜↳LogitechPerformanceMXid=10[slavepointer(2)]⎜↳LogitechK800id=11[slavepointer(2)]⎜↳AlpsPS/2ALPSGlidePointid=14[slavepointer(2)]⎣Virtualcorekeyboardid=3[masterkeyboard(2)]↳VirtualcoreXTESTkeyboardid=5[slavekeyboard(3)]↳PowerButtonid=6[slavekeyboard(3)]↳VideoBusid=7[slavekeyboard(3)]↳PowerButtonid=8[slavekeyboard(3)]↳SleepButtonid=9[slavekeyboard(3)]↳Laptop_Integrated_Webcam_HDid=12[slavekeyboard(3)]↳DellWMIhotkeysid=15[slavekeyboard(3)]↳ATTranslatedSet2keyboardid=13[slavekeyboard(3)]───────────────────────────────────────────────────────────────────────────────USER@host:~/bin$

Vocêpodeescolherqualquerdispositivoquedesejar,porexemplo,Touchpad=14,Webcam=12,etc.

Emcadanúmerodedispositivoquevocêusa,bastaabriroscript/home/USER/bin/toggle-touchpadesubstituir14pelonúmerododispositivo.

Modifiqueoscripttoggle-touchpadparausaríconesdiferentes

Quandoobalãodenotificação"Touchpad ativado" / "Touchpad desativado" é exibido, um ícone é exibido à esquerda do texto. Os ícones de ações são usados a partir de /usr/share/icons/gnome/256x256/status/ , mas você pode alterá-los.

Para ativar o touchpad, isso é exibido:

Paradesativarotouchpad,issoéexibido:

    
por WinEunuuchs2Unix 14.02.2017 / 01:50
fonte