Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 13:32
· 269 commits to main since this release

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)