v1.4.1: keyboard and mouse over the network, AppImage version #6
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
khyretos/3dco-plus!6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/v1.4.1-network-input-jbsclo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Requested by Kees · project thread
Before: a network receiver only showed controller and joystick input. Keyboard and mouse models did nothing on the receiving end. Installed AppImages showed no version in AppImage managers.
After: keys, mouse movement, mouse buttons (1 to 8) and the scroll wheel reach the receiver. The AppImage's desktop entry carries
X-AppImage-Version, so installers show 1.4.1.Why keyboard/mouse didn't work. The receiver compared lowercased bindings (
key_w) against SDL's mixed-case names (W), so no key ever matched. Separately, the sender readGlobalKeyboard::getMouseDelta()a second time aftercontroller_window_input()had already drained it, so movement was always sent as 0.How
getKeyNameMap(), the same lookup local input uses. The sender adds up the frame's global mouse and scroll deltas while the link is up, sends them whenever they're non-zero, and clears them after each send. Previously it diffed against the last packet, which dropped steady movement. Scroll (sx/sy) and mouse buttons 6 to 8 are new in the packet and are applied on the receiver. Keyboard and mouse-button meshes also settravel_valuenow, matching local input.generated/app_version.txt, writesX-AppImage-Versioninto the desktop entry, and passes it to appimagetool asVERSION.release-notes/v1.4.1.md(embedded into What's New and used as the release description) and 1.4.1 sections in README and INSTRUCTIONS.Both sender and receiver need 1.4.1. The new packet fields are additive, so an older receiver just ignores them.
Tested: full native Linux build and ctest (4/4) pass.
GenerateVersion.cmakewithv1.4.1embeds the new notes. The two-machine network path and the Docker AppImage build were not run here.🤖 Generated with Claude Code
https://claude.ai/code/session_01MDzc6APMQTL21Su6fHAxL1
Generated by Claude Code