rob thijssen
ab74f607e8
CI / fmt (push) Successful in 30s
CI / check (push) Successful in 1m9s
CI / clippy (push) Successful in 1m9s
feat: phase 6 — keyboard/mouse input + fix Tight zlib init
input.rs:
- write_key_press/release/tap: scancode | 0x80 = press, bare = release
- JavaScript KeyboardEvent.code → e-RIC scancode mapping (104pc layout)
- Hotkey sequence sender (raw hex byte strings from applet params)
- write_ctrl_alt_del() using HOTKEYCODE_0 "36 f0 37 f0 4e"
- PointerEvent writer already in msg.rs (8 bytes, absolute mode)
- 5 unit tests
Tight zlib fix:
- Changed Decompress::new(true) for zlib-wrapped format (matching
Java's Inflater() which expects zlib header 78 9C)
- Added output length verification after decompression
- Tested: Tight-encoded frames now decode correctly from real device
37 tests passing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>