ฉันจะยกเลิกการใช้งานทัชแพดของฉันโดยอัตโนมัติเมื่อเชื่อมต่อเมาส์ USB ได้หรือไม่


20

ฉันรู้ว่าฉันสามารถตรวจสอบว่าทัชแพดใช้งานได้หรือไม่

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

และฉันสามารถตั้งให้ปิด / เปิดใช้งานด้วย

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

ด้วยlsusbฉันสามารถดูอุปกรณ์ USB ที่เชื่อมต่อทั้งหมด สำหรับเมาส์ของฉัน:

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

ข้อมูลเพิ่มเติมด้วย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

และนี่คือข้อมูลจาก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

และข้อมูลเพิ่มเติม:

$ 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

ฉันจะใช้วิธีนี้เพื่อปิดใช้งานทัชแพดของฉันโดยอัตโนมัติได้อย่างไรเมื่อเชื่อมต่อเมาส์ USB และเปิดใช้งานอีกครั้งทันทีที่เมาส์ USB หายไป


นี่คือ autoscript askubuntu.com/questions/533266/
Dawid Drozd

คำตอบ:


10

ดูเหมือนว่าโครงการนี้จะไม่ได้รับการดูแลรักษาอีกต่อไป

สำหรับ natty มีแอพตัวบ่งชี้ทัชแพด สามารถตั้งค่าให้ปิดใช้งาน / เปิดใช้งานทัชแพดได้เมื่อเสียบเมาส์เข้าหรือออก ฉันไม่รู้ว่ามันอาจใช้ได้กับ Ubuntu รุ่นเก่าหรือไม่

https://launchpad.net/touchpad-indicator

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator

1
เครื่องมือดังกล่าวดูเหมือนจะใช้งานไม่ได้กับ Ubuntu 14.04 LTS ผ่านการทดสอบ Gnome shell
NobbZ

ยังไม่ทำงานใน Unity Ubuntu 14.04.3 ของฉัน
Waldir Leoncio

ใช้งานได้ขณะพิมพ์ แต่ไม่สามารถปิดใช้งานทัชแพดเมื่อต่อเมาส์
vipin8169

ทำงานได้ดีสำหรับฉันบน Ubuntu 14.04 LTS (Unity) ขอขอบคุณ!
Kimberly W

ยังทำงานได้ดีในวันที่ 15.04
PTS

6

คุณสามารถตั้งค่าudevกฎเพื่อปิด / เปิดใช้งานทัชแพด ArchLinux wikiมีกฎเหล่านี้สำหรับการสลับ Synaptic ทัชแพดจาก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"

ฉันไม่สามารถทำงานได้ ฉันเพิ่ม/etc/udev/rules.d/10-local.rulesด้วยACTION=="add", SUBSYSTEMS=="input", KERNELS=="mouse[1-9]", RUN+="gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled false" ACTION=="remove", SUBSYSTEMS=="input", KERNELS=="mouse[1-9]", RUN+="gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true"แล้วsudo service udev reload; sudo udevadm trigger; sudo service udev restartแต่ไม่มีอะไรเกิดขึ้น
Martin Thoma

3

ฉันไม่แน่ใจว่าแล็ปท็อปทั้งหมดใช้ Synaptiks หรือไม่ แต่คุณสามารถลองใช้ได้ ในกรณีที่คุณไม่ได้ติดตั้งให้เขียนเทอร์มินัล: $sudo apt-get install kde-config-touchpadจากนั้น$synaptiksและสุดท้ายในเมนู«การจัดการทัชแพด»ตรวจสอบ:

  • เริ่มต้นโดยอัตโนมัติเมื่อเข้าสู่ระบบ
  • ปิดทัชแพดโดยอัตโนมัติหากต่อกับเมาส์

ฉันหวังว่าข้อมูลนี้มีค่าสำหรับคุณ!


3

คุณสามารถสร้างสคริปต์และดำเนินการเมื่อคุณต้องการปิดการใช้งาน / เปิดใช้งานทัชแพด

/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

ใช้งานได้เหมือนการรักษา!
aggsol

ทำงานเหมือนจับใจ !!!
robbycandra

0

นี่คือคำตอบที่ยาวกว่าของคำที่คล้ายกันโดย realhu

สคริปต์เพื่อสลับเปิด / ปิดทัชแพดด้วยการแจ้งเตือนบนหน้าจอ

เครดิตบางส่วนของโพสต์นี้ ( เปิด / ปิดการใช้งานทัชแพด )

สร้างสคริปต์ toggle-touchpad

สร้างไดเรกทอรีใหม่และการใช้งานแล้ว/home/USER/bin หมายเหตุ:แทนที่USERด้วย ID ผู้ใช้ของคุณ คัดลอกและวางบรรทัดเหล่านี้ในโปรแกรมแก้ไขของคุณ:gedit /home/USER/bin/toggle-touchpad

#!/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: http://askubuntu.com/questions/863746/keyboard-shortcut-to-disable-the-laptop-touchpad/863750?noredirect=1#comment1333958_863750


# Use device number matching touchpad, in this case 14
if [[ $(xinput list 14 | grep -Ec "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

ทำเครื่องหมายสคริปต์ toggle-touchpad เป็นไฟล์เรียกทำงาน

บันทึกไฟล์และออกจากโปรแกรมแก้ไข ตอนนี้ตั้งค่าสถานะไฟล์เป็นปฏิบัติการได้โดยใช้

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

กำหนดสคริปต์ toggle-touchpad ให้กับแป้นพิมพ์ลัด

เปิดSystem SettingsKeyboardShortcutsCustom Shortcuts+

หน้าจอนี้จะปรากฏขึ้น:

สลับทัชแพด

กรอกข้อมูลในฟิลด์ทางลัดที่กำหนดเองดังนี้:

  • ชื่อ = Toggle Touchpad
  • คำสั่ง = /home/USER/bin/toggle-touchpad

คลิกApplyปุ่มเพื่อบันทึก

รายการใหม่จะปรากฏขึ้นพร้อมกับสถานะปิดการใช้งาน คลิกขวาที่ปิดการใช้งานและใช้Super+ Z(หรือชุดทางลัดอื่น ๆ ที่ไม่ได้ใช้) ฉันต้องการใช้Super+ Tแต่นั่นได้รับมอบหมายให้Nautilus Trashcanแล้ว

ปรับเปลี่ยนสคริปต์ toggle-touchpad เป็นหมายเลขอุปกรณ์อื่น

หมายเลขอุปกรณ์เริ่มต้นถูกตั้งค่าไว้ที่ 14 เพื่อค้นหาหมายเลขอุปกรณ์ของคุณที่ใช้ดังต่อไปนี้:

───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Performance MX                   id=10   [slave  pointer  (2)]
⎜   ↳ Logitech K800                             id=11   [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS GlidePoint                  id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_HD               id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$ 

คุณสามารถเลือกอุปกรณ์ที่คุณต้องการเช่น Touchpad = 14, Webcam = 12 เป็นต้น

หมายเลขอุปกรณ์ใดที่คุณใช้เพียงเปิด/home/USER/bin/toggle-touchpadสคริปต์และแทนที่14ด้วยหมายเลขอุปกรณ์นั้น

ปรับเปลี่ยนสคริปต์ toggle-touchpad เพื่อใช้ไอคอนต่างๆ

เมื่อข้อความแจ้งเตือน "เปิดใช้งานทัชแพด" / "ปิดการใช้งานทัชแพด" ปรากฏขึ้นไอคอนจะปรากฏขึ้นทางด้านซ้ายของข้อความ มีการใช้ไอคอนหุ้น/usr/share/icons/gnome/256x256/status/แต่คุณสามารถเปลี่ยนได้

สำหรับการเปิดใช้งานทัชแพดนี้จะปรากฏขึ้น:

ผู้ใช้ที่มีอยู่

สำหรับการปิดการใช้งานทัชแพดนี้จะปรากฏขึ้น:

ผู้ใช้ไม่ว่าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.