Comments (7)
This is similar to #251 in terms of code changes, I think, and might be convenient to consider together.
from xorgxrdp.
It's worth considering.
from xorgxrdp.
I'm working on this. I will submit an initial pull request in May.
from xorgxrdp.
I raised a draft PR #315. We probably need to discuss the specifications.
- Where to configure the scrolling direction?
- xrdp
- xorgxrdp
- Which type of scrolling to reverse?
- touch
- control touch and wheel separately
- all
In my Win11 environment, scroll directions are
- Moving two-finger down on touchpad scrolls upward and vice versa
- Rotating mouse wheel down scrolls downwards and vice versa
and there's no user-facing interface to change the scrolling direction as @rowlap mentioned. I remember it was possible a few years ago though.
We probably don't want to reverse wheel scroll directions so I implemented reversing touch scroll first. If we control the scrolling direction on xrdp side, we need to care about VNC backend that doesn't distinguish between touch scroll and wheel scroll.
@rowlap @matt335672 What do you think?
from xorgxrdp.
Also, it would be nice if we could configure this kind of configuration via libinput.
from xorgxrdp.
Where to configure the scrolling direction?
If the virtualized mouse / touchpad were to advertise support for what libinput calls "Natural scrolling", I think we'd be fine. The request came via a user who was previously overriding with xmodmap
, for mouse wheel direction.
from xorgxrdp.
I've had a quick look at this.
The TigerVNC (at least for 1.12.0) is similar to the xrdp one:-
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TigerVNC pointer id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ TigerVNC keyboard id=7 [slave keyboard (3)]
$ xinput list-props 'TigerVNC pointer'
Device 'TigerVNC pointer':
Device Enabled (119): 1
Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (240): 0
Device Accel Constant Deceleration (241): 1.000000
Device Accel Adaptive Deceleration (242): 1.000000
Device Accel Velocity Scaling (243): 10.000000
Adding support for libinput won't automatically work with VNC, but if we can get this working it might(?) be possible to raise a PR on TigerVNC.
From what I can tell, we'd need to pull bits of the xf86-ibput-libinput driver into xrdpmouse.
The repo for that driver is here, but it looks like it's about to go away for 48 hours:-
https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput
Debian mirror is here:-
https://salsa.debian.org/xorg-team/driver/xserver-xorg-input-libinput
I'd be happy to look at it, but I'm a bit snowed under at the moment.
from xorgxrdp.
Related Issues (20)
- xfreerdp: caps lock sometimes gets out of sync / works inverted HOT 9
- building source error, error: ‘struct xrdp_client_info’ has no member named ‘monitorCount’ HOT 3
- Stuck in blue screen with "connection problem, giving up" HOT 11
- [v0.9] too fast scroll speed with macOS RDP client (again) HOT 23
- Unable to reconnect after restarting xorgxrdp HOT 24
- Add VA-API support to leverage WSL2 video hardware acceleration
- GFX: move to posix shm HOT 2
- In rdpLRANDR.c why set refresh rate to 50Hz? HOT 7
- xorgrdp: XF86VidModeSetGamma() -> BadValue HOT 3
- Can't mount drives after xrdp update HOT 1
- V0.10.0 - release note title incorrect HOT 1
- 0.10 version AUR not starting HOT 15
- xorgxrdp-glamor with virtualbox-guest-utils (VirtualBox Arch VM) HOT 2
- building 0.9.20 on debian gnu/linux sid HOT 1
- xorgxrdp uses high CPU in CRC HOT 15
- No release assets on tagged v0.10.1 release? HOT 3
- Complex dirty region causes overflow of xrdp comms buffer HOT 17
- black screen on login (NVidia / glamor) HOT 7
- Release v0.10.2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xorgxrdp.