Walletwasabi: Touchpad scrolling not working

Created on 21 Nov 2019  路  14Comments  路  Source: zkSNACKs/WalletWasabi

General Description

The touchpad two finger scrolling on my laptop is not working anywhere in Wasabi, neither to scroll up and down for example the history, nor left and right in the send tab.

Operating System

I'm of course running the edge case of an edge case setup, with Qubes 4, a Debian 10 VM and i3 window manager on top.

Lucas is running Ubuntu and i3, and the touchpad scrolling does work for him, so it seems it's not an i3 issue.
So this leaves me speculating that it is a Qubes issue, thus I ping @davterra and @kixunil to please quickly verify if touchpad scrolling works for them, or not.
It might be a debian issue, but I rather doubt that...

Wasabi Version

I don't recall a time where it did work for me, it is definitely on master 38dedb8159118ad03e460d6c06c0b45b98fe41a8 and 1.1.9.2

debug

Most helpful comment

Fixed on Avalonia master! When we update, you QubesOS aficionados will have scrolling back and working :)

All 14 comments

Shouldn't @jmacato be a better assignee than @danwalmsley since he is the Linux guru here?

This issue baffles me, of all distros i've tried Wasabi on, I never had/have any issues with two-finger scrolling, even with weird distros like Void, Trisquel, etc... So I'm thinking that Qubes may not be passing Xorg scroll events correctly (iirc Qubes isolates usb devices, including internal usb touchpads in a separate VM).

I just tried but with Debian 9 template. Scrolling doesn't work there either.

Possibly relevant: my touchpad is internally connected as PS/2, not USB for security reasons.

@jmacato every other application works with scrolling perfectly, so it may be Avalonia (or whatever internal is used) not handling inputs correcty.

Is there any tool to capture the data being passed around? We could compare them.

@Kixunil interesting that you can rewire your touchpad from USB into PS/2 :) Anyway please try using xev and see what is the output when you do 2-finger scroll.. mine looks like this:

ButtonPress event, serial 38, synthetic NO, window 0x9e00001,
    root 0x241, subw 0x0, time 61706788, (70,38), root:(733,545),
    state 0x10, button 4, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x9e00001,
    root 0x241, subw 0x0, time 61706788, (70,38), root:(733,545),
    state 0x810, button 4, same_screen YES

relevant portion would be the button field i think, down scroll is button 5 while up scroll is button 4

Hmm, I didn't want to give the impression that I rewired it myself, I use Purism Librem 13 which has it designed that way from the beginning intentionally (based on discussion with QubesOS devs).

Yes, my output looks similar:

ButtonRelease event, serial 31, synthetic NO, window 0xe00001,
    root 0x27e, subw 0x0, time 2322515, (100,86), root:(971,562),
    state 0x800, button 4, same_screen YES

ButtonPress event, serial 31, synthetic NO, window 0xe00001,
    root 0x27e, subw 0x0, time 2322795, (100,86), root:(971,562),
    state 0x0, button 5, same_screen YES

Looks like the state field has different values, which might be important. AFAIU, it's a bit field. I tried to look up the defines to decode it, but didn't find it.

Ahh that makes sense, didn't know Purism opted with PS/2 instead of USB. Anyway yeah, the bitfield is quite different, im speculating that it's the scroll delta and the LSB suggests that delta is -0 (0x800) & 0 so yeah, no scrolling action will happen with that values...
EDIT: this may not be correct since i've seen some docs contradicting this (https://wiki.ubuntu.com/DebuggingTouchpadDetection/xev)

my output of xev and then two finger scrolling is:

ButtonPress event, serial 31, synthetic NO, window 0x1400001,
    root 0x3aa, subw 0x0, time 4640478, (425,94), root:(427,819),
    state 0x10, button 4, same_screen YES

ButtonRelease event, serial 31, synthetic NO, window 0x1400001,
    root 0x3aa, subw 0x0, time 4640478, (425,94), root:(427,819),
    state 0x810, button 4, same_screen YES

MotionNotify event, serial 31, synthetic NO, window 0x1400001,
    root 0x3aa, subw 0x0, time 4640761, (425,74), root:(427,799),
    state 0x10, is_hint 0, same_screen YES

MotionNotify event, serial 31, synthetic NO, window 0x1400001,
    root 0x3aa, subw 0x0, time 4640774, (425,41), root:(427,766),
    state 0x10, is_hint 0, same_screen YES

General Description

The touchpad two finger scrolling on my laptop is not working anywhere in Wasabi, neither to scroll up and down for example the history, nor left and right in the send tab.

Operating System

I'm of course running the edge case of an edge case setup, with Qubes 4, a Debian 10 VM and i3 window manager on top.

Lucas is running Ubuntu and i3, and the touchpad scrolling does work for him, so it seems it's not an i3 issue.
So this leaves me speculating that it is a Qubes issue, thus I ping @davterra and @Kixunil to please quickly verify if touchpad scrolling works for them, or not.
It might be a debian issue, but I rather doubt that...

Wasabi Version

I don't recall a time where it did work for me, it is definitely on master 38dedb8 and 1.1.9.2

Just saw this, Max.
I had to stop using qubes, but I can confirm that using ubuntu + i3 within virtualbox, on the most recent commit 4bb971, I am able to two-finger scroll.

Closing this unless someone has any objection.

I think @jmacato is still tinkering on it?
It's definitely not fixed for me, so I'm reopening

Hola folks... Now that I've installed Qubes on my own laptop, I figured that this is caused by Qubes filtering out the scroll delta values in XInput or them just using an old X11 proxy protocol that doesnt have scroll values... Hence we may need to support legacy X11 scroll events in Avalonia before this can be fixed.

Fixed on Avalonia master! When we update, you QubesOS aficionados will have scrolling back and working :)

Woop woop - thanks @jmacato!

Avalonia 10 fixes this - and touchpad scrolling works great on current fluent design.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yahiheb picture yahiheb  路  3Comments

davterra picture davterra  路  3Comments

trading2835 picture trading2835  路  3Comments

the-metalworker picture the-metalworker  路  3Comments

RiccardoMasutti picture RiccardoMasutti  路  3Comments