All notable changes to this project will be documented in this file.
The format is based upon Keep a Changelog.
0.3.2 - 2024-06-09
- Updated bug report utility to add details about build host details and compiler information.
- Updated syntax check for calloc calls. See #52
- Fixed a tooling bug where running make check on a system without cmocka library installed would fail during daemon testing.
- Cleaned up daemon protocol documentation
- Moved socket code around to make it easier to reuse the communication logic out in both client(s) and server.
Important: Tag 0.3.1 has a bad Version file and should not be used. This has been superseded by 0.3.2 with corrected metadata. The changes from the previous release are the same.
0.3.0 - 2022-12-25
- Bug report utility to make it easier to gather system and build information when reporting issues.
- Communication infrastructure to communicate with the daemon. This includes the
x52ctl
utility which can be used either interactively or non-interactively from a separate program. - Links to prebuilt packages in Ubuntu PPA and Arch Linux AUR
- Ability to change mouse scroll direction. See #45
- Renamed project from
x52pro-linux
tolibx52
- Removed dependency on
rsync
duringmake install
- Reduced default logging level of daemon to error only. See #38
- Fixed daemon crash when disconnecting/reconnecting the joystick. See #43
0.2.3 - 2021-09-20
- CI for macOS 11 (Big Sur)
- Virtual mouse driver (on Linux only)
0.2.2 - 2021-09-03
- IO library to read and parse events from a supported joystick.
- Event test utility which displays the events similar to evtest.
- Daemon to control and update the X52 joystick.
- Import pinelog library for daemon logging.
- Import inih library sources for daemon configuration parsing.
- Linux kernel driver to correctly handle the X52/X52 Pro. This is not required
for users running kernels with at least the following versions:
- 5.9+
- 5.8.10+
- 5.4.66+
- 4.19.146+
- Make udev rules customizable at build time, so that the right input group can
be used in the actual rules file. This allows systems such as openSUSE which
use
input
as the group for input devices to behave the same as Ubuntu and other similar systems. - Code layout changed to improve parallel builds.
- x52cli tests modified to use cmocka tests.
0.2.1 - 2020-06-28
- Connect/Disconnect methods in libx52. These allow for dynamically connecting or disconnecting from a supported joystick without having to reinitialize the library.
- Internationalization for the following:
- libx52
- x52test
- Doxygen generation of HTML documentation for libx52 methods.
- Tests for libx52 that run on all supported platforms.
- libx52_init no longer fails when a supported joystick is not connected.
- Tests now use TAP.
- Python build scripts now use Python 3.
- Error reporting in x52cli and x52test commands.
- Handling of very large time_t values in
libx52_set_clock
- Secondary and tertiary clock setting when primary clock is set to local time and local timezone is observing daylight savings time (summer time). See #20.
0.2.0 - 2020-04-14
libx52_init
now returns alibx52_error_code
, and returns thelibx52_device
pointer in an output parameter.- All libx52 APIs now return a
libx52_error_code
indicating the error. - libx52 now checks the version of libusb and calls the appropriate method to set logging level.
- x52test has an option to not sleep between consecutive calls to the libx52 APIs.
libx52_write_time
handling of large timezone offsets.
0.1.2 - 2017-08-17
- Autotools based unit tests - tests run on Linux only
- libusb mock library for use by test programs
- License file and usage clarification
- Automatic builds on Ubuntu Trusty (14.04) with both GCC and clang on Travis
- Enhanced documentation for libx52
- Support for X52 (non-Pro) version
- New raw time and date APIs for libx52
- Support raw time and date commands in x52cli
- Unicode translation points for halfwidth CJK and Katakana symbols
- Update Python character map generator to comply with PEP-8 guidelines
- Compilation on OSX
0.1.1 - 2016-05-06
- Manpage for x52cli
- Manpages for libx52 in RONN format
- Unicode translation points for Latin, Greek and mathematical symbols
- Travis-CI based automatic compilation
- libx52 clock API will return -EAGAIN if no update is needed.
- x52test accepts a list of tests to run, defaulting to ALL
- UTF-8 parser rewritten in Python
0.1.0 - 2015-12-09
- Support for semantic LED names instead of numbers in libx52
- Simpler API to control clocks
- Add documentation for X52 design and USB interface
- Add CLI application to interface with libx52
- Add test application to test all aspects of libx52
- Add API to convert UTF-8 string to X52 character map
- Migrate project to autotools
- Mark kernel driver as proof-of-concept and unsuitable for production
0.0.2 - 2014-10-18
- Proposed design documentation for MFD pages and input mapping
- Kernel module compilation on Linux v3.5 and later
0.0.1 - 2012-10-25
- Kernel module for Saitek X52 Pro Joystick
- First release of userspace application