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

REQ: add org.freedesktop.portal.RemoteDesktop portal support #23

Open
Quackdoc opened this issue Feb 7, 2024 · 6 comments
Open

REQ: add org.freedesktop.portal.RemoteDesktop portal support #23

Quackdoc opened this issue Feb 7, 2024 · 6 comments

Comments

@Quackdoc
Copy link

Quackdoc commented Feb 7, 2024

i realize this is fairly low priority, especially for its intended use case. however, this portal also allows kde connect to have input through its virtual keyboard and mouse. this is actually fairly important for a couple reasons, but the largest one for me personally is it allows me to use my phone as a input device, which helps a lot with my RSI. So it does have some accessibility benefits as well as virtual and remote desktop.

@ids1024
Copy link
Member

ids1024 commented Feb 7, 2024

There is a plan for this, at least. https://github.com/ids1024/reis has a Rust implementation of the libei protcol. That needs to be integrated into the compositor, then the remote desktop portal can be added.

Though when I looked for things that use the portal, it seemed like the vnc and rdp implementations for wlroots/Gnome/KDE all require DE specific APIs, and as far as I could tell there isn't currently a vnc implementation that just uses xdg desktop portals.

Not sure what KDE connect requires.

@quexten
Copy link

quexten commented Feb 13, 2024

Not sure what KDE connect requires.

KDE connect uses remotedesktop portal for injecting input https://github.com/KDE/kdeconnect-kde/blob/87a33d12936f2a3c58e306564ce78b0caadfa001/plugins/mousepad/waylandremoteinput.cpp#L63 , so any interfaces besides the pipewire/screencast stuff are required.

Another tool that seemingly uses the portal is the remote desktop software RustDesk: https://github.com/rustdesk/rustdesk/blob/3f7244f23f94e3d974cee86f81cd3f6d2673655d/libs/scrap/src/wayland/remote_desktop_portal.rs#L8

Finally, for auto-typing of passwords, my project https://github.com/quexten/goldwarden uses the portal too (hence I checked this thread).

@ids1024
Copy link
Member

ids1024 commented Feb 14, 2024

I assumed KDE Connect was more KDE-specific, but I guess the documentation emphasizes using standards that work across desktops. Which is great! Now that the Wayland ecosystem is standards for these things. I've only used it with gsconnect, which re-implements KDE Connect in a Gnome Shell extension.

So yeah, I guess KDE Connect and Rustdesk are the things to test this with. As well as Input Leap.

For keyboard emulation, wtype currently works, using the zwp_virtual_keyboard_v1 protocol. But libei is probably overall a better solution for that.

@PedroHLC
Copy link

PedroHLC commented Feb 23, 2024

Another good example, using both RemoteDesktop and InputCapture (and ConnectToEIS) is https://github.com/input-leap/input-leap -- the only good working implementation so far is gnome's portal.

Edit: https://github.com/feschber/lan-mouse supports more methods and is overall more interesting.

@ids1024
Copy link
Member

ids1024 commented Apr 18, 2024

There's still work to properly integrate ei into smithay and cosmic-comp, but Smithay/smithay#1388 has a rough prototype.

@dmac-au
Copy link

dmac-au commented Nov 8, 2024

I created an issue on cosmic-comp related to this before I realized it was related to portals and not the compositor. Is this issue also for InputCapture?

My use case is for deskflow/synergy usage, which requires InputCapture for the server and RemoteDesktop for the client.

pop-os/cosmic-comp#980

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

No branches or pull requests

5 participants