[PR #86] [MERGED] Direct mouse and keyboard events without udev #352

Closed
opened 2026-10-15 12:59:57 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/wolf/pull/86
Author: @ABeltramo
Created: 7/17/2024
Status: ✅ Merged
Merged: 7/24/2024
Merged by: @ABeltramo

Base: stable ← Head: dev-wayland-inputs


📝 Commits (9)

  • e51bd44 feat: direct mouse and keyboard events without udev
  • 800de41 CI: pull latest gst-wayland-display
  • c859e15 fix: added UTF paste
  • 832d959 tests: added simple wayland client to properly test events
  • ade86cc feat: implemented Moonlight keyboard modifiers
  • 0dbb7d5 CI: fix ARM Wayland tests
  • eccf69f CI: removed missing axis_value120 from ARM build
  • b5d11a9 CI: ARM test
  • f2d2b7a CI: ARM tests

📊 Changes

20 files changed (+1346 additions, -111 deletions)

View changed files

📝 .github/workflows/linux-build-test.yml (+3 -1)
➕ cmake/ECMFindModuleHelpers.cmake (+277 -0)
➕ cmake/FindWaylandScanner.cmake (+170 -0)
📝 docker/wolf.Dockerfile (+1 -1)
📝 src/core/CMakeLists.txt (+1 -1)
📝 src/core/src/core/virtual-display.hpp (+33 -0)
📝 src/core/src/platforms/linux/virtual-display/wayland-display.cpp (+112 -0)
📝 src/moonlight-protocol/moonlight/control.hpp (+16 -1)
📝 src/moonlight-server/control/input_handler.cpp (+112 -50)
📝 src/moonlight-server/platforms/input.hpp (+2 -1)
📝 src/moonlight-server/platforms/input_linux.cpp (+23 -17)
📝 src/moonlight-server/rest/endpoints.hpp (+4 -14)
📝 src/moonlight-server/state/data-structures.hpp (+6 -2)
📝 src/moonlight-server/wolf.cpp (+28 -6)
📝 tests/CMakeLists.txt (+27 -2)
📝 tests/main.cpp (+6 -0)
📝 tests/platforms/linux/inputtino.cpp (+10 -8)
➕ tests/platforms/linux/wayland-client.hpp (+399 -0)
📝 tests/platforms/linux/wayland-display.cpp (+116 -3)
📝 tests/testMoonlight.cpp (+0 -4)

📄 Description

This will allow Wolf to run on environments where udev/uhid are not present or restricted (ex: WSL2, LXC, cloud instances, ...). It should also reduce latency for those inputs.

Example restricted run command:

docker run \
    --name wolf \
    --network=host \
    -v /tmp/sockets:/tmp/sockets:rw \
    -v /etc/wolf:/etc/wolf:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:rw \
    --device /dev/dri/ \
    ghcr.io/games-on-whales/wolf:dev-wayland-inputs

fixes #73
fixes https://github.com/games-on-whales/gst-wayland-display/issues/4


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/wolf/pull/86 **Author:** [@ABeltramo](https://github.com/ABeltramo) **Created:** 7/17/2024 **Status:** ✅ Merged **Merged:** 7/24/2024 **Merged by:** [@ABeltramo](https://github.com/ABeltramo) **Base:** `stable` ← **Head:** `dev-wayland-inputs` --- ### 📝 Commits (9) - [`e51bd44`](https://github.com/games-on-whales/wolf/commit/e51bd44326a896b8eaab7b924c91642cbbffa5aa) feat: direct mouse and keyboard events without udev - [`800de41`](https://github.com/games-on-whales/wolf/commit/800de41b2fceb770aa7cfee30dcf3f954e2a51ae) CI: pull latest gst-wayland-display - [`c859e15`](https://github.com/games-on-whales/wolf/commit/c859e154e7294db376e5d01d9de776fc38852900) fix: added UTF paste - [`832d959`](https://github.com/games-on-whales/wolf/commit/832d959f1f6a5bb7b03013aa082c13b179ca58bc) tests: added simple wayland client to properly test events - [`ade86cc`](https://github.com/games-on-whales/wolf/commit/ade86cc80db32956ed77bd3de1ff3628e19d102e) feat: implemented Moonlight keyboard modifiers - [`0dbb7d5`](https://github.com/games-on-whales/wolf/commit/0dbb7d568f4c519c742c16e581454fe2d235f62c) CI: fix ARM Wayland tests - [`eccf69f`](https://github.com/games-on-whales/wolf/commit/eccf69fa04a6a8dd25914dab1e36f2adffd55e4e) CI: removed missing `axis_value120` from ARM build - [`b5d11a9`](https://github.com/games-on-whales/wolf/commit/b5d11a9e88bb0e6e8d4c6b08256c38944a831ad8) CI: ARM test - [`f2d2b7a`](https://github.com/games-on-whales/wolf/commit/f2d2b7ad6f5964d89221c09e8a7dc8bfa09757b6) CI: ARM tests ### 📊 Changes **20 files changed** (+1346 additions, -111 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/linux-build-test.yml` (+3 -1) ➕ `cmake/ECMFindModuleHelpers.cmake` (+277 -0) ➕ `cmake/FindWaylandScanner.cmake` (+170 -0) 📝 `docker/wolf.Dockerfile` (+1 -1) 📝 `src/core/CMakeLists.txt` (+1 -1) 📝 `src/core/src/core/virtual-display.hpp` (+33 -0) 📝 `src/core/src/platforms/linux/virtual-display/wayland-display.cpp` (+112 -0) 📝 `src/moonlight-protocol/moonlight/control.hpp` (+16 -1) 📝 `src/moonlight-server/control/input_handler.cpp` (+112 -50) 📝 `src/moonlight-server/platforms/input.hpp` (+2 -1) 📝 `src/moonlight-server/platforms/input_linux.cpp` (+23 -17) 📝 `src/moonlight-server/rest/endpoints.hpp` (+4 -14) 📝 `src/moonlight-server/state/data-structures.hpp` (+6 -2) 📝 `src/moonlight-server/wolf.cpp` (+28 -6) 📝 `tests/CMakeLists.txt` (+27 -2) 📝 `tests/main.cpp` (+6 -0) 📝 `tests/platforms/linux/inputtino.cpp` (+10 -8) ➕ `tests/platforms/linux/wayland-client.hpp` (+399 -0) 📝 `tests/platforms/linux/wayland-display.cpp` (+116 -3) 📝 `tests/testMoonlight.cpp` (+0 -4) </details> ### 📄 Description This will allow Wolf to run on environments where udev/uhid are not present or restricted (ex: WSL2, LXC, cloud instances, ...). It should also reduce latency for those inputs. Example restricted run command: ```bash docker run \ --name wolf \ --network=host \ -v /tmp/sockets:/tmp/sockets:rw \ -v /etc/wolf:/etc/wolf:rw \ -v /var/run/docker.sock:/var/run/docker.sock:rw \ --device /dev/dri/ \ ghcr.io/games-on-whales/wolf:dev-wayland-inputs ``` fixes #73 fixes https://github.com/games-on-whales/gst-wayland-display/issues/4 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:59:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolf#352
No description provided.