v1.0.0
1.0.0 (2024-08-12)
Bug Fixes
- AllyX: Add Ally X Support (0e7500e)
- Ayaneo: Add gyro support for all current AYANEO models. (d884f57)
- AYANEO: Add hwdb rules for mapping ayaneo scancodes to keys. (fc0373f)
- Ayn: Add gyro support for all current AYN models. (8dcbd25)
- Capability: Block Sync events (661a326)
- Capability: Ensure HAT0-HAT3 are avaialable. (4de18fe)
- Cargo: update to Rust v1.78.0 (7e3dcb8)
- ci: include squashfs-tools in Docker image (c860207)
- CompositeDevice: add DBus capability (767da35)
- CompositeDevice: add dbus endpoints for setting profile (1f0684c)
- CompositeDevice: add mouse motion properties (a0feed7)
- CompositeDevice: create target devices outside of composite devices (4d2a2ed)
- CompositeDevice: don't run blocked source devices (292848e)
- CompositeDevice: Ensure direct_write events are properly delayed. (e65428a)
- CompositeDevice: Ensure non-button events such as gyro do not break intercept mode checking. (5dc8b13)
- CompositeDevice: Ensure proper handling of chord events in a way steam can understand them. (620ec53)
- CompositeDevice: Fix using an intercept chord that is translated into another event. (be7826c)
- CompositeDevice: Increase BUFFER_SIZE to prevent delayed input. (52f84df)
- CompositeDevice: migrate to using composite device client (7e76eb5)
- CompositeDevice: move command enum to its own file (09d4736)
- CompositeDevice: Only manualy handle intercept mode target events as a chord if it is different from the activation event. (59b0ba8)
- CompositeDevice: only route events to target devices capable of handling the event (89ee1ae)
- CompositeDevice: Properly clear BMI source device command queue. (9a98122)
- CompositeDevice: remove double tracking of source devices to allow stopping (628baec)
- CompositeDevice: resolve deadlock issues with switching profiles (8f569d2)
- CompositeDevice: support "on release" single action buttons (c1d8bc7)
- CompositeDevice: use async task to set target devices on profile load to prevent crash (0432e6f)
- CompositeDevice: use recv_many to batch process the queue (04be9b7)
- Config: add ignore for unsupported handlers (dcc3e09)
- Config: add matching on CPU vendor id (763c4d1)
- Config: compare actual product id (df0d2ae)
- Config: only return a match if a whole config block matches (3ec9eeb)
- Config: remove unsafe unwrap to get subsystem (f951c57)
- config: Skip virtual devices. (fbcda74)
- config: Use interface number for seen devices. Don't force all interfaces to be present. (576ac33)
- Config: use schema URL in header instead of local path (76071d4)
- Config: use XDG to derive system paths (a2e1af8)
- Controller: add device profile for Switch Pro controller (2687134)
- dbus: Add missing events to dbus action map. (69ff352)
- DBus: add support for translating keyboard input to dbus input (9b5b732)
- DBus: add volume events for DBus (42998f4)
- DBusDevice: add support for touch events over DBus (b9e5706)
- DBus: seperate DBus interfaces into their own module (d79f93e)
- DBusTarget: handle dpad events separately from axis events (f566cc2)
- DBusTarget: set axis deadzone to 60% (3b867f1)
- DBusTarget: translate analog trigger input to dbus events (24e7aea)
- DBus: use new seperated DBus interfaces (c635425)
- Deck: disable touch emulation until driver fix (32e3920)
- Default Profile: don't map back paddles to stick buttons by default (7322bde)
- Dependencies: update dependencies to latest (c5e38ee)
- Device Discovery: Use inotify for add/remove events. (9f9a188)
- Device: Add OrangePi NEO Initial Support (d41efb1)
- DeviceProfile: include gamepads device profile in distribution (c2773bd)
- devices: Add more devices. (55a5981)
- devices: Ignore devices that aren't specified. (7522f50)
- Dpad: Fix DPad mapping in device profiles. (84e59d6)
- DualSense: add translation for dualsense touchpad (e133c89)
- DualSense: don't stop the device if a stop event is seen (c38a94a)
- DualSense: handle setting composite device channel (18cddf5)
- dualsense: Swap paddle and function initiation events to user expected values. (5db5b71)
- DualSense: Use random mac_addr for dualsense. (cc5dc8e)
- evdev: correctly translate trigger input to ABS (95cd11b)
- evdev: support translating binary input to axis input (c2ca824)
- ForceFeedback: add default implementation for FF that does not error (2a56359)
- format: Remove unused code and comments (35a26c8)
- Gamepad: implement events for xb360 source device (e1df785)
- git: Apply suggestions from code review (a670a80)
- GPD: Add gyro support for all current GPD models. (7633734)
- HIDRaw: add get_capabilities for Steam and Lego controllers (3a05272)
- hwdb: Remove extra spaces before OrangePi hwdb entry. (f1844a1)
- IIO Source: remove unused BUFFER_SIZE (670611a)
- IIO: add ability to override mount matrix (b796faf)
- InputValue: only emit vector2 events with values (6f3f9a1)
- Intercept Mode: Fix using chords when intercept activation is one capability long (a3dc715)
- Intercept: always send guide events over dbus when intercept mode > 0 (694d475)
- Legion Go: Add mouse support to driver. (3014b8b)
- Legion Go: Add status events for the lego controller (c57815e)
- Legion Go: Fix mouse reports. Fix config for different modes. (09b731c)
- Legion Go: Fix Touchpad Input report (376a069)
- Legion Go: Move yaml to new naming schema. Rename Base to QuickAccess. (75744de)
- Legion Go: Rename Accel to Gyro. Fix some warnings. (37cf1a4)
- LegionGo: Add accel_gyro_3d implementation for IIO IMU driver. (235c641)
- LegionGO: Add gyro support for LENOVO Legion Go. (48b7533)
- LegionGo: Fix input when a single controller is detached. (9a2630b)
- LegionGo: Fix Legion Go mouse. (411ff61)
- Logging: use environment variable to enable log levels (d31ac19)
- Loki Zero: fix DMI data for loki zero device profile (1dd75e8)
- Manager: correctly track target devices for composite devices (215dc34)
- Manager: Fix deleting reference to a source device before it was checked in async. (7059a85)
- Manager: move target device creation to manager (ffe4613)
- Manager: use correct dbus path for removing source devices (f8c14f1)
- Manager: Use loop to check for IIO devices as inotify doesn;t work on sysfs. (7a98b04)
- Mount Matrix: Update mount matrix for multiple devices. (94cabab)
- MSI Claw: Add support for MSI Claw. (4c62ddf)
- OrangePi NEO: Add 8800U varaint touchpad detection. (3b8c314)
- OrangePi NEO: Add GamepadAxisButtons capability to target gamepads. (7c4b4f8)
- OrangePi: Add correct IMU chip (db0717a)
- OrangePi: Add gyro support for all current OrangePi models. (5595e02)
- OXP: Add gyro support for all current OneXPlayer models. (b08752a)
- Performance: Reduce poll rate for most source devices. (113927d)
- Pkg: include hwdb in install (0240a5d)
- Profile: Change top button default actions. (948a1ab)
- Profiles: Use translated version of osk/quick2 instead. (adc620c)
- ps4: add profile for limited ps4 support and xbox 360 product (b43758c)
- PS5: add basic support for DS5/DS5-Edge gamepads (d8805b2)
- QuickAccess: Implement quick access in all gamepad target devices. (888a7c3)
- ROG Ally/X: Support latest ally patches. (8c62618)
- ROG Ally/X: Wait for driver init (d6c54c9)
- ROG ALLY: Fix back buttons for ASUS ROG ALLY and ROG ALLY X (#177) (a36fb70)
- RPM: remove auto-generating dependencies (cccc1f9)
- schema: Update schema with paddle 3, vendor/product ID for evdev. (111fdb4)
- Schema: update target device schemas (21deb94)
- Set Target Devices: Add workaround when starting new target devices. (5f3f7bf)
- Set Target Devices: Add workaround when starting new target devices. (1edd1eb)
- SourceDevice: Allow blocking of input events from specific source devices. (678e9c6)
- SourceDevice: implement source device client for channel communication (9a1dabe)
- SteamDeck Target: Properly normailize unsigned values (cc88151)
- SteamDeck: add events for gyro + accelerometer (39c743b)
- SteamDeck: add report descriptors for mouse and keyboard (3c9511c)
- SteamDeck: combine touch devices into single gamepad (562c175)
- SteamDeck: correct inverted Y-axis (973ecfd)
- SteamDeck: dampen force feedback values (ffa4863)
- SteamDeck: fix left trigger button event (4806fc9)
- SteamDeck: fix steam deck rumble events (d141166)
- SteamDeck: handle output events for deck controller target (8926578)
- SteamDeck: match DMI for Steam Deck LCD for deck configuration (342fc75)
- SteamDeckTarget: add button up minimum time between button down events (f575ab3)
- Suspend/Resume: Remove resume service (9252449), closes #77
- Suspend: Add restart service for InputPlumber after resume. (d252c00)
- TargetDevice: implement proper device cleanup (ae69331)
- TargetDevice: implement target device client (973a50f)
- Touch: add support for translating touch to dbus touch (a6cb6a7)
- Touchpad: Add Touchpad to other events translations. (c0431f3)
- Touchscreen: fix system stability issues with emulating touch device (81d6fd8)
- Translation: add support for translating keyboard events to dbus events (a033531)
- udev: conditionally use /usr/bin/chmod for device hiding (e0527dd)
- Udev: count vhci_hcd devices as virtual (75c7371)
- udev: use correct logic for looking up vendor and product (788ff9e)
- Version: print version number on startup (a014ab0)
- watcher: Only watch directories that exist. (e740188)
- Win600: Remove extra win600 entry. (b5d144b)
- xbox: Add matches for known xbox controllers. (5b828d3)
Features
- Capabilities: add get_capabilities for source devices (ba63198)
- CapabilityMap: add capability mapping and translation support (9e80da2)
- composite_device: Add all HandyGCCS supported devices. (00491ae)
- CompositeDevice: Add ability to reconfigure the intercept always mode activation keys. (62a0777)
- CompositeDevice: Add device profiles. (d8ed6d5)
- CompositeDevice: Add direct write to dbus interface of CompositeDevices (b9bd79e)
- CompositeDevice: add get device profile name and target capabilities (3bbb78c)
- CompositeDevice: add interface to set target devices at runtime (3a341b1)
- CompositeDevice: Add SendButtonChord to dbus interface. (afaf6fb)
- CompositeDevice: add start of translate logic for input types (38e07c1)
- CompositeDevice: add stop method to dbus interface (34f6d13)
- CompositeDevice: emit property change signal when source or target devices change (0323dc1)
- DBusDevice: add support for analog input translation for dbus target (ed5abec)
- Device: Add support for left/right touchpad events for the OrangePi Neo. (832f870)
- DeviceProfile: add device profile schema (549d6a1)
- DS5: add support for Sony DS5 source device (c7ee211)
- DualSense: add rumble support (6bbfbeb)
- ForceFeedback: add force feedback support (b43e580)
- Gyro: add gyro support for BMI IMU (f3a5a0e)
- IIO IMU: Allow setting sample rate and scale for IMU devices. (b24c0e8)
- InputManager: Switch to using udev for device discovery (214f99b)
- Keyboard: add keyboard event support and support for sending keys over DBus (e621ae0)
- Legion Go: Add Legion Go support (cfe64b0)
- Manager: add config to ignore source devices from being managed (aee9d8f)
- Manager: add dbus properties to view supported target devices (543c9a1)
- manager: Allow for multiple unique version of the same input type. (3075f0e)
- manager: Check devices once, and on add/remove. (2af1113)
- MouseDevice: add event translation support for target mouse devices (7bfd57a)
- SteamDeck: add rumble support to Steam Deck controller source device (467f90f)
- SteamDeckTarget: add Steam Deck Controller target device through USB emulation (bf2b4b8)
- TargetDevice: add steam deck target input (124c0e3)
- TargetMouse: add MoveCursor method to virtual mouse interface (94e79a0)
- Touch: add basic touch input translation support (04544f6)
- Touchpad: Add Touchpad event type. (3c03606)
- Touchscreen: add fts3528 touchscreen target device (e598f24)
- Touchscreen: add support for the Deck touchscreen FTS3528 (0ebfdd0)
- XBOne BT: add support for XBox One Bluetooth controllers (8f9c03d)
- XBox Elite: Add Microsoft X-Box One Elite pad target device. (558d258)
- XBoxOne Controllers: Add XBox One Series target device (773c294)
Reverts
- Revert "fix(config): Use interface number for seen devices. Don't force all interfaces to be present." (2208a1a)