Add Stream command for HID event sequences #2
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.
π New Feature: Stream Command for HID Event Sequences
This PR adds a powerful new
streamcommand to AXe that enables executing complex sequences of HID events from JSON input, supporting both batch and streaming execution modes.β¨ Key Features
ποΈ Architecture
The implementation follows AXe's existing patterns and leverages the IDB library's
FBSimulatorHIDEventcomposite event capabilities:EventSequence.swift- Data models with full validationEventSequenceParser.swift- JSON parsing with comprehensive error handlingHIDEventFactory.swift- Converts parsed events toFBSimulatorHIDEventobjectsStream.swift- Main CLI command with batch/streaming executionπ Usage Examples
Simple tap sequence
Complex automation from file
Validation and testing
π Files Added
π― Use Cases
π Example JSON Structure
{ "metadata": { "name": "Login Automation", "description": "Automated login sequence" }, "settings": { "default_delay": 0.3, "stop_on_error": true, "max_execution_time": 60.0 }, "events": [ { "type": "tap", "parameters": {"x": 200, "y": 300}, "pre_delay": 1.0, "id": "tap_username_field", "description": "Tap on username field" }, { "type": "type", "parameters": {"text": "[email protected]"}, "post_delay": 0.5 } ] }β Testing
π Documentation
This implementation provides a solid foundation for complex HID event automation while maintaining AXe's existing architecture and patterns.
π» View my work β’ About Codegen