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

Can't turn on finger touch once it has been turned off #9

Closed crowtrobot closed 4 years ago

crowtrobot commented 8 years ago

After disabling finger touch, I can't enable it again. The only way to make the touchpad work again is to remove the extension and reboot (or log out and log in). If I enable the extension it immediately disables finger touch.

As a work-around, I can uninstall the extension, log out and log back in, run "dconf reset -f "/org/gnome/shell/extensions/touchpad-indicator/"" to clear its settings, and install the extension again.

touchpad-indicator.log is empty, so I don't have any logging info I can send.

Maybe this will help

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger touch     id=9    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus       id=10   [slave  pointer  (2)]
⎜   ↳ Elantech PS/2 TrackPoint                  id=13   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=14   [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser       id=16   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=15   [slave  keyboard (3)]
mariogeiger commented 7 years ago

Me too !

disegnodesign commented 7 years ago

Me too, ubuntu-gnome 16.04 e thinkpad p40, help me, please

genofire commented 7 years ago

Me too, i could enable it with xinput command again: xinput enable 9 and xinput set-prop 9 "Device Enabled" 1

turbovan commented 7 years ago

Me too - Lenovo X1 Yoga

Following appears in the journal when trying to re-enable:

May 13 21:49:30 x1 gnome-shell[27283]: JS ERROR: InternalError: too much recursion
    touchpadIndicatorButton<._fingertouch_changed@/home/ch/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/extension.js:744:13
                                       wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
<repeats many times>
onMenuSelect@/home/ch/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/extension.js:871:17
                                       _emit@resource:///org/gnome/gjs/modules/signals.js:126:27
                                       PopupSwitchMenuItem<.toggle@resource:///org/gnome/shell/ui/popupMenu.js:361:9
                                       wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                       PopupSwitchMenuItem<.activate@resource:///org/gnome/shell/ui/popupMenu.js:347:13
                                       wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                       PopupBaseMenuItem<._onButtonReleaseEvent@resource:///org/gnome/shell/ui/popupMenu.js:125:9
                                       wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
askmrsinh commented 7 years ago

@turbovan @genofire Could you kindly provide me the whole journal? Output of xinput would also help.

turbovan commented 7 years ago

Sorry for the long delay. My journal is massive so I can't post it all. However there is nothing else in there related.

Looking in the code, there is an infinite recursion at this line: if (state != this._CONF__fingertouchEnabled) this.gsettings.set_boolean('fingertouch-enabled', state);

So I guess the gsettings call does not change the setting. I have also tried with both switch methods selected in the extension preferences - no change.

Here is my xinput:

$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=17 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser id=20 [slave pointer (2)] ⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus id=10 [slave pointer (2)] ⎜ ↳ Lenovo USB Receiver id=14 [slave pointer (2)] ⎜ ↳ Lenovo USB Receiver id=21 [slave pointer (2)] ⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger touch id=9 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Yubico Yubico Yubikey II id=15 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=19 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ C-Media Electronics Inc. ThinkPad OneLink Plus Dock Audio id=12 [slave keyboard (3)] ↳ Lenovo USB Receiver id=13 [slave keyboard (3)] ↳ Lenovo USB Receiver id=18 [slave keyboard (3)]

lverissimo commented 6 years ago

same problem with me on a Lenovo Thinkpad yoga 370. It worked again with the solution from genofire.

askmrsinh commented 5 years ago

Sorry for addressing this so late but I am working on a new version of the extension and would like to round up this issue.

Could you please help me with the device make/model number? Also, I would need the output of cat /proc/bus/input/devices to work on a potential fix.

crowtrobot commented 5 years ago

Sorry, I no longer own that machine so I can't provide any output from /proc. I can tell you that it was a Thinkpad yoga 460. Hopefully someone else with a similar device can help.