Commit Graph

17 Commits (report-buttons-in-order)

Author SHA1 Message Date
nirenjan 19b76cd8f6 Report X52 buttons in order
While the original idea was to have a consistent reporting order between
the X52 and X52 Pro, it causes issues in applications like Wine. This
commit updates the reporting such that it sends the exact same report as
the kernel with the quirks enabled.

Addresses: #51
2023-09-27 08:53:15 -07:00
nirenjan 247e98c5dc Add kernel driver for Saitek X65F joystick
This commit adds the kernel driver for the Saitek X65F joystick. This is
necessary, since it has the same limitation with the thumbstick not
getting recognized on older kernels. The quirks fix has been pushed to
newer stable kernels, and therefore do not require this driver.
2021-09-29 12:59:34 -07:00
nirenjan e7d91fd3a4 Replace all references to x52pro-linux with libx52 2021-09-29 00:30:55 -07:00
nirenjan 1df4f29d4e
Add kernel versions that have the quirks fix 2020-09-17 17:06:39 -07:00
nirenjan 7f554d7ac6 Make button reports consistent between devices
The X52 and X52 Pro report the buttons in different orders, e.g., the
mouse primary button is button 30 on X52, but is button 15 on the Pro.
This change ensures that the reported values is consistent between the
different devices.
2020-08-16 01:59:27 -07:00
nirenjan 482c5980ab Fix axis report to correctly report slider and rotaries 2020-08-13 15:18:44 -07:00
nirenjan b0150c46b8 Remove unnecessary probe and remove functions
There's no need to create custom probe and remove functions - the
default behavior is sufficient.
2020-08-13 15:17:14 -07:00
nirenjan 4388eceec0 Create workflow to build kernel module
This workflow runs only if there is a change to the kernel_module path.
Consequently, commits that only impact the kernel_module will be ignored
for the standard userspace driver build.

This commit also updates the CodeQL workflow to only run on a scheduled
basis and on pull requests, but not on every push, since this is a
fairly slow script.

Finally, this commit also removes the obsolete kernel module sources,
since they are no longer maintained, and it also provides a hook for
Github actions to pick up and execute the kernel workflow.
2020-08-13 03:17:35 -07:00
nirenjan d3c55da89d Create HID driver for Saitek X52 and X52 Pro
This change replaces the old USB driver with a more modern HID driver.
This uses the HID framework, which means that we don't have to deal with
the USB transport, and only have to parse and report input events.

[skip ci]
2020-08-12 01:11:15 -07:00
nirenjan 7dcd3049ec Add SPDX license identifiers in all files 2018-04-18 12:19:29 -07:00
nirenjan dbac37b8ac Add README for kernel module 2015-12-01 08:29:12 -08:00
nirenjan b72eba6d4c Fix permissions on device attribute files
Build fails on Linux kernel version >= 4.0.0, due to a permissions check
disallowing S_IWOTH.
2015-12-01 08:23:28 -08:00
nirenjan e54dfd94d2 Use dev_err/dev_dbg when device is available
Previous commit used pr_err/pr_debug because it mistakenly assumed that
the device pointer was not available. This ensures that the driver uses
the dev_err and dev_dbg functions wherever it can.
2014-10-17 14:43:22 +00:00
nirenjan b752c3e46b Replace err/dbg macros with pr_err/pr_debug
err macro has been removed entirely from the Linux kernel starting from
around v3.5, while the dbg macro has been deprecated. Since the lines
that were using err/dbg did not have access to the device, simply log as
a generic kernel log.
2014-10-17 14:22:57 +00:00
Nirenjan Krishnan 2fd5f29ade Correct handling of URB for stick axes - closes #1
The le32_to_cpu function doesn't quite work for some reason. Manually
writing the 32-bit conversion seems to fix the axes reporting for
ABS_X, ABS_Y and ABS_RZ.
2012-10-25 00:01:05 -07:00
nirenjan 75346c745a Fix params to input_set_abs_params - should fix #1
This still could use a bit of investigation to see why
input_set_abs_params called with non-zero values for fuzz and flat
causes axis motion to be ignored, although it may be a driver
subsystem issue in Linux.
2012-10-24 15:14:33 -07:00
Nirenjan Krishnan 76aaf6a6d8 Rename driver folder to kernel_module
Due to plans to scrap the kernel module approach and go with a full-fledged
userspace application, this commit renames the driver folder to kernel_module
so the folder contents are clear.
2012-10-14 12:55:52 -07:00