askmrsinh / touchpad-indicator

Touchpad management GNOME Shell Extension.
https://extensions.gnome.org/extension/131/touchpad-indicator/
GNU General Public License v2.0
83 stars 20 forks source link

Auto activation fails on macbook #44

Open OhGhie4iew opened 4 years ago

OhGhie4iew commented 4 years ago

The touchpad is never auto activated after the mouse is unplugged. This computer does not have a touchscreen, so you're stuck without a pointing device.

Here is the log of the mouse being unplugged / plugged in: touchpad-indicator.log mouseCount is 1 after mouse is unplugged.

Here is /proc/bus/input/devices with the mouse plugged in: devices.txt

Gnome 3.34.1 on Ubuntu 19.10

MateuszKubuszok commented 4 years ago

Same behavior on my Asus laptop, Gnome 3.14.2 - I think it might not be a matter of hardware but maybe Gnome version-related(?)

askmrsinh commented 4 years ago

Same behavior on my Asus laptop, Gnome 3.14.2 - I think it might not be a matter of hardware but maybe Gnome version-related(?)

Which version of the extension are you using? Gnome 3.14.2 is really old.

askmrsinh commented 4 years ago

@OhGhie4iew

Hi, can you please try using the shortcut to force enable the touchpad? The default shortcut is Ctrl + Super + Alt + T.

Also, what's the switching method that you are using?

MateuszKubuszok commented 4 years ago

Yeah, it was 3.34.2 sorry for a confusion

askmrsinh commented 4 years ago

@OhGhie4iew @MateuszKubuszok I will look into this once I get some time. Meanwhile, can you please confirm if using the shortcut re-activates the touchpad?

MateuszKubuszok commented 4 years ago

shortcut works for me

askmrsinh commented 4 years ago

@OhGhie4iew In your case, it seems that the below device is the cause for the issue:

I: Bus=0003 Vendor=05ac Product=8290 Version=0111
N: Name="Broadcom Corp. Bluetooth USB Host Controller"
P: Phys=usb-0000:00:14.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:05AC:8290.0006/input/input9
U: Uniq=
H: Handlers=mouse1 event9 
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=3
B: MSC=10

The device Broadcom Corp. Bluetooth USB Host Controller is internal and you can not unplug it. So if this device was put in an ignore list (as explained here), things should work as intended. Correct me if I am wrong.

evaldez89 commented 4 years ago

Same behavior:

If unplug the mouse, manually activate the touchpad and connect back the mouse, it does deactivate the touchpad but not the other way arround.

askmrsinh commented 4 years ago

@evaldez89 Can you please post the output for cat /proc/bus/input/devices?

evaldez89 commented 4 years ago

Hi @user501254

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
U: Uniq=
H: Handlers=kbd event2 
B: PROP=0
B: EV=3
B: KEY=4000 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
U: Uniq=
H: Handlers=kbd event3 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4 leds 
B: PROP=0
B: EV=120013
B: KEY=1100f02902000 8380307cf910f001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=093a Product=2510 Version=0111
N: Name="PixArt USB Optical Mouse"
P: Phys=usb-0000:00:14.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/0003:093A:2510.0001/input/input7
U: Uniq=
H: Handlers=mouse0 event5 
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=903
B: MSC=10

I: Bus=0003 Vendor=0d8c Product=013a Version=0100
N: Name="C-Media Electronics Inc.       USB PnP Sound Device"
P: Phys=usb-0000:00:14.0-1.2/input3
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.2/2-1.2:1.3/0003:0D8C:013A.0002/input/input8
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=13
B: KEY=e000000000000 0
B: MSC=10

I: Bus=0003 Vendor=04b3 Product=3025 Version=0110
N: Name="LITE-ON Technology USB NetVista Full Width Keyboard."
P: Phys=usb-0000:00:14.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/0003:04B3:3025.0003/input/input9
U: Uniq=
H: Handlers=sysrq kbd event7 leds 
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0008 Version=0700
N: Name="AlpsPS/2 ALPS DualPoint Stick"
P: Phys=isa0060/serio1/input1
S: Sysfs=/devices/platform/i8042/serio1/input/input10
U: Uniq=
H: Handlers=mouse1 event8 
B: PROP=21
B: EV=f
B: KEY=70000 0 0 0 0
B: REL=3
B: ABS=1000000

I: Bus=0011 Vendor=0002 Product=0008 Version=0700
N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input6
U: Uniq=
H: Handlers=mouse2 event9 
B: PROP=1
B: EV=b
B: KEY=e520 70000 0 0 0 0
B: ABS=260800000000003

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="DELL Wireless hotkeys"
P: Phys=dellabce/input0
S: Sysfs=/devices/virtual/input/input11
U: Uniq=
H: Handlers=rfkill kbd event10 
B: PROP=0
B: EV=3
B: KEY=80000000000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Dell WMI hotkeys"
P: Phys=
S: Sysfs=/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input12
U: Uniq=
H: Handlers=rfkill kbd event11 
B: PROP=0
B: EV=13
B: KEY=800000000000 0 0 1500b00000c00 4000000200300000 e000000000000 0
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input13
U: Uniq=
H: Handlers=kbd event12 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Headphone Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input14
U: Uniq=
H: Handlers=event13 
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Dock Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input15
U: Uniq=
H: Handlers=event14 
B: PROP=0
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Dock Line Out"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input16
U: Uniq=
H: Handlers=event15 
B: PROP=0
B: EV=21
B: SW=40

I: Bus=0003 Vendor=1bcf Product=2b8d Version=4616
N: Name="Integrated_Webcam_HD: Integrate"
P: Phys=usb-0000:00:1d.0-1.6/button
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.6/1-1.6:1.0/input/input17
U: Uniq=
H: Handlers=kbd event16 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel HDMI HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input18
U: Uniq=
H: Handlers=event17 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel HDMI HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input19
U: Uniq=
H: Handlers=event18 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel HDMI HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input20
U: Uniq=
H: Handlers=event19 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel HDMI HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input21
U: Uniq=
H: Handlers=event20 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel HDMI HDMI/DP,pcm=10"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input22
U: Uniq=
H: Handlers=event21 
B: PROP=0
B: EV=21
B: SW=140
askmrsinh commented 4 years ago

So in your case the devices that are recognized are:

0: {name: "PixArt USB Optical Mouse", phys: "usb-0000:00:14.0-2/input0", type: "mouse"}
1: {name: "AlpsPS/2 ALPS DualPoint Stick", phys: "isa0060/serio1/input1", type: "trackpoint"}
2: {name: "AlpsPS/2 ALPS DualPoint TouchPad", phys: "isa0060/serio1/input0", type: "touchpad"}

There is only one input device of type mouse which is external. This is different from what my earlier understanding of the issue was. Can you please enable debug logging and share the results? Try plugging in/out your mouse multiple times with logging and auto-switch enabled.

evaldez89 commented 4 years ago
  1. Plugging in/out mouse multiple times with logging and auto-switch enabled

    ~/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/touchpad-indicator.log
    2020-04-12T18:09:12.612Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:12.617Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 2
    2020-04-12T18:09:12.620Z TouchpadIndicator._onMouseDevicePlugged(2)
    2020-04-12T18:09:12.623Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:12.624Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseCount is 1
    2020-04-12T18:09:12.643Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:12.645Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 2
    2020-04-12T18:09:16.249Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 3
    2020-04-12T18:09:16.252Z TouchpadIndicator._onMouseDevicePlugged(3)
    2020-04-12T18:09:16.254Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:16.257Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseCount is 1
    2020-04-12T18:09:16.259Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 1
    2020-04-12T18:09:16.261Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:16.263Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 3
    2020-04-12T18:09:16.265Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 1
    2020-04-12T18:09:16.267Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:16.289Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:16.317Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:19.064Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:19.070Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 2
    2020-04-12T18:09:19.074Z TouchpadIndicator._onMouseDevicePlugged(2)
    2020-04-12T18:09:19.076Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:19.078Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseCount is 1
    2020-04-12T18:09:19.088Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:19.090Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 2
    2020-04-12T18:09:21.796Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 3
    2020-04-12T18:09:21.799Z TouchpadIndicator._onMouseDevicePlugged(3)
    2020-04-12T18:09:21.801Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:21.804Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseCount is 1
    2020-04-12T18:09:21.806Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 1
    2020-04-12T18:09:21.808Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:21.810Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 3
    2020-04-12T18:09:21.813Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 1
    2020-04-12T18:09:21.815Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:21.838Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:21.906Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:35.648Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:35.652Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 2
    2020-04-12T18:09:35.655Z TouchpadIndicator._onMouseDevicePlugged(2)
    2020-04-12T18:09:35.657Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:35.658Z TouchpadIndicator._onMouseDevicePlugged(2) - mouseCount is 1
    2020-04-12T18:09:35.704Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:35.706Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 2
    2020-04-12T18:09:44.684Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 3
    2020-04-12T18:09:44.689Z TouchpadIndicator._onMouseDevicePlugged(3)
    2020-04-12T18:09:44.690Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:09:44.692Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseCount is 1
    2020-04-12T18:09:44.694Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 1
    2020-04-12T18:09:44.696Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:44.699Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 3
    2020-04-12T18:09:44.702Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 1
    2020-04-12T18:09:44.705Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:09:44.740Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:09:44.759Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
  2. Then, unplugged external mouse, manually enable touchpad and activate debug and auto-switch (in this case the touchpad is correctly deactivated)

    /.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/touchpad-indicator.log
    2020-04-12T18:15:41.305Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 3
    2020-04-12T18:15:41.309Z TouchpadIndicator._onMouseDevicePlugged(3)
    2020-04-12T18:15:41.310Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseDevices are [{"name":"PixArt USB Optical Mouse","phys":"usb-0000:00:14.0-2/input0","type":"mouse"}]
    2020-04-12T18:15:41.313Z TouchpadIndicator._onMouseDevicePlugged(3) - mouseCount is 1
    2020-04-12T18:15:41.315Z TouchpadIndicator._logEKeyChange(): Extension `touchpad-enabled` Key Changed
    2020-04-12T18:15:41.317Z TouchpadIndicator._queueSyncPointingDevice(touchpad-enabled)
    2020-04-12T18:15:41.319Z TouchpadIndicator._checkGconfSync(false, enabled)
    2020-04-12T18:15:41.321Z TouchpadIndicator._queueSyncPointingDevice(...): KEY_TPD_ENABLED
    2020-04-12T18:15:41.323Z TouchpadIndicator._syncTouchpad(false, enabled, false)
    2020-04-12T18:15:41.325Z TouchpadIndicator._syncTouchpad(...): Lib.METHOD.GSETTINGS
    2020-04-12T18:15:41.326Z TouchpadIndicator._onsetTouchpadEnable(false, enabled)
    2020-04-12T18:15:41.329Z TouchpadIndicator._onsetTouchpadEnable(...): set `send-events` to disabled
    2020-04-12T18:15:41.331Z TouchpadIndicator._logSKeyChange(): System `send-events` Key Changed
    2020-04-12T18:15:41.333Z TouchpadIndicator._queueSyncPointingDevice([object instance wrapper GIName:Gio.Settings jsobj@0x7f3eb8587140 native@0x56130b4e70d0])
    2020-04-12T18:15:41.336Z TouchpadIndicator._checkGconfSync(false, disabled)
    2020-04-12T18:15:41.338Z Synclient._switch: false
    2020-04-12T18:15:41.339Z Synclient._disable()
    2020-04-12T18:15:41.362Z TouchpadIndicator._queueSyncPointingDevice(...) - Already in sync.
    2020-04-12T18:15:41.367Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 1
    2020-04-12T18:15:41.368Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:15:41.370Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 3
    2020-04-12T18:15:41.371Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 1
    2020-04-12T18:15:41.373Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
    2020-04-12T18:15:41.376Z TouchpadIndicator._onDevicePlugged(...): /dev/input/mouse0 4
    2020-04-12T18:15:41.403Z TouchpadIndicator._onDevicePlugged(...): /dev/input/event5 4
askmrsinh commented 4 years ago

Thank you! I may have a possible fix for your case, it would be great if you could confirm that it works.

  1. remove old extension directory rm -rf ~/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt;
  2. clone repo git clone "https://github.com/user501254/TouchpadIndicator.git" ~/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt;
  3. checkout branch with the fix cd ~/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt; git checkout issue-44
  4. restart GNOME Shell by pressing Alt+F2, r, Enter or by Logging out and Logging in.
  5. verify auto-switch functionality
evaldez89 commented 4 years ago

:clap: :clap: :clap: :clap: :clap: It worked!! Thanks!

Should I stay in this branch or wait for you to update the extension and reinstall it with gnome-tools?

askmrsinh commented 4 years ago

You can stay on the current branch with the fix. It will take me some time to push a proper update via https://extensions.gnome.org/.

This was a regression in the recent release and has been addressed via cd882ca0c8e5512e58489784d8535fec7d65f425. I have uploaded a new version (v35 on extensions.gnome.org).