File: NEWS

package info (click to toggle)
libmanette 0.2.12-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 744 kB
  • sloc: ansic: 4,854; sh: 63; makefile: 7; xml: 6; javascript: 5
file content (212 lines) | stat: -rw-r--r-- 6,854 bytes parent folder | download | duplicates (2)
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.