Tôi có thể tự động hủy kích hoạt bàn di chuột của mình khi kết nối chuột USB không?


20

Tôi biết rằng tôi có thể kiểm tra xem bàn di chuột có hoạt động với

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

và tôi có thể thiết lập nó bị vô hiệu hóa / kích hoạt với

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

Với lsusbtôi có thể thấy tất cả các thiết bị USB được kết nối. Đó là cho con chuột của tôi:

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

Thêm thông tin với 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

Và đây là thông tin từ 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

Và thậm chí nhiều thông tin hơn:

$ 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

Làm cách nào tôi có thể sử dụng điều này để tự động hủy kích hoạt bàn di chuột của mình khi chuột USB được kết nối và kích hoạt lại ngay khi chuột USB biến mất?


Dưới đây là bản tự động Askubfox.com/questions/533266/ Mạnh
Dawid Drozd

Câu trả lời:


10

Dự án này dường như không còn được duy trì.

Đối với natty có một ứng dụng chỉ báo touchpad. nó có thể được đặt thành tắt / bật bàn di chuột khi cắm hoặc rút chuột. Tôi không biết nếu nó cũng có thể hoạt động cho các phiên bản Ubuntu cũ hơn.

https://launchpad.net/touchpad-indicator

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

1
Công cụ đó dường như không hoạt động cho Ubuntu 14.04 LTS. Đã kiểm tra vỏ Gnome.
NobbZ

Cũng không hoạt động trong Unity Ubuntu 14.04.3 của tôi.
Waldir Leoncio

hoạt động trong khi gõ, nhưng không tắt bàn di chuột khi chuột được kết nối.
vipin8169

Hoạt động tốt với tôi trên Ubuntu 14.04 LTS (Unity). Cảm ơn bạn!
Kimberly W

Cũng hoạt động tốt vào ngày 15.04
PTS

6

Bạn có thể thiết lập udevquy tắc để tắt / bật bàn di chuột. ArchLinux wiki có các quy tắc này để chuyển đổi bàn di chuột Synaptic từ 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"

Tôi không thể làm cho nó hoạt động. Tôi nói thêm /etc/udev/rules.d/10-local.rulesvới 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"và sau đó sudo service udev reload; sudo udevadm trigger; sudo service udev restartnhưng không có gì xảy ra.
Martin Thoma

3

Tôi không chắc chắn nếu tất cả các máy tính xách tay sử dụng Synaptiks, nhưng bạn có thể thử sử dụng nó. Trong trường hợp bạn chưa cài đặt, hãy viết trong một thiết bị đầu cuối : $sudo apt-get install kde-config-touchpad, sau đó $synaptiksvà cuối cùng trong menu «Quản lý bàn di chuột» kiểm tra:

  • Tự động bắt đầu lúc đăng nhập
  • Tự động tắt bàn di chuột, nếu chuột đã được cắm

Tôi hy vọng thông tin này có giá trị cho bạn!


3

Bạn có thể tạo tập lệnh và thực thi tập lệnh khi bạn muốn tắt / bật bàn di chuột.

/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

Điều này hoạt động như một điều trị!
aggieol

Làm việc như một cơ duyên !!!
robbycandra

0

Đây là một câu trả lời dài hơn của câu trả lời tương tự của realhu.

Tập lệnh bật / tắt Touchpad bằng thông báo màn hình

Tín dụng một phần cho bài đăng này ( Bật / tắt bàn di chuột )

Tạo tập lệnh chuyển đổi-bàn di chuột

Tạo một thư mục mới /home/USER/binvà sau đó sử dụng gedit /home/USER/bin/toggle-touchpad. LƯU Ý: Thay thế USER bằng ID người dùng của bạn. Sao chép và dán các dòng này vào trình soạn thảo của bạn:

#!/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

Đánh dấu tập lệnh chuyển đổi bàn di chuột là thực thi

Lưu tệp và thoát khỏi trình chỉnh sửa. Bây giờ đánh dấu tệp là thực thi bằng cách sử dụng

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

Gán kịch bản chuyển đổi bàn di chuột cho phím tắt

Mở System SettingsKeyboardShortcutsCustom Shortcuts+

Màn hình này xuất hiện:

chuyển đổi-bàn di chuột

Điền vào các trường Lối tắt tùy chỉnh như thế này:

  • Tên = Toggle Touchpad
  • Lệnh = /home/USER/bin/toggle-touchpad

Nhấn vào Applynút để lưu.

Mục nhập mới xuất hiện với trạng thái Vô hiệu hóa . Nhấp chuột phải vào Vô hiệu hóa và sử dụng Super+ Z(hoặc bất kỳ kết hợp phím tắt không sử dụng nào khác). Tôi muốn sử dụng Super+ Tnhưng điều đó đã được gán cho Nautilus Trashcan .

Sửa đổi tập lệnh chuyển đổi bàn di chuột sang số thiết bị khác

Số thiết bị mặc định được đặt là 14. Để tìm hiểu số thiết bị của bạn đang sử dụng như sau:

───────────────────────────────────────────────────────────────────────────────
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$ 

Bạn có thể chọn bất kỳ thiết bị nào bạn thích, ví dụ Touchpad = 14, Webcam = 12, v.v.

Cho dù bạn sử dụng số thiết bị nào, chỉ cần mở /home/USER/bin/toggle-touchpadtập lệnh của bạn và thay thế 14bằng số thiết bị đó.

Sửa đổi tập lệnh chuyển đổi-bàn di chuột để sử dụng các biểu tượng khác nhau

Khi bong bóng thông báo "Touchpad được bật" / "Touchpad bị tắt" được hiển thị, một biểu tượng được hiển thị bên trái văn bản. Biểu tượng chứng khoán được sử dụng từ /usr/share/icons/gnome/256x256/status/nhưng bạn có thể thay đổi chúng.

Để bật bàn di chuột, phần này được hiển thị:

người dùng có sẵn

Để vô hiệu hóa bàn di chuột, nó được hiển thị:

người dùng bận rộn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.