Repository navigation
Releases
v0.10.5 MAINTENANCE
This maintenance release for the v0.10 series picks up bug and compatibility fixes from the development branch, together with documentation updates which also apply to v0.10.
Two udev fixes improve the first connection after boot. The hidraw nodes of supported controllers are now hidden as early as possible, so Steam no longer gets user access to them while the controller is still bound to hid-generic. Controllers which xpadneo already took over after loading the module are no longer unbound and bound a second time, which initialized the controller twice and made it rumble twice.
Xbox One S controllers with a cached, truncated Linux-mode descriptor are repaired during the descriptor fixup, so the rumble report definition is complete again.
Third-party controllers are detected more reliably. The Mobapad Chitu 2 exposes the legacy descriptor but sends a sparse button layout; xpadneo now detects it by its address prefix and at runtime, so its buttons map correctly. The GameSir T4 Nova Lite and Nova 2 Lite are additionally detected by their firmware version, so the GameSir quirks also apply to units whose MAC address does not reveal them as clones. XPADNEO_QUIRK_NO_HEURISTICS disables these detections.
For diagnostics, the debug_hid module parameter now logs any HID report as a hex dump, not only rumble commands.
The documentation now has its own illustrated page for connecting the gamepad, including how to reconnect an already paired one. Troubleshooting adds running old native games via Proton, a corrected jscal example, the Bluetooth LE limit of three controllers on some adapters, and a third-party Arch Linux DKMS hook bug. The Intel Wireless AC 9260 was added to the adapter list.
The release branch also picks up the contribution guidelines, pull request template, agent guides, and CI updates from the development branch, so future backports apply with fewer conflicts.
A big thank you to everyone in the community for your bug reports, logs, and testing.
Special thanks go to @RossH121 for the detailed analysis and patch of the truncated Xbox One S descriptor, @Hyphaed for tracking down the race between Steam and the hidraw rebind, @hidrot and @rethyria for testing the Steam reconnection issue, @jawche for analyzing the double initialization after a cold boot, @jn64 for the logs and testing of the Mobapad Chitu 2, and @bserem for the analysis and work-around of the Bluetooth LE controller limit. Thanks also to everyone who provided firmware versions and logs of GameSir controllers.
Headlines:
- docs: Move the connection steps to their own page
- xpadneo, debug: Add debugging of any HID report
- xpadneo, device: Fix up cached truncated XB1S descriptor
- xpadneo, events: Detect sparse buttons with legacy descriptors
- xpadneo, quirks: Detect GameSir Nova 2 Lite by firmware version
- xpadneo, quirks: Detect GameSir T4 Nova Lite by firmware version
- xpadneo, quirks: Detect Mobapad Chitu 2 early
- xpadneo, udev: Do not rebind devices already bound to xpadneo
- xpadneo, udev: Hide supported hidraw nodes early
Kai Krakow (37):
xpadneo, device: Fix up cached truncated XB1S descriptor
xpadneo, udev: Hide supported hidraw nodes early
xpadneo, udev: Do not rebind devices already bound to xpadneo
xpadneo, events: Detect sparse buttons with legacy descriptors
xpadneo, quirks: Detect Mobapad Chitu 2 early
xpadneo, quirks: Detect GameSir T4 Nova Lite by firmware version
xpadneo, quirks: Detect GameSir Nova 2 Lite by firmware version
xpadneo, power: Explain review nit
xpadneo, debug: Add debugging of any HID report
xpadneo, meta: Adjust Github PR template to new licensing
xpadneo, meta: Add AI transparency to the pull request template
xpadneo, docs: Document release staging workflow
xpadneo, docs: Add DOX agent guide hierarchy
xpadneo, docs: Clarify descriptor evidence rules
docs: Tighten AI-agent PR workflow rules
docs: Add a heading before the PR template's declaration checkboxes
docs: Require searching prior issues and commits before fixing
xpadneo, meta: Add Nobara Linux to the bug reporting template
ci: Update GitHub Actions for Node 24
xpadneo, ci: Ignore links in Fixes tags
xpadneo, ci: Improve yaml indention and syntax
xpadneo, meta: Cleanup obsolete git ignores
xpadneo, docs: Fix LAA typo in the GameSir heuristic notes
xpadneo, docs: Match the GameSir heuristic log message
docs: Suggest Proton for native games with broken joydev mappings
docs: Fix jscal example for the current number of axes
docs: Add Intel Wireless AC 9260 to the Bluetooth adapter list
docs: Document the Arch Linux DKMS hook version parsing bug
docs: Document the Bluetooth LE connection interval limit
docs: Explain reconnecting an already paired gamepad
docs: Move the connection steps to their own page
docs: Use lowercase items in the bluetoothctl connection steps
docs: Split the connection page into sections
docs: Use lowercase items in the desktop Bluetooth manager steps
docs: Illustrate the connection steps
xpadneo, docs: Add descriptors of yet unsupported GameDir G7 SE
xpadneo: Release v0.10.5
v0.10.4 RE-RELEASE
This maintenance release corrects the release metadata for the v0.10 series.
The v0.10.3.1 source archive still contained VERSION set to v0.10.3. This caused generated DKMS metadata to use PACKAGE_VERSION="v0.10.3" while package managers and users installed the v0.10.3.1 release archive, so DKMS tried to build from the wrong source directory and failed before compiling the module.
v0.10.4 keeps the same driver content as v0.10.3.1 and only restores consistent release metadata so DKMS builds from the expected package path again.
Headlines:
- xpadneo: Correct release version metadata
Kai Krakow (1):
xpadneo: Release v0.10.4
v0.10.3.1 MAINTENANCE RETAGGED
This maintenance release for the v0.10 series focuses on conservative hardware support, safer diagnostics, and clearer recovery guidance while keeping the existing release-branch behavior stable.
The main compatibility addition is support for the ASUS ROG Raikiri Pro in Bluetooth mode. This controller exposes the same modern Xbox-compatible descriptor family as genuine Xbox Wireless Controllers, so xpadneo can now bind it directly and present a consistent Xbox-style identity to userspace after applying the usual descriptor fixups.
Elite Series 2 and other profile-capable controllers also benefit from more reliable descriptor-based capability detection. Hardware profile and paddle support are now tracked during descriptor mapping, avoiding races where profile reports arrive too late during initial device registration.
Several changes improve diagnostics for future hardware reports. Descriptor logs now include the firmware version next to the descriptor size and checksum, and xpadneo warns when profile reports appear without a matching detected usage. This should make it easier to turn user-provided dmesg logs into safe, narrowly-scoped follow-up fixes.
The installer and documentation received smaller recovery improvements as well. The DKMS retry hint now points at the exact cleanup command after failed installs, and the missing-uhid warning explains that installation can still continue while recommending early module loading for systems that need it.
Finally, the branch includes a force-disable switch for the HOGP rumble path as a diagnostic escape hatch, plus clarified GameSir Nova rumble quirk documentation for users who need to configure clone-specific motor quirks manually.
Headlines:
- installer: Clarify DKMS retry recovery
- xpadneo, core: Add ASUS ROG Raikiri Pro support
- xpadneo, core: Spoof vendor with controller IDs
- xpadneo, installer: Add ASUS ROG Raikiri Pro bindings
- xpadneo, installer: Clarify missing uhid warning
- xpadneo, mappings: Detect paddle capabilities from descriptors
Kai Krakow (20):
xpadneo, rumble: Move welcome_rumble to async worker
xpadneo, meta: Add license to Makefile
xpadneo, udev: Add filters and ignore flag to rules
xpadneo, debug: Harden OUI parser against NULL dereference
xpadneo, device: Prevent OOB if rdesc is too small
xpadneo, quirks: Check for NULL before comparing gamepad name and uniq
xpadneo, docs: Document early module loading
xpadneo, installer: Clarify missing uhid warning
installer: Clarify DKMS retry recovery
xpadneo, rumble: Allow forcefully disabling HOGP usage
xpadneo, mappings: Detect paddle capabilities from descriptors
xpadneo, profiles: Track hardware profiles as capability
xpadneo, core: Track Share button as capability
xpadneo, core: Generalize HID driver data flags
xpadneo, profiles: Warn if profile reports appear without detected usage
xpadneo, core: Add ASUS ROG Raikiri Pro support
xpadneo, core: Spoof vendor with controller IDs
xpadneo, debug: Log firmware version with descriptors
xpadneo, docs: Adjust wording of GameSir rumble quirks
xpadneo, docs: Fix GameSir Nova quirk workaround
xpadneo, installer: Add ASUS ROG Raikiri Pro bindings
v0.10.2 MAINTENANCE
This maintenance release for the v0.10 series focuses on improving rumble performance for modern controllers and enhancing device compatibility.
The core of this update is a significant overhaul of rumble handling for devices using the HID-over-GATT Profile (HOGP). By switching to acknowledged GATT writes, we now ensure rumble commands are delivered more reliably to these modern Bluetooth LE controllers. This improvement allowed us to remove the previous artificial throttling, unlocking more responsive and immediate force-feedback. We also optimized the "welcome rumble" sequence to reduce CPU usage during controller initialization.
To improve forward-compatibility, the driver can now heuristically detect devices that use the HOGP protocol, making it more robust when encountering new hardware. Additionally, the device descriptor for the GuliKit ES PRO has been added, which aids in debugging and is a first step towards full support.
Finally, this release includes several smaller fixes and cleanups, including corrected AppStream metainfo for better software center integration and improved internal handling of the uhid module dependency.
A big thank you to everyone in the community for your contributions, testing, and detailed bug reports.
Special thanks go to @GloriousEggroll for starting a series of improvements. In this release, his contributions have helped to increase rumble reliability and modernize module dependency handling.
Headlines:
- xpadneo, installer: Properly handle metainfo in the Makefile
Kai Krakow (8):
xpadneo, core: move softdep on uhid into the driver
xpadneo: Rename log messages from ff to rumble
xpadneo, debug: Add GuliKit ES PRO descriptor as a known descriptor
xpadneo, core: Add heuristic detection of HOGP protocol
xpadneo, rumble: Reduce CPU busy usage during welcome rumble
xpadneo, device: Use acknowledged GATT Write Request for rumble
xpadneo, rumble: Eliminate artificial rumble throttling for HOGP
xpadneo, installer: Properly handle metainfo in the Makefile
LeahTheSlug (1):
xpadneo, meta: Fix AppStream metainfo file name and contents
v0.10.1 MAINTENANCE
This is a focused maintenance release for the v0.10 series with an emphasis on stability and compatibility.
The main work in v0.10.1 targets rumble reliability. We now advertise rumble support early while deferring actual rumble traffic until initialization is fully complete, reducing race conditions with userspace stacks that probe capabilities immediately after hotplug. In addition, rumble locking was corrected to properly preserve IRQ state, fixing a regression that could lead to hard lockups under force-feedback load.
Beyond rumble, this update improves day-to-day usability and hardware coverage: the optional virtual mouse device can now be disabled completely, quirk detection was extended for newer GameSir Nova variants, and several documentation/debugging details were cleaned up.
As a v0.10 maintenance release, this branch intentionally keeps the existing ff-memless-based architecture. The larger native-rumble rework remains part of the v0.11 development line.
Thanks to everyone who reported regressions, provided traces, and helped validate fixes on real hardware and different userspace environments.
Headlines:
- xpadneo, docs: Replace back ticks syntax for shell substitution
- xpadneo, mouse: Allow disabling the mouse device completely
- xpadneo, quirks: Add OUI flag checks for new GameSir Nova
- xpadneo, rumble: Do not send rumble commands unless ready
- xpadneo, rumble: Properly save and restore IRQ state during locking
Kai Krakow (17):
xpadneo, licensing: Link the licenses for convenience
xpadneo, rumble: Remove rumble accumulation
xpadneo, rumble: Rename private function `xpadneo_rumble_welcome`
xpadneo, rumble: Introduce helper to calculate throttling delay
xpadneo, rumble: Migrate to more modern scoped locks
xpadneo, docs: Replace back ticks syntax for shell substitution
xpadneo, rumble: Tighten the rumble throttle timing
xpadneo, docs: Fix style of `disable_shift_mode`
xpadneo, power: Fix header export signature
xpadneo, debug: Add new debug mode to improve logging for new devices
xpadneo, debug: Move HID report debugger to new debug module
xpadneo, quirks: Add OUI flag checks for new GameSir Nova
xpadneo, debug: Add Xbox Wireless Controller modern descriptor
xpadneo, debug: Add Xbox Elite 2 Controller descriptor
xpadneo, mouse: Allow disabling the mouse device completely
xpadneo, rumble: Do not send rumble commands unless ready
xpadneo, rumble: Properly save and restore IRQ state during locking
v0.10 COUCH POTATO
Code name:
COUCH POTATO
This is a major release that bundles roughly five years of development since v0.9. During that time, xpadneo received substantial internal refactoring, broader device support, many compatibility fixes for modern userspace and kernel changes, and a lot of long-term maintenance work that is not always visible at first glance.
The codename reflects one of the headline additions: xpadneo can now expose controller input as a virtual mouse. This enables couch-friendly navigation scenarios and rounds out the driver in a practical way beyond pure gamepad usage. At the same time, this feature is intentionally marked as experimental for now so we can continue to refine its behavior and ergonomics in v0.11.
Another key focus of this cycle was improving real-world compatibility: updated quirks and heuristics for additional vendors and controller models, better handling of firmware and profile differences, and more robust interoperability with SDL/Steam/hidraw environments where mapping conflicts can otherwise become painful.
We also spent significant effort on quality-of-life improvements around installation and packaging, especially in DKMS and udev handling, plus updated troubleshooting and configuration guidance for current Linux distributions and Bluetooth setups.
A release of this size is only possible with continued support from users, contributors, testers, package maintainers, and everyone reporting regressions and sharing detailed logs over the years.
Special thanks to all contributors who helped shape this cycle, including:
- Florian Dollinger (
@atar-axis) for the original project foundation and long-standing code base that made this evolution possible. - Ben Schattinger (
@lights0123) for Xbox Series X|S support contributions and Share button related integration work. - Erik Hajnal (
@ehats) for non-trivial XBE2 mode support work and descriptor/mapping related fixes. - Dugan Chen (
@duganchen) for Elite Series 2 related device support updates. - John Mather (
@NextDesign1) and many others for incremental fixes, reports, and ecosystem feedback that helped improve edge-case handling over time.
IMPORTANT: Updated Licensing
As part of the ongoing refactor, the kernel module code has been relicensed to GPL-2.0-only. This change was made to ensure compatibility with the Linux kernel's licensing requirements and to allow for better integration with the kernel's codebase. Non-driver content, such as documentation and tooling, remains licensed under GPL-3.0-or-later unless specified otherwise in file headers.
Package maintainers and contributors should take note of this change when distributing or contributing to the project, ensuring that they comply with the new licensing terms for the relevant parts of the codebase.
As part of this change, we also added AppStream metadata to the repository, which should help with integration into Linux distribution packaging systems and improve discoverability of the project for users. Thanks to Michael Lloyd (@michael-lloyd) for the contribution of the AppStream metadata.
The Future
- The virtual mouse mode introduced in this release is still experimental and will be improved further during the v0.11 cycle, with improvements backported to v0.10 if possible.
- The next release cycle will bring better rumble handling and lay the foundations for profile customization support.
- Hopefully, we will also improve and streamline the documentation further, especially around configuration and troubleshooting, to make it easier for users to get the most out of their controllers with xpadneo.
Thank you for your patience, testing effort, and continued trust in xpadneo.
Headlines:
- core, quirks: Add GameSir T4 Nova Lite support
- core, quirks: Add GuliKit KK3 MAX quirks
- core, quirks: Add heuristics to detect GameSir Nova controllers
- dev: Fix gitignore
- dkms: Explicitly add version to the install phase
- dkms: Suggest trusting the git directory if version detection failed
- docs(#429): Elite S2 Profiles carry over
- docs: Document Bluetooth LE issues and work-arounds
- docs: Document workarounds for the Xbox Wireless controller
- docs: Replace Ko-fi link to attribute donations to current maintainer
- hid-xpadneo: Allow building with kernel 6.12
- hid-xpadneo: Do not use Nintendo layouts by default
- hid-xpadneo: Move share button quirk to
xpadneo_devicesdatabase - installer, dkms: Fix trying to install the wrong udev filename
- xpadneo: Add support for GuliKit KingKong2 PRO controllers
- xpadneo, core: Add configuration for disabling Xbox logo shift-mode
- xpadneo, core: Deprecate synthetic rolling axis from triggers
- xpadneo, core: Fix coding style
- xpadneo, core: Remove hard requirement of ida_{alloc,free}
- xpadneo, dkms: Drop deprecated variable CLEAN
- xpadneo, dkms: Get rid of redundant file installs/removes
- xpadneo, dkms: Hooks are now effectively a no-op
- xpadneo, docs: Align all of README.md with current distribution practice
- xpadneo, docs: Link troubleshooting more prominently
- xpadneo: Evade SDL-mismapping once again
- xpadneo: Fix documentation about Share button
- xpadneo, fixups: Adapt SDL fixup to fix the Xbox button
- xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
- xpadneo, hidraw: Fixup previous commit to properly work with DKMS
- xpadneo, hidraw: Work around other software messing with our udev rules
- xpadneo, init: Actually save rumble test values before we replace them
- xpadneo: Map Share button to F12 by default
- xpadneo, mouse: Implement mouse support
- xpadneo, quirks: Add another Microsoft OUI
- xpadneo, quirks: Another Microsoft OUI
- xpadneo, quirks: Fix the haptics quirks for third-party controllers
- xpadneo, quirks: Let another Microsoft OUI bypass heuristics
- xpadneo, quirks: Prevent applying heuristics for some known vendors
- xpadneo: Remove deprecated ida_simple_{get,remove}() usage
- xpadneo: Revert fixups on device removal
- xpadneo, rumble: Fix rumble throttling for modern firmware
- xpadneo: Support GameSir T4 Cyclone models
- xpadneo: Work around invalid mapping in Steam Link
Kai Krakow (278):
xpadneo, udev: Properly re-order modalias
xpadneo, udev: Add Xbox One X|S PIDs to udev and modalias
hid-xpadneo: Improve SDL2 work-arounds to fix XBE2 button mappings
hid-xpadneo: Fix SDL2 button mapping for XBXS
docs: Fix typo
hid-xpadneo: Print version during load
hid-xpadneo: Ignore more files from current kernel tool chain
hid-xpadneo: Add some benchmark instrumentation
hid-xpadneo: Fix typo in comment
hid-xpadneo: Fix logging SDL2 work-around on wrong condition
hid-xpadneo: Log and record the original descriptor size
installer: Fix indentation
Makefile: Create version.h on the fly
dev: Fix gitignore
hid-xpadneo: Move share button quirk to `xpadneo_devices` database
hid-xpadneo: Improve descriptor logging
hid-xpadneo: Deprecate directional rumble
src: re-indent with newer indent version
docs: List incompatible Bluetooth chipsets and settings
docs: Improve troubleshooting instructions
docs: Amend list of bugs with known fixes
docs: Use Xbox Series X|S controller name consistently
udev: Update rules for upcoming systemd update
hid-xpadneo: Do not use Nintendo layouts by default
hid-xpadneo: Split gamepad into subdevices
hid-xpadneo: Send KEY_MODE for the Xbox button
hid-xpadneo: Enable detection of the XBE2 keyboard sub device
xpadneo: Drop kernel compatibility below version 4.18
docs: Replace Ko-fi link to attribute donations to current maintainer
hid-xpadneo: Report missing applications just once
hid-xpadneo: Drop dead module parameter `combined_z_axis`
docs: Put Ko-fi on a separate line
docs: Make original driver announcement a quote
docs: Link xow author
hid-xpadneo: Auto-detect hardware profiles instead of hard-coding it
docs: Add missing text about profile support
hid-xpadneo, udev: Move udev rules up in rules priority
configure: Remove disable-ff in favor of trigger-rumble-mode
configure: No options is an error, don't do anything
configure: Do not require dkms for configuration
dkms: Install files with proper permission
installer, dkms: Fix trying to install the wrong udev filename
hid-xpadneo: Allow modparams for manual re-installation
docs: Document more of the quirk flags
hid-xpadneo, Makefile: Make version.h an intermediate target
hid-xpadneo: Use jiffies converter functions instead of HZ
hid-xpadneo: Allow adding and removing quirk flags
hid-xpadneo: Fix indentation
xpadneo, mouse: Support toggling mouse mode
dkms: Fix CI
dkms: Simplify installation
xpadneo: Drop dynamic version file handling
docs: Document rumble behavior with SDL_JOYSTICK_HIDAPI
docs: Fix typo
docs: Add note about holding the Guide button for too long
hid-xpadneo: Sync consumer key events and stop processing
xpadneo: Add current maintainer to module authors
hid-xpadneo: Move SDL work-arounds to parent device
hid-xpadneo: Revoke hidraw user access to fix a Proton mapping problem
docs: Update pairing instruction to mitigate stability issues
kbuild: Add work-around for matching source and object filename
xpadneo, core: Add support for synthetic devices
xpadneo: Fix "consumer control" naming
xpadneo, consumer: Add synthetic consumer control device on demand
reporting: Add some space for easy insertion
reporting: Improve headers
reportin...
v0.9.8 LAST XMAS
This is the final maintenance release for the v0.9 branch. We won't have another Christmas with version v0.9.
It mainly focuses on documentation cleanups, installer robustness, DKMS and packaging stability, and additional hardware compatibility fix-ups. There are no intentional functional changes to input handling or controller behavior.
The v0.9 branch is approaching its end-of-life. This release serves as a final polish to ensure a smooth experience on current distributions and kernels, while v0.10 continues to evolve in parallel.
Heads up, package maintainers: This release further stabilizes installer and DKMS behavior. Upcoming xpadneo v0.10 will introduce a new make-based installer intended to simplify packaging and automation workflows.
Headlines:
- xpadneo, dkms: Drop deprecated variable CLEAN
- xpadneo, docs: Align all of README.md with current distribution practice
- xpadneo, docs: Link troubleshooting more prominently
- xpadneo, quirks: Add another Microsoft OUI
- xpadneo, quirks: Another Microsoft OUI
Kai Krakow (30):
xpadneo, docs: Fix various spelling mistakes and phrasing
xpadneo, docs: Fix indentation, line length and whitespace
xpadneo, docs: Document the new quirk flags for configuration
xpadneo, docs: Use dashes instead of stars for list items
xpadneo, docs: Fix use of bare URLs
xpadneo, installer: Delay `set -e` to not silence errors early
xpadneo, quirks: Another Microsoft OUI
xpadneo, quirks: Another Microsoft OUI
xpadneo, ci: Drop Ubuntu 20.04 CI testing
xpadneo, udev: Trigger loading of `uhid` before `bluetooth`
xpadneo, psy: Fix potential pointer leak during battery registration
xpadneo, psy: Fix memory leak of device and battery name
xpadneo, probe: Implement error path for ida_simple_get()
xpadneo, core: Remove hard requirement of ida_{alloc,free}
xpadneo, docs: Document sensor drift and deadzones better
xpadneo, docs: Link troubleshooting more prominently
xpadneo, dkms: Fix shellcheck for unused variables
xpadneo, dkms: Drop deprecated variable CLEAN
xpadneo, docs: add GPL-2.0 relicensing requirement
xpadneo, dkms: Fix warning about unassigned variables
xpadneo, docs: document safe firmware flashing for Xbox controllers
xpadneo, docs: improve Bluetooth dongle documentation
xpadneo, docs: add user-reported Bluetooth dongle compatibility report
xpadneo, docs: add PCIe Bluetooth adapter compatibility reports
xpadneo, profiles: Report current profile as absolute axis
xpadneo, docs: Unify list formatting of README.md
xpadneo, docs: Align all of README.md with current distribution practice
xpadneo, core: Support explicit paddle button usages
xpadneo, docs: Fix manufacturer name of a tested USB BLE adapter
xpadneo, quirks: Add another Microsoft OUI
l3d00m (2):
xpadneo, docs: Update links to other projects
xpadneo, docs: Fix typo and add specific hardware support to xone
Eduard Tolosa (1):
xpadneo, udev: update rules for systemd v258+
John Mather (1):
xpadneo, quirks: Add another OUI
v0.9.7 HO-HO-HO EDITION
This is a maintenance release of the previous "final" v0.9.6 because v0.10 will be delayed a little longer.
It provides support building for kernel 6.12 and later. It also adds new hardware support quirks and compatibility fix-ups. Although the list of changes seems long and accumulated over some time, there are no functional changes. Also, DKMS problems (like xpadneo missing after a kernel update or kernel hanging on boot because xpadneo is not built) should finally be fixed.
Heads up, package maintainers: Upcoming xpadneo v0.10 will provide a new make-based installer to make usage in packaging scripts easier and more streamlined. See docs/PACKAGING.md in the master branch for more details.
Headlines:
- core, quirks: Add GameSir T4 Nova Lite support
- core, quirks: Add GuliKit KK3 MAX quirks
- core, quirks: Add heuristics to detect GameSir Nova controllers
- hid-xpadneo: Actually allow building with kernel 6.12
- hid-xpadneo: Allow building with kernel 6.12
- xpadneo, core: Add configuration for disabling Xbox logo shift-mode
- xpadneo, core: Fix coding style
- xpadneo, hidraw: Fixup previous commit to properly work with DKMS
- xpadneo, hidraw: Work around other software messing with our udev rules
- xpadneo, quirks: Let another Microsoft OUI bypass heuristics
- xpadneo, quirks: Prevent applying heuristics for some known vendors
Kai Krakow (33):
xpadneo, core: Sort device quirks into proper order
docs: Improve BT_DONGLES.md
docs: Remove feature claims that are obsolete or no longer true
docs: Fix wording and casing
docs, README: Remove the broken Codacy badge
xpadneo, core: Reorder devices by PID
docs: Add troubleshoot instructions for controllers requesting a PIN
docs: Add troubleshooting instructions after upgrading firmware
docs: Add missing blank line
docs: Add compatibilty status for a Simplecom Bluetooth dongle
hid-xpadneo: Allow building with kernel 6.12
xpadneo, hidraw: Work around other software messing with our udev rules
xpadneo, hidraw: Fixup previous commit to properly work with DKMS
hid-xpadneo: Actually allow building with kernel 6.12
hid-xpadneo, core: Match kernel 6.12 report_fixup signature
xpadneo, core: Fix coding style
core, quirks: Add GameSir T4 Nova Lite support
core, quirks: Add heuristics to detect GameSir Nova controllers
core, quirks: DRY the rumble tests
core, tests: Fix the pulse test and print test info
core, debug: Allow output of decoded rumble packets for debugging
xpadneo, debug: Fix indentation and output
core, quirks: Add GuliKit KK3 MAX quirks
xpadneo, quirks: Prevent applying heuristics for some known vendors
xpadneo, quirks: Let another Microsoft OUI bypass heuristics
xpadneo, installer: Fix some general issues with the scripts
xpadneo, dkms: Match minimum kernel version with source code
xpadneo, quirks: Another Microsoft OUI
xpadneo, installer: Exit immediately on error
xpadneo, dkms: Use "yes" for autoinstall instead of "Y"
xpadneo, ci: Add missing dependencies
xpadneo, ci: Add Ubuntu 24.04
xpadneo, examples: Build hidraw properly on Ubuntu
Alexander Tsoy (2):
docs: Suggest alternative command to get controller info
docs: Add compatibilty status for UGREEN CM390
Matthew Scharley (1):
bluez-tools isn't required on Tumbleweed
Scott Bailey (1):
Doc update for KK3 Max
arnxxau (1):
added ff_connect_notify config option to configure.sh
bouhaa (1):
xpadneo, core: Add configuration for disabling Xbox logo shift-mode
liberodark (1):
docs: Update BT_DONGLES
v0.9.6 FINAL
This is the last planned v0.9 maintenance release. The development branch will now refactor a lot of code heading towards v0.10, and only critical bug fixes will follow in v0.9.
There has been no release in a long time, so some important bug fixes accumulated. Thanks a lot for your patience, and especially our contributors for helpful code and testing.
Headlines:
- docs: Elite S2 Profiles carry over
- xpadneo: Add support for GuliKit KingKong2 PRO controllers
- xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
- xpadneo, init: Actually save rumble test values before we replace them
- xpadneo: Support GameSir T4 Cyclone models
- xpadneo v0.9, hid: Fix documentation about Share button
Kai Krakow (16):
xpadneo: Move bit swap helper to include file
xpadneo, init: Fix rumble testing logic on connect
xpadneo, init: Actually save rumble test values before we replace them
xpadneo: Add support for GuliKit KingKong2 PRO controllers
docs: Fix headline for GuliKit controllers
xpadneo: Upgrade CI to Ubuntu 22.04
xpadneo: Remove Ubuntu 18.04 from CI
Makefile: Use kernel build symlink from `/lib/modules`
xpadneo v0.9, hid: Fix documentation about Share button
xpadneo, init: Do not report paddles unconditionally
xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
xpadneo, init: Really exclude the keyboard event from the HID bitmap
xpadneo, init: Detect HW profile support on current firmwares
xpadneo v0.9, init: Disable bogus buttons replaced by known features
xpadneo: Support GameSir T4 Cyclone models
xpadneo, docs: Reintroduce hint about using SDL_JOYSTICK_HIDAPI=0
Kevin Locke (1):
Add BUILD_EXCLUSIVE_CONFIG to dkms.conf
Willster Johnson (1):
docs: Elite S2 Profiles carry over
thiccaxe (1):
Update TROUBLESHOOTING.md
v0.9.5 HOTFIX
This is a hotfix release to fix broken SDL/Steam mappings (again). It also removes some outdated documentation.
Headlines:
- xpadneo: Evade SDL-mismapping once again
Aniket (1):
Remove outdated secure boot docs
Kai Krakow (1):
xpadneo: Evade SDL-mismapping once again