-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
185 lines (162 loc) · 5.9 KB
/
NEWS
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
=============
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.