This forum has been archived. All content is frozen. Please use KDE Discuss instead.

fake-input protocol not supported?

Tags: None
(comma "," separated)
feschber
Registered Member
Posts
1
Karma
0

fake-input protocol not supported?

Wed Feb 15, 2023 1:27 pm
Hello everyone,

I'm trying to build a mouse-sharing application / software kvm with wayland support as a primary goal: https://github.com/ferdinandschober/lan-mouse.

While I plan to use https://gitlab.freedesktop.org/libinput/libei in the future, I thought I'd try to support input emulation directly through wayland protocols as well,
which works great using the wlroots protocols https://wayland.app/protocols/wlr-virtual-pointer-unstable-v1 and https://wayland.app/protocols/virtual-keyboard-unstable-v1.
For KDE the fake-input protocol https://wayland.app/protocols/kde-fake-input appeared to be the way to go, but when listing globals the protocol does not show up.

Output from https://github.com/smithay/wayland-rs globals example:
Code: Select all
$ cargo run --example list_globals           
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s
     Running `target/debug/examples/list_globals`
Advertized globals:
[1] wl_compositor (v5)
[2] zwp_tablet_manager_v2 (v1)
[3] zwp_keyboard_shortcuts_inhibit_manager_v1 (v1)
[5] xdg_wm_base (v4)
[6] zwlr_layer_shell_v1 (v3)
[7] zxdg_decoration_manager_v1 (v1)
[8] wp_viewporter (v1)
[9] wl_shm (v1)
[10] wl_seat (v7)
[11] zwp_pointer_gestures_v1 (v3)
[12] zwp_pointer_constraints_v1 (v1)
[13] zwp_relative_pointer_manager_v1 (v1)
[14] wl_data_device_manager (v3)
[15] zwlr_data_control_manager_v1 (v2)
[16] zwp_primary_selection_device_manager_v1 (v1)
[17] org_kde_kwin_idle (v1)
[18] zwp_idle_inhibit_manager_v1 (v1)
[19] org_kde_plasma_shell (v8)
[20] org_kde_kwin_appmenu_manager (v1)
[21] org_kde_kwin_server_decoration_palette_manager (v1)
[23] org_kde_plasma_virtual_desktop_management (v2)
[25] org_kde_kwin_shadow_manager (v2)
[26] org_kde_kwin_dpms_manager (v1)
[27] org_kde_kwin_server_decoration_manager (v1)
[28] kde_output_management_v2 (v2)
[29] kde_primary_output_v1 (v2)
[30] zxdg_output_manager_v1 (v3)
[31] wl_subcompositor (v1)
[32] zxdg_exporter_v2 (v1)
[33] zxdg_importer_v2 (v1)
[35] xdg_activation_v1 (v1)
[37] wp_drm_lease_device_v1 (v1)
[40] wl_drm (v2)
[41] zwp_linux_dmabuf_v1 (v4)
[43] kde_output_device_v2 (v2)
[44] kde_output_device_v2 (v2)
[45] wl_output (v4)
[46] wl_output (v4)
[47] zwp_text_input_manager_v2 (v1)
[48] zwp_text_input_manager_v3 (v1)
[50] org_kde_kwin_contrast_manager (v2)
[51] org_kde_kwin_blur_manager (v1)
[52] org_kde_kwin_slide_manager (v1)


In fact the protocol does not list any supported compositors (yet?).

I then tried to look at the way kde-connect does it, which raised some questions:

In the CMakeLists.txt file (https://invent.kde.org/network/kdeconnect-kde/-/blob/master/plugins/mousepad/CMakeLists.txt), the protocol seems to be required, however I can't seem to find any use of it.
Instead, the remote desktop portal appears to be used here (https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.portal.RemoteDesktop).

What is the current state of the fake-input protocol? Has it simply never been implemented and should not be used?
What should I use instead? Is the RemoteDesktop dbus interface the way to go? Are there any plans to support libei in the future?

Thanks in advance!


Kde version:
Code: Select all
$ plasmashell --version
plasmashell 5.26.5

$ kf5-config --version
Qt: 5.15.8
KDE Frameworks: 5.103.0
kf5-config: 1.0


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], kesang, Yahoo [Bot]