Expand description
AnalogProcessor for EV_ABS event handling with deadzone filtering
This module provides analog stick processing with:
- Deadzone filtering (values within deadzone return None)
- Sensitivity adjustment (multiplier for output values)
- Response curve application (Linear, Exponential)
- Per-device calibration state tracking
§Processing Pipeline
- Deadzone Filter: If |value| < deadzone, return None (no event)
- Normalization: Map (deadzone, max) to (0, max)
- Sensitivity: Apply multiplier (default 1.0)
- Response Curve: Apply Linear or Exponential transformation
§Device Configurations
Each device has independent analog configuration:
- deadzone: 0-32767 range (default ~14000 for ~43%)
- sensitivity: 0.1-5.0 multiplier (default 1.0)
- response_curve: Linear or Exponential
§Examples
ⓘ
let processor = AnalogProcessor::new();
// Process analog event
if let Some(processed) = processor.process_event("1532:0220", 61000, 25000).await {
// Send processed value to macro engine
} else {
// Value was filtered by deadzone
}
// Configure device
processor.set_deadzone("1532:0220", 16000).await;
processor.set_sensitivity("1532:0220", 1.5).await;Structs§
- Analog
Processor - Analog processor for EV_ABS event handling
- Device
Analog Config - Per-device analog configuration
- Mouse
Velocity Config - Mouse velocity configuration for analog-to-mouse processing
Enums§
- Analog
Mode - Analog output mode determines how processed stick values are emitted
- Camera
Output - Camera mode output value
- Camera
Output Mode - Camera mode output type (user-selectable)
- Direction
- Direction for D-pad emulation
- Dpad
Direction - 8-way D-pad direction for analog stick to D-pad conversion
- Dpad
Mode - D-pad emulation mode for analog sticks
- Response
Curve - Response curve type for analog processing
Constants§
- MAX_
ABS_ VALUE - Maximum absolute value for evdev analog events
Functions§
- camera_
direction_ to_ keys - Convert D-pad direction to camera control keys
- default_
mouse_ velocity_ config - Default mouse velocity configuration
- direction_
to_ key_ code - Convert direction to arrow key code
- dpad_
direction_ to_ keys - Convert D-pad direction to Linux key codes
- wasd_
direction_ to_ keys - Convert D-pad direction to WASD key codes