Repository navigation
fix(device): route developer input through SDL console - #588
Merged
Merged
Conversation
This was referenced Aug 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sendkeys --sdlmode for developer automation against Bloom Shell's actual SDL console input path/mnt/SDCARD/.bloom-devmarker before console injection/dev/tty2character device and open it no-follow, close-on-exec, and without acquiring a controlling terminal/dev/input/event0behavior for existing non-Shell callersatoiparsing with bounded full-string parsing in both modesRoot cause
Read-only Mini Plus inspection showed the corrected Bloom Shell PID has
/dev/tty2open through SDL and no/dev/input/event0descriptor. The physical GPIO keyboard is registered with bothkbdandevent0handlers. The inherited helper writes the evdev node, but writing that node does not feed the already-open console keyboard path, so it returned success while Bloom Shell saw no START, D-pad, A, or B event.The device kernel exposes no
/dev/uinput,/dev/misc/uinput, uinput sysfs class, loaded module, or available module. The bounded console-injection mode therefore uses the same Linux medium-raw scan-code path that SDL reads, but only when explicitly requested in developer mode.Host validation
-Wall -Wextra -Werrorsyntax compile: passsendkeys, staticsrc/sendkeys, no native/visual selector, focusedsendkeys_contract.batsgit diff --check: passDevice gate
cd6ddfe00afd38ee7cd8700d74e03cd742d87f4aBloomOS-v0.1.0-dev-cd6ddfe0.zip, 199,852,213 bytes, SHA-25625e455a3ab4cf2bff35ecfa2f285c1f01e0422b96d9b64945198c9841fab0bc0603adc2432487c74e1db4ad92953467595518e01500a78078e352b49dca36a10; Ed25519 signature verified against the repository release public key1dcbb004e50ec7af47e2a5589ea50cdb031ed2be31c72a73c30703291bc80fff; repository metadata/payload validator passedonion.pak: 87,968,260 bytes, SHA-2568e5642441f6abdfcca904792197e624da14ab295deb71d7d9c6b85495699b38d, exactly matching the signed payload manifestsendkeys: 18,084 bytes, SHA-256572736c120a0ad08c2da02d3af3d9c2176297d97defd1b14f5a7ac23306282a1/tmp/bloom-sendkeys-cd6ddfe0; remote byte count and SHA-256 matched before executionknown_good, canonical sessionIDLE, network transaction idle with inactive recovery lease, associated Wi-Fi, clean listener audit, one Shell PID, and no pending Shell signalWi-Fi: On / Connected; the gate never selected or changed the Wi-Fi row3582, canonical sessionIDLE, associated Wi-Fi, and a clean listener audit with only reviewed key-only SSH/tmpcandidate was removed; installedsendkeysremained exactly 18,080 bytes with SHA-256c244bff7f442a5e8e44b97b2db4a4b634d404ad116b45dfd80a2329b20098677before and afterSafety and limitations
mainafter docs(program): record NET-05 recovery evidence #587--sdlRelated: #442, #544, #584, #585.