Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not working on Wayland #11

Open
abradshaw opened this issue Jan 15, 2017 · 18 comments
Open

Not working on Wayland #11

abradshaw opened this issue Jan 15, 2017 · 18 comments

Comments

@abradshaw
Copy link

abradshaw commented Jan 15, 2017

Im not sure this is the right place for this, but my wifes new laptop runs F25 on Wayland and the touchpad indicator didnt seem to work - however logging into a Xwindow session it works perfectly

As I say, I dont know if this is the place to report it - so please close this if its the wrong place

PS when it worked under X - my wife was VERY happy - thanks for this extension

@scoronado12
Copy link

I would like to confirm this as well, I am using Arch Linux.

@olegTarassov
Copy link

fedora 25 - wayland, I can confirm it is not working.

I noticed after installing this extension that after resuming from sleep, gnome-shell crashes: cannot log back into my session and must hard power ( button ). Was able to test using different scenarios and finally i was able to isolate the issue with this extension enabled that causes gnome to crash or not respond.

But the extension works very well in disabling the touchpad or enabling it I did not test with auto disable feature.

Hope it can be fixes as it is an amazing extension that should be on default list of what to install :)

@askmrsinh
Copy link
Owner

@abradshaw
The term "didnt seem to work" is quite vague. 😅
Could you tell me what exactly is not working for you?

@arcadian09
Are you suggesting that the auto-disable feature is causing problems but besides that the other functions of the extension itself works?

@ghost
Copy link

ghost commented Nov 13, 2017

I have a similar problem: I use it on a thinkpad laptop with ubuntu 17.10. So I have a touchpad, some buttons and the trackpoint. I want all of them disabled when a mouse is attached. It works under xorg with synclient (i also have two fields to configure: trackpoint and -pad), but when I restart the gnome session under wayland, synclient is not available and the trackpoint is NOT disabled when I attach a mouse (there is no field where I can configure the trackpoint, only the pad)

Another think is that a click on "Touchpad preference" does not open the preference, only switches the mouse pointer to a spinner which just keeps on spinning.

@kitingChris
Copy link

I can confirm this issue.

I am using Ubuntu 17.10 on a Dell Latitude 5580 with a touchpad and trackpoint.

Situation with Wayland:
screenshot from 2018-01-29 12-42-51
screenshot from 2018-01-29 12-42-24

$ xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:15                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:15            	id=7	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:15                    	id=8	[slave  keyboard (3)]

Situation with Xorg:
screenshot from 2018-01-29 12-46-09

⎡ 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 MX Master                      	id=11	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=15	[slave  pointer  (2)]
⎜   ↳ DLL07D1:01 044E:120B                    	id=16	[slave  pointer  (2)]
⎜   ↳ DualPoint Stick                         	id=17	[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)]
    ↳ Integrated_Webcam_HD: Integrate         	id=12	[slave  keyboard (3)]
    ↳ HID 041e:30d3                           	id=13	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=14	[slave  keyboard (3)]
    ↳ Intel HID events                        	id=18	[slave  keyboard (3)]
    ↳ Intel HID 5 button array                	id=19	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=20	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=21	[slave  keyboard (3)]
    ↳ Logitech MX Master                      	id=22	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=23	[slave  keyboard (3)]

The main issue may be here that xinput under wayland gives only limited information about the actual input devices.

As you see in the screens in the debug both the trackpoint (DualPointStick) and the touchpad (DLL07D1:01 044E:120B) are given in the list. However switching to one of both it is still not able to disable it. Tring to do so the Confirm dialog with "There seems to be no other mouse device enabled" pops up.
Confirming has no effect.
The slider still is on on and the touchpad nor the trackpoint are disabled.

@vasyugan
Copy link

vasyugan commented Aug 9, 2018

On my Thinkpad T420 with Debian Buster, the extension is half-functional under Wayland: It recognizes when the mouse is disconnected and enables the touchpad, but it does not recognize when it is plugged back in.

@patchlog
Copy link

I think I have the same problem. I'm using ubuntu 18.04 with Wayland and a Microsoft all in one keyboard. When I start touchpad0-indicator it throws this error:
Touchpad-Indicator version: 2.1.2-0extras18.04.0 Traceback (most recent call last): File "/usr/bin/touchpad-indicator", line 36, in <module> main() File "/usr/share/touchpad-indicator/touchpadindicator.py", line 717, in main TouchpadIndicator() File "/usr/share/touchpad-indicator/touchpadindicator.py", line 120, in __init__ self.read_preferences(is_on_start=True) File "/usr/share/touchpad-indicator/touchpadindicator.py", line 344, in read_preferences tipo = self.touchpad._get_type(self.touchpad._get_ids()[0]) IndexError: list index out of range

@pcav
Copy link

pcav commented Sep 19, 2018

I confirm, not working here either on Debian Sid, up to date. Jumper Ezbook S3 Pro.
Thanks for any hint, I'm available for testing.

@askmrsinh
Copy link
Owner

askmrsinh commented Feb 3, 2019

Hi @patchlog
You are using a different software package altogether.

@fdinardo
Copy link

fdinardo commented Mar 13, 2020

Hi, on Wayland I get this error:
The settings of extension touchpad-indicator@orangeshirt had an error:

TypeError: this.pointingDevices.filter is not a function

Stack trace:

_filterByType@/home/angelsoul/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/xinput.js:147:60
_populateDebugTab@/home/angelsoul/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:181:32
TouchpadIndicatorSettings@/home/angelsoul/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:61:14
buildPrefsWidget@/home/angelsoul/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:239:20
_showPrefs@resource:///org/gnome/shell/extensionPrefs/main.js:174:38
openPrefs@resource:///org/gnome/shell/extensionPrefs/main.js:159:24
_init/<@resource:///org/gnome/shell/extensionPrefs/main.js:600:62
main@resource:///org/gnome/shell/extensionPrefs/main.js:762:23
@<main>:1:48

On Xorg the extension works great.

I am on ArchLinux running gnome 3.36

@askmrsinh
Copy link
Owner

Can you please tell me what is the output for xinput --list when running on Wayland? And also, how does this compare to xinput --list on Xorg? I suspect that the device is missing from the list when running on Wayland.

@fdinardo
Copy link

On Wayland:

→ xinput --list
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:16                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:16            	id=7	[slave  pointer  (2)]
⎜   ↳ xwayland-touch:16                       	id=9	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:16                    	id=8	[slave  keyboard (3)]

On Xorg

 → xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech K400 Plus                      	id=11	[slave  pointer  (2)]
⎜   ↳ Logitech MX Anywhere 2                  	id=12	[slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen Mouse	id=13	[slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen  	id=14	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=17	[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)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Power Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate         	id=10	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=15	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=16	[slave  keyboard (3)]
    ↳ DELL Wireless hotkeys                   	id=18	[slave  keyboard (3)]
    ↳ Logitech K400 Plus                      	id=19	[slave  keyboard (3)]
    ↳ Logitech MX Anywhere 2                  	id=20	[slave  keyboard (3)]

@askmrsinh
Copy link
Owner

As you can see, under Wayland, xinput provides only a list of virtual devices.

@fdinardo
Copy link

fdinardo commented Mar 14, 2020

Yeah Thanks, after you drove me on the right place to look, I saw the difference:
Now the question is: How this is possible? and how can I tell Wayland that there are other devices?

I know these are not topics that can be answered here, but Can you just show the right direction to troubleshoot this?

Thanks

Also, I am not sure if this matter, but I have set as "Backend to use for enabling or disabling the Touchpad" to "GSettings" instead of "xinput".

Is there any chance to switch to "libinput" ?

@ian-barnes
Copy link

I have the same issue as @fdinardo. Thinkpad, Debian testing.

For what it's worth, here's the error message and stack trace. Line numbers have changed, so must have been an update I guess.

TypeError: this.pointingDevices.filter is not a function

Stack trace:
  _filterByType@/home/ian/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/xinput.js:147:39
  _populateDebugTab@/home/ian/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:181:25
  TouchpadIndicatorSettings@/home/ian/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:61:9
  buildPrefsWidget@/home/ian/.local/share/gnome-shell/extensions/touchpad-indicator@orangeshirt/prefs.js:239:20
  _showPrefs@resource:///org/gnome/shell/extensionPrefs/main.js:57:22
  _extensionsLoaded@resource:///org/gnome/shell/extensionPrefs/main.js:320:13
  _scanExtensions/<@resource:///org/gnome/shell/extensionPrefs/main.js:298:13
  asyncCallback@resource:///org/gnome/gjs/modules/overrides/Gio.js:132:13
  main@resource:///org/gnome/shell/extensionPrefs/main.js:707:5
  @<main>:1:43

And here's the result of running xinput --list:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:16                     	id=6	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:16            	id=7	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:16                    	id=8	[slave  keyboard (3)]

Would really love to get this working again.

@askmrsinh
Copy link
Owner

@fdinardo

Yup using libinput would seem the obvious solution here but it requires elevated permissions to run. Try running libinput list-devices and you will be greeted with something like this:

Failed to open /dev/input/event5 (Permission denied)
Failed to open /dev/input/event1 (Permission denied)
Failed to open /dev/input/event0 (Permission denied)
Failed to open /dev/input/event2 (Permission denied)
Failed to open /dev/input/event6 (Permission denied)
Failed to open /dev/input/event11 (Permission denied)
Failed to open /dev/input/event20 (Permission denied)
Failed to open /dev/input/event10 (Permission denied)
Failed to open /dev/input/event12 (Permission denied)
Failed to open /dev/input/event13 (Permission denied)
Failed to open /dev/input/event14 (Permission denied)
Failed to open /dev/input/event15 (Permission denied)
Failed to open /dev/input/event16 (Permission denied)
Failed to open /dev/input/event17 (Permission denied)
Failed to open /dev/input/event18 (Permission denied)
Failed to open /dev/input/event19 (Permission denied)
Failed to open /dev/input/event7 (Permission denied)
Failed to open /dev/input/event8 (Permission denied)
Failed to open /dev/input/event9 (Permission denied)
Failed to open /dev/input/event3 (Permission denied)
Failed to open /dev/input/event4 (Permission denied)

To get the list of input devices, you need to add sudo to the above command. I can not to do so within the extension for obvious reasons. Further, libinput is not a drop-in replacement for xinput (see: https://news.ycombinator.com/item?id=16406829).

So right now I am not really sure how to proceed.

askmrsinh added a commit that referenced this issue Apr 8, 2020
The extension should continue to work under Wayland with limited functionality. Since Xinput/Synclient can not be used, GSettings will be set as the (only available) switching method.

see #11
@Yves911
Copy link

Yves911 commented Jan 23, 2021

My experience with the extension, using Fedora 33, Gnome 3.38.3 and Wayland on a Lenovo Thinkpad T470
The extension works as expected the first time you install it.
The extension will prevent the session to open after reboot (system freeze) between GDM to Gnome.
Note that extension doesn't freeze the system on a new session under X

@doodzio
Copy link

doodzio commented Feb 16, 2022

My experience with the extension, using Fedora 33, Gnome 3.38.3 and Wayland on a Lenovo Thinkpad T470 The extension works as expected the first time you install it. The extension will prevent the session to open after reboot (system freeze) between GDM to Gnome. Note that extension doesn't freeze the system on a new session under X

Same here, Ubuntu 20.4 (with kernel 5.16.x) and Gnome 3.

Anybody found solution/workaround?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests