1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
==============
Version 0.2.12
==============
- Add a deadzone for Steam Deck analog sticks
- Fix build with older gobject-introspection
==============
Version 0.2.11
==============
- Port documentation to gi-docgen
- Add support for Steam Deck gamepad
- Add ManetteDeviceType and manette_device_get_device_type()
- Add manette_device_supports_mapping()
- Deprecate LIBMANETTE_* version check symbols, add MANETTE_* instead
- Add runtime version check functions
- Make hat to buttons mapping always emit button release
(fixes d-pad getting stuck when quickly flipping right->left etc)
- Fix paddle keycodes
- Fix DualSense motion sensor and touchpad being recognized as gamepads
- Fix half-range axis mappings
- Build
- Depend on hidapi-hidraw
- Specify --doc-format for GIR data
- Fix build warnings
=============
Version 0.2.9
=============
* Update and clean up the game controller mapping database
* ManetteDevice
- add manette_device_get_mapping() and manette_device_get_guid()
- Handle keycodes before BTN_MISC as well
* ManetteMapping
- Allow to map paddle1-4, misc1-6 and touchpad buttons
- Improve error handling
* ManetteMappingManager
- Check if user mapping file exists
* Tests
- Test default mappings
=============
Version 0.2.7
=============
* Allow building as a static library
* ManetteMappingManager:
- Strip leading and trailing spaces from mappings
* ManetteMonitor
- Always use file backend in Flatpak
- Skip non-evdev devices
- Fix object construction
* Various cleanups
=============
Version 0.2.6
=============
* Project:
- Move the project to https://gitlab.gnome.org/GNOME/libmanette.
- Update the URLs accordingly.
- Give the project a minimal website:
https://gnome.pages.gitlab.gnome.org/libmanette/
- Update the project's description.
* Documentation:
- Add a documentation.
- Fix many documentation annotations.
- Document more symbols.
* Meson:
- Require Meson 0.53.0.
- Add the demos option.
- Add the build-tests and install-tests option.
- Various code style cleanups and updates.
- Add a build summary.
* ManetteDevice:
- Add a missing precondition check to ensure milliseconds is in the
right range in manette_device_rumble().
- Throw the full file error code rather than G_FILE_ERROR_FAILED in
manette_device_new().
- Throw G_FILE_ERROR_FAILED rather than G_FILE_ERROR_NXIO in
manette_device_new() if the device isn't a gamepad.
* ManetteMapping:
- Check mapping strings have at least a GUID field and a name field.
- Use the debug log level for non-programming mapping parsing errors.
- Make some parsing error messages more explicit.
* ManetteMappingManager:
- Use a race-free way to check the mapping file deletion.
* Code cleanup:
- Make license headers have the LGPL footer, not the GPL one.
- Use #pragma once instead of manual header guards.
- Use g_auto(), g_autoptr() and g_autofree where possible.
- Use g_clear_pointer() and g_clear_object() where possible.
- Use assertions instead of g_return*_if_fail in static functions.
- Add HACKING.md to document the code, documentation, and commit
message styles.
- Give better names to callback functions.
- Give the namespace_object_ prefix to the finalize functions to match
the code style.
- Clean up and simplify the code in many places.
- Drop platform:Linux from the internal gamepad database.
=============
Version 0.2.5
=============
* Fix the build with musl by using input_event_sec and input_event_usec.
=============
Version 0.2.4
=============
* Build system changes:
- Add the 'introspection' and 'vapi' options, allowing to build without
producing GObject Introspection or Vala bindings.
* Support hot-plugging in the fallback backend.
* Update the game controller mapping database.
* Various code cleanups.
=============
Version 0.2.3
=============
* Build system changes:
- Add 'gudev' option, allowing to explicitly build without gudev.
* Fix build on Fedora 30.
=============
Version 0.2.2
=============
* Device:
- Handle absolute axes with min > 0.
- Handle the axes' flat to support axes to d-pad mapping.
* Mapping:
- Support negative analog axis to button mappings.
- Support full-range axis to button mappings.
=============
Version 0.2.1
=============
* Defer the emission of input device events by putting them into idle
event sources.
* Update the game controller database.
=============
Version 0.2.0
=============
* Device: Add rumble support.
* Make the devices rumble in manette-test if they support it.
* Mapping:
- Initialize the bindings to 0 before using them, avoiding improper
values in non used fields.
- Ensures the binding value inversion is disabled by default, avoiding
an unexpected state.
- Clear errno before using it to avoid string to uint16 convertions to
fail on valid inputs.
- Silently skip the 'platform' mapping key as it is neither useful nor
erroneous.
* Monitor:
- Fix the 'device-disconnected' signal marshaller.
- Fix the devices hash table hash and comparison functions.
* Build system change:
- Make manette-test properly depend on libmanette.
- Change the package name from libmanette to manette.
- Change the soname from liblibmanette.so to libmanette.so.
- Fix the soname version.
* Fix the license header of manette-version.h.in, which was accidentaly
not matching the one of the library.
* Bugs fixes:
- https://gitlab.gnome.org/aplazas/libmanette/issues/1
- https://gitlab.gnome.org/aplazas/libmanette/issues/2
- https://gitlab.gnome.org/aplazas/libmanette/issues/3
- https://gitlab.gnome.org/aplazas/libmanette/issues/4
- https://gitlab.gnome.org/aplazas/libmanette/issues/5
- https://gitlab.gnome.org/aplazas/libmanette/issues/6
=============
Version 0.1.2
=============
* Build system changes:
- Change the package name from manette to libmanette.
- Bump meson to 0.43.0.
- Enable GObject Introspection.
- Generate a VAPI file.
* Add manette_device_has_input() to let users check the capabilities of
a gamepad. If the ManetteDevice has a mapping, it is considered to
have the inputs defined in the mapping and only these ones, otherwise
it has the ones returned by libevdev.
* ManetteDevice now has accessors to the user's game controller
database, allowing to save and remove mappings for the device.
* The mapping manager now tracks the user's game controller database and
will automatically reload the mappings in case of changes.
ManetteMonitor tracks these changes to update the devices' mappings
automatically.
* Add accessors for ManetteEvent's type, time, and the unfiltered or
unmapped event values. This allows for example to build a mapping for
any device, whether it is mapped or not.
* Various GTK-Doc fixes.
* Various precondition fixes.
=============
Version 0.1.1
=============
This is the first version of libmanette.
|