+ #[doc = " @brief Create a KWin / Linux Wayland controller via PipeWire and /dev/uinput.\n\n Despite the name \"KWin\", this controller works with any Wayland compositor that\n implements the XDG Screencast Portal and kernel has uinput support (e.g., GNOME).\n\n @param device_node The uinput device node path (e.g., \"/dev/uinput\").\n @param screen_width The screen width in pixels.\n @param screen_height The screen height in pixels.\n @param use_win32_vk_code If true, key codes passed to click_key / key_down / key_up are\n interpreted as Win32 Virtual-Key codes (VK_*) and translated to Linux evdev codes\n internally. If false, key codes are passed through as raw evdev codes.\n @return The controller handle, or nullptr on failure.\n\n @note Dependencies: pipewire (1.0+), xdg-desktop-portal.\n @note Screencap is implemented via PipeWire / xdg-desktop-portal.\n @note Input is simulated via /dev/uinput (kernel-level virtual input devices).\n @note Requires user authorization via the screen sharing dialog (xdg-desktop-portal).\n @note Requires write permission to /dev/uinput (typically via the \"input\" group).\n It is recommended to configure a udev rule:\n KERNEL==\"uinput\", MODE=\"0660\", GROUP=\"input\"."]
0 commit comments