xref: /aosp_15_r20/external/libxkbcommon/NEWS (revision 2b949d0487e80d67f1fda82db69e101e761f8064)
1*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.4.0 - 2022-02-04
2*2b949d04SAndroid Build Coastguard Worker==================
3*2b949d04SAndroid Build Coastguard Worker
4*2b949d04SAndroid Build Coastguard Worker- Add `enable-tools` option to Meson build (on by default) to allow disabling
5*2b949d04SAndroid Build Coastguard Worker  the `xkbcli` tools.
6*2b949d04SAndroid Build Coastguard Worker
7*2b949d04SAndroid Build Coastguard Worker  Contributed by Alex Xu (Hello71).
8*2b949d04SAndroid Build Coastguard Worker
9*2b949d04SAndroid Build Coastguard Worker- In `xkbcli list`, fix "YAML Norway problem" in output.
10*2b949d04SAndroid Build Coastguard Worker
11*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer.
12*2b949d04SAndroid Build Coastguard Worker
13*2b949d04SAndroid Build Coastguard Worker- In libxkbregistry, variants now inherit iso639, iso3166 and brief from parent
14*2b949d04SAndroid Build Coastguard Worker  layout if omitted.
15*2b949d04SAndroid Build Coastguard Worker
16*2b949d04SAndroid Build Coastguard Worker  Contributed by M Hickford.
17*2b949d04SAndroid Build Coastguard Worker
18*2b949d04SAndroid Build Coastguard Worker- In libxkbregistry, don't call `xmlCleanupParser()` - it's not supposed to
19*2b949d04SAndroid Build Coastguard Worker  be called by libraries.
20*2b949d04SAndroid Build Coastguard Worker
21*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer.
22*2b949d04SAndroid Build Coastguard Worker
23*2b949d04SAndroid Build Coastguard Worker- In libxkbregistry, skip over invalid ISO-639 or ISO-3166 entries.
24*2b949d04SAndroid Build Coastguard Worker
25*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer.
26*2b949d04SAndroid Build Coastguard Worker
27*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.3.1 - 2021-09-10
28*2b949d04SAndroid Build Coastguard Worker==================
29*2b949d04SAndroid Build Coastguard Worker
30*2b949d04SAndroid Build Coastguard Worker- In `xkbcli interactive-x11`, use the Esc keysym instead of the Esc keycode
31*2b949d04SAndroid Build Coastguard Worker  for quitting.
32*2b949d04SAndroid Build Coastguard Worker
33*2b949d04SAndroid Build Coastguard Worker  Contributed by Simon Ser.
34*2b949d04SAndroid Build Coastguard Worker
35*2b949d04SAndroid Build Coastguard Worker- In `xkbcli how-to-type`, add `--keysym` argugment for how to type a keysym
36*2b949d04SAndroid Build Coastguard Worker  instead of a Unicode codepoint.
37*2b949d04SAndroid Build Coastguard Worker
38*2b949d04SAndroid Build Coastguard Worker- Fix a crash in `xkb_x11_keymap_new_from_device` error handling given some
39*2b949d04SAndroid Build Coastguard Worker  invalid keymaps. Regressed in 1.2.0.
40*2b949d04SAndroid Build Coastguard Worker
41*2b949d04SAndroid Build Coastguard Worker  Reported by Zack Weinberg. Tested by Uli Schlachter.
42*2b949d04SAndroid Build Coastguard Worker
43*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.3.0 - 2021-05-01
44*2b949d04SAndroid Build Coastguard Worker==================
45*2b949d04SAndroid Build Coastguard Worker
46*2b949d04SAndroid Build Coastguard Worker- Change `xkbcli list` to output YAML, instead of the previous ad-hoc format.
47*2b949d04SAndroid Build Coastguard Worker
48*2b949d04SAndroid Build Coastguard Worker  This allows to more easily process the information in a programmetic way, for
49*2b949d04SAndroid Build Coastguard Worker  example
50*2b949d04SAndroid Build Coastguard Worker
51*2b949d04SAndroid Build Coastguard Worker    xkbcli list | yq -r ".layouts[].layout"
52*2b949d04SAndroid Build Coastguard Worker
53*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer.
54*2b949d04SAndroid Build Coastguard Worker
55*2b949d04SAndroid Build Coastguard Worker- Optimize a certain part of keymap compilation (atom interning).
56*2b949d04SAndroid Build Coastguard Worker
57*2b949d04SAndroid Build Coastguard Worker- Fix segmentation fault in case-insensitive `xkb_keysym_from_name` for certain
58*2b949d04SAndroid Build Coastguard Worker  values like the empty string.
59*2b949d04SAndroid Build Coastguard Worker
60*2b949d04SAndroid Build Coastguard Worker  Contributed by Isaac Freund.
61*2b949d04SAndroid Build Coastguard Worker
62*2b949d04SAndroid Build Coastguard Worker- Support building libxkbcommon as a meson subproject.
63*2b949d04SAndroid Build Coastguard Worker
64*2b949d04SAndroid Build Coastguard Worker  Contributed by Adrian Perez de Castro.
65*2b949d04SAndroid Build Coastguard Worker
66*2b949d04SAndroid Build Coastguard Worker- Add `ftruncate` fallback for `posix_fallocate` in `xkbcli interactive-wayland`
67*2b949d04SAndroid Build Coastguard Worker  for FreeBSD.
68*2b949d04SAndroid Build Coastguard Worker
69*2b949d04SAndroid Build Coastguard Worker  Contributed by Evgeniy Khramtsov.
70*2b949d04SAndroid Build Coastguard Worker
71*2b949d04SAndroid Build Coastguard Worker- Properly export library symbols in MSVC.
72*2b949d04SAndroid Build Coastguard Worker
73*2b949d04SAndroid Build Coastguard Worker  Contributed by Adrian Perez de Castro.
74*2b949d04SAndroid Build Coastguard Worker
75*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.2.1 - 2021-04-07
76*2b949d04SAndroid Build Coastguard Worker==================
77*2b949d04SAndroid Build Coastguard Worker
78*2b949d04SAndroid Build Coastguard Worker- Fix `xkb_x11_keymap_new_from_device()` failing when the keymap contains key
79*2b949d04SAndroid Build Coastguard Worker  types with missing level names, like the one used by the `numpad:mac` option
80*2b949d04SAndroid Build Coastguard Worker  in xkeyboard-config. Regressed in 1.2.0.
81*2b949d04SAndroid Build Coastguard Worker
82*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.2.0 - 2021-04-03
83*2b949d04SAndroid Build Coastguard Worker==================
84*2b949d04SAndroid Build Coastguard Worker
85*2b949d04SAndroid Build Coastguard Worker- `xkb_x11_keymap_new_from_device()` is much faster. It now performs only 2
86*2b949d04SAndroid Build Coastguard Worker  roundtrips to the X server, instead of dozens (in first-time calls).
87*2b949d04SAndroid Build Coastguard Worker
88*2b949d04SAndroid Build Coastguard Worker  Contributed by Uli Schlachter.
89*2b949d04SAndroid Build Coastguard Worker
90*2b949d04SAndroid Build Coastguard Worker- Case-sensitive `xkb_keysym_from_name()` is much faster.
91*2b949d04SAndroid Build Coastguard Worker
92*2b949d04SAndroid Build Coastguard Worker- Keysym names of the form `0x12AB` and `U12AB` are parsed more strictly.
93*2b949d04SAndroid Build Coastguard Worker  Previously the hexadecimal part was parsed with `strtoul()`, now only up
94*2b949d04SAndroid Build Coastguard Worker  to 8 hexadecimal digits (0-9A-Fa-f) are allowed.
95*2b949d04SAndroid Build Coastguard Worker
96*2b949d04SAndroid Build Coastguard Worker- Compose files now have a size limit (65535 internal nodes). Further sequences
97*2b949d04SAndroid Build Coastguard Worker  are discared and a warning is issued.
98*2b949d04SAndroid Build Coastguard Worker
99*2b949d04SAndroid Build Coastguard Worker- Compose table loading (`xkb_compose_table_new_from_locale()` and similar) is
100*2b949d04SAndroid Build Coastguard Worker  much faster.
101*2b949d04SAndroid Build Coastguard Worker
102*2b949d04SAndroid Build Coastguard Worker- Use `poll()` instead of `epoll()` for `xlbcli interactive-evdev`, making it
103*2b949d04SAndroid Build Coastguard Worker  portable to FreeBSD which provides evdev but not epoll. On FreeBSD, remember
104*2b949d04SAndroid Build Coastguard Worker  to install the `evdev-proto` package to get the evdev headers.
105*2b949d04SAndroid Build Coastguard Worker
106*2b949d04SAndroid Build Coastguard Worker- The build now requires a C11 compiler (uses anonymous structs/unions).
107*2b949d04SAndroid Build Coastguard Worker
108*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.1.0 - 2021-02-27
109*2b949d04SAndroid Build Coastguard Worker==================
110*2b949d04SAndroid Build Coastguard Worker
111*2b949d04SAndroid Build Coastguard Worker- Publish the `xkb-format-text-v1.md` file in the HTML documentation. This file
112*2b949d04SAndroid Build Coastguard Worker  existed for a long time but only in the Git repository.
113*2b949d04SAndroid Build Coastguard Worker  Link: https://xkbcommon.org/doc/current/md_doc_keymap_format_text_v1.html
114*2b949d04SAndroid Build Coastguard Worker
115*2b949d04SAndroid Build Coastguard Worker- Add partial documentation for xkb_symbols to xkb-format-text-v1.md.
116*2b949d04SAndroid Build Coastguard Worker
117*2b949d04SAndroid Build Coastguard Worker  Contributed by Simon Zeni.
118*2b949d04SAndroid Build Coastguard Worker
119*2b949d04SAndroid Build Coastguard Worker- Update keysym definitions to latest xorgproto. In particular, this adds many
120*2b949d04SAndroid Build Coastguard Worker  special keysyms corresponding to Linux evdev keycodes.
121*2b949d04SAndroid Build Coastguard Worker
122*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
123*2b949d04SAndroid Build Coastguard Worker
124*2b949d04SAndroid Build Coastguard Worker- New API:
125*2b949d04SAndroid Build Coastguard Worker  Too many XKB_KEY_* definitions to list here.
126*2b949d04SAndroid Build Coastguard Worker
127*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.0.3 - 2020-11-23
128*2b949d04SAndroid Build Coastguard Worker==================
129*2b949d04SAndroid Build Coastguard Worker
130*2b949d04SAndroid Build Coastguard Worker- Fix (hopefully) a segfault in xkb_x11_keymap_new_from_device() in some
131*2b949d04SAndroid Build Coastguard Worker  unclear situation (bug introduced in 1.0.2).
132*2b949d04SAndroid Build Coastguard Worker
133*2b949d04SAndroid Build Coastguard Worker- Fix keymaps created with xkb_x11_keymap_new_from_device() don't have level
134*2b949d04SAndroid Build Coastguard Worker  names (bug introduced in 0.8.0).
135*2b949d04SAndroid Build Coastguard Worker
136*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.0.2 - 2020-11-20
137*2b949d04SAndroid Build Coastguard Worker==================
138*2b949d04SAndroid Build Coastguard Worker
139*2b949d04SAndroid Build Coastguard Worker- Fix a bug where a keysym that cannot be resolved in a keymap gets compiled to
140*2b949d04SAndroid Build Coastguard Worker  a garbage keysym. Now it is set to XKB_KEY_NoSymbol instead.
141*2b949d04SAndroid Build Coastguard Worker
142*2b949d04SAndroid Build Coastguard Worker- Improve the speed of xkb_x11_keymap_new_from_device() on repeated calls in the
143*2b949d04SAndroid Build Coastguard Worker  same xkb_context().
144*2b949d04SAndroid Build Coastguard Worker
145*2b949d04SAndroid Build Coastguard Worker
146*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.0.1 - 2020-09-11
147*2b949d04SAndroid Build Coastguard Worker==================
148*2b949d04SAndroid Build Coastguard Worker
149*2b949d04SAndroid Build Coastguard Worker- Fix the tool-option-parsing test failing.
150*2b949d04SAndroid Build Coastguard Worker
151*2b949d04SAndroid Build Coastguard Worker- Remove requirement for pytest in the tool-option-parsing test.
152*2b949d04SAndroid Build Coastguard Worker
153*2b949d04SAndroid Build Coastguard Worker- Make the table output of `xkbcli how-to-type` aligned.
154*2b949d04SAndroid Build Coastguard Worker
155*2b949d04SAndroid Build Coastguard Worker- Some portability and test isolation fixes.
156*2b949d04SAndroid Build Coastguard Worker
157*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 1.0.0 - 2020-09-05
158*2b949d04SAndroid Build Coastguard Worker==================
159*2b949d04SAndroid Build Coastguard Worker
160*2b949d04SAndroid Build Coastguard WorkerNote: this release is API and ABI compatible with previous releases -- the
161*2b949d04SAndroid Build Coastguard Workermajor version bump is only an indication of stability.
162*2b949d04SAndroid Build Coastguard Worker
163*2b949d04SAndroid Build Coastguard Worker- Add libxkbregistry as configure-time optional library. libxkbregistry is a C
164*2b949d04SAndroid Build Coastguard Worker  library that lists available XKB models, layouts and variants for a given
165*2b949d04SAndroid Build Coastguard Worker  ruleset. This is a separate library (libxkbregistry.so, pkgconfig file
166*2b949d04SAndroid Build Coastguard Worker  xkbregistry.pc) and aimed at tools that provide a listing of available
167*2b949d04SAndroid Build Coastguard Worker  keyboard layouts to the user. See the Documentation for details on the API.
168*2b949d04SAndroid Build Coastguard Worker
169*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
170*2b949d04SAndroid Build Coastguard Worker
171*2b949d04SAndroid Build Coastguard Worker- Better support custom user configuration:
172*2b949d04SAndroid Build Coastguard Worker
173*2b949d04SAndroid Build Coastguard Worker    * Allow including XKB files from other paths.
174*2b949d04SAndroid Build Coastguard Worker
175*2b949d04SAndroid Build Coastguard Worker      Previously, a 'symbols/us' file in path A would shadow the same file in
176*2b949d04SAndroid Build Coastguard Worker      path B. This is suboptimal, we rarely need to hide the system files - we
177*2b949d04SAndroid Build Coastguard Worker      care mostly about *extending* them. By continuing to check other lookup
178*2b949d04SAndroid Build Coastguard Worker      paths, we make it possible for a XDG_CONFIG_HOME/xkb/symbols/us file to
179*2b949d04SAndroid Build Coastguard Worker      have sections including those from /usr/share/X11/xkb/symbols/us.
180*2b949d04SAndroid Build Coastguard Worker
181*2b949d04SAndroid Build Coastguard Worker      Note that this is not possible for rules files, which need to be manually
182*2b949d04SAndroid Build Coastguard Worker      controlled to get the right bits resolved.
183*2b949d04SAndroid Build Coastguard Worker
184*2b949d04SAndroid Build Coastguard Worker    * Add /etc/xkb as extra lookup path for system data files.
185*2b949d04SAndroid Build Coastguard Worker
186*2b949d04SAndroid Build Coastguard Worker      This completes the usual triplet of configuration locations available for
187*2b949d04SAndroid Build Coastguard Worker      most processes:
188*2b949d04SAndroid Build Coastguard Worker      - vendor-provided data files in /usr/share/X11/xkb
189*2b949d04SAndroid Build Coastguard Worker      - system-specific data files in /etc/xkb
190*2b949d04SAndroid Build Coastguard Worker      - user-specific data files in $XDG_CONFIG_HOME/xkb
191*2b949d04SAndroid Build Coastguard Worker
192*2b949d04SAndroid Build Coastguard Worker      The default lookup order user, system, vendor, just like everything else
193*2b949d04SAndroid Build Coastguard Worker      that uses these conventions.
194*2b949d04SAndroid Build Coastguard Worker
195*2b949d04SAndroid Build Coastguard Worker      For include directives in rules files, the '%E' resolves to that path.
196*2b949d04SAndroid Build Coastguard Worker
197*2b949d04SAndroid Build Coastguard Worker    * Add a new section to the documentation for custom user configuration.
198*2b949d04SAndroid Build Coastguard Worker
199*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
200*2b949d04SAndroid Build Coastguard Worker
201*2b949d04SAndroid Build Coastguard Worker- Add an `xkbcli` command-line utility.
202*2b949d04SAndroid Build Coastguard Worker
203*2b949d04SAndroid Build Coastguard Worker  This tool offers various subcommands for introspection and debugging.
204*2b949d04SAndroid Build Coastguard Worker  Currently the available subcommands are:
205*2b949d04SAndroid Build Coastguard Worker
206*2b949d04SAndroid Build Coastguard Worker  list
207*2b949d04SAndroid Build Coastguard Worker    List available rules, models, layouts, variants and options
208*2b949d04SAndroid Build Coastguard Worker
209*2b949d04SAndroid Build Coastguard Worker  interactive-wayland
210*2b949d04SAndroid Build Coastguard Worker    Interactive debugger for XKB keymaps for Wayland
211*2b949d04SAndroid Build Coastguard Worker
212*2b949d04SAndroid Build Coastguard Worker  interactive-x11
213*2b949d04SAndroid Build Coastguard Worker    Interactive debugger for XKB keymaps for X11
214*2b949d04SAndroid Build Coastguard Worker
215*2b949d04SAndroid Build Coastguard Worker  interactive-evdev
216*2b949d04SAndroid Build Coastguard Worker    Interactive debugger for XKB keymaps for evdev (Linux)
217*2b949d04SAndroid Build Coastguard Worker
218*2b949d04SAndroid Build Coastguard Worker  compile-keymap
219*2b949d04SAndroid Build Coastguard Worker    Compile an XKB keymap
220*2b949d04SAndroid Build Coastguard Worker
221*2b949d04SAndroid Build Coastguard Worker  how-to-type
222*2b949d04SAndroid Build Coastguard Worker    See separate entry below.
223*2b949d04SAndroid Build Coastguard Worker
224*2b949d04SAndroid Build Coastguard Worker  See the manpages for usage information.
225*2b949d04SAndroid Build Coastguard Worker
226*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
227*2b949d04SAndroid Build Coastguard Worker
228*2b949d04SAndroid Build Coastguard Worker- Add `xkb_utf32_to_keysym()` to translate a Unicode codepoint to a keysym.
229*2b949d04SAndroid Build Coastguard Worker  When a special keysym (`XKB_KEY_` constant) for the codepoint exists, it is
230*2b949d04SAndroid Build Coastguard Worker  returned, otherwise the direct encoding is used, if permissible.
231*2b949d04SAndroid Build Coastguard Worker
232*2b949d04SAndroid Build Coastguard Worker  Contributed by Jaroslaw Kubik <@froglogic.com>.
233*2b949d04SAndroid Build Coastguard Worker
234*2b949d04SAndroid Build Coastguard Worker- Add `xkb_keymap_key_get_mods_for_level()` which retrieves sets of modifiers
235*2b949d04SAndroid Build Coastguard Worker  which produce a given shift level in a given key+layout.
236*2b949d04SAndroid Build Coastguard Worker
237*2b949d04SAndroid Build Coastguard Worker  Contributed by Jaroslaw Kubik <@froglogic.com>.
238*2b949d04SAndroid Build Coastguard Worker
239*2b949d04SAndroid Build Coastguard Worker- Add `xkbcli how-to-type` command, which, using `xkb_utf32_to_keysym()`
240*2b949d04SAndroid Build Coastguard Worker  and `xkb_keymap_key_get_mods_for_level()` and other APIs, prints out all
241*2b949d04SAndroid Build Coastguard Worker  the ways to produce a given keysym.
242*2b949d04SAndroid Build Coastguard Worker
243*2b949d04SAndroid Build Coastguard Worker  For example, how to type `?` (codepoint 63) in a us,de keymap?
244*2b949d04SAndroid Build Coastguard Worker
245*2b949d04SAndroid Build Coastguard Worker    $ xkbcli how-to-type --layout us,de 63 | column -ts $'\t'
246*2b949d04SAndroid Build Coastguard Worker    keysym: question (0x3f)
247*2b949d04SAndroid Build Coastguard Worker    KEYCODE  KEY NAME  LAYOUT#  LAYOUT NAME   LEVEL#  MODIFIERS
248*2b949d04SAndroid Build Coastguard Worker    20       AE11      2        German        2       [ Shift ]
249*2b949d04SAndroid Build Coastguard Worker    20       AE11      2        German        2       [ Shift Lock ]
250*2b949d04SAndroid Build Coastguard Worker    61       AB10      1        English (US)  2       [ Shift ]
251*2b949d04SAndroid Build Coastguard Worker
252*2b949d04SAndroid Build Coastguard Worker- Add a new section to the documentation describing the format of the XKB
253*2b949d04SAndroid Build Coastguard Worker  rules file.
254*2b949d04SAndroid Build Coastguard Worker
255*2b949d04SAndroid Build Coastguard Worker- Search for Compose in $XDG_CONFIG_HOME/XCompose (fallback to
256*2b949d04SAndroid Build Coastguard Worker  ~/.config/XCompose) before trying $HOME/.XCompose.
257*2b949d04SAndroid Build Coastguard Worker
258*2b949d04SAndroid Build Coastguard Worker  Note that libX11 still only searches in $HOME/.XCompose.
259*2b949d04SAndroid Build Coastguard Worker
260*2b949d04SAndroid Build Coastguard Worker  Contributed by Emmanuel Gil Peyrot <@linkmauve.fr>.
261*2b949d04SAndroid Build Coastguard Worker
262*2b949d04SAndroid Build Coastguard Worker- Bump meson requirement to >= 0.49.0.
263*2b949d04SAndroid Build Coastguard Worker
264*2b949d04SAndroid Build Coastguard Worker- Fix build with byacc.
265*2b949d04SAndroid Build Coastguard Worker
266*2b949d04SAndroid Build Coastguard Worker- Fix building X11 tests on PE targets.
267*2b949d04SAndroid Build Coastguard Worker
268*2b949d04SAndroid Build Coastguard Worker  Contributed by Jon Turney <@dronecode.org.uk>
269*2b949d04SAndroid Build Coastguard Worker
270*2b949d04SAndroid Build Coastguard Worker- The tests no longer rely on bash, only Python (which is already used by
271*2b949d04SAndroid Build Coastguard Worker  meson).
272*2b949d04SAndroid Build Coastguard Worker
273*2b949d04SAndroid Build Coastguard Worker- New API:
274*2b949d04SAndroid Build Coastguard Worker  xkb_utf32_to_keysym
275*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_key_get_mods_for_level
276*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86FullScreen
277*2b949d04SAndroid Build Coastguard Worker
278*2b949d04SAndroid Build Coastguard Worker
279*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.10.0 - 2020-01-18
280*2b949d04SAndroid Build Coastguard Worker===================
281*2b949d04SAndroid Build Coastguard Worker
282*2b949d04SAndroid Build Coastguard Worker- (security) Fix quadratic complexity in the XKB file parser. See commit
283*2b949d04SAndroid Build Coastguard Worker  message 7c42945e04a2107827a057245298dedc0475cc88 for details.
284*2b949d04SAndroid Build Coastguard Worker
285*2b949d04SAndroid Build Coastguard Worker- Add $XDG_CONFIG_HOME/xkb to the default search path. If $XDG_CONFIG_HOME
286*2b949d04SAndroid Build Coastguard Worker  is not set, $HOME/.config/xkb is used. If $HOME is not set, the path is not
287*2b949d04SAndroid Build Coastguard Worker  added.
288*2b949d04SAndroid Build Coastguard Worker
289*2b949d04SAndroid Build Coastguard Worker  The XDG path is looked up before the existing default search path $HOME/.xkb.
290*2b949d04SAndroid Build Coastguard Worker
291*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
292*2b949d04SAndroid Build Coastguard Worker
293*2b949d04SAndroid Build Coastguard Worker- Add support for include statements in XKB rules files.
294*2b949d04SAndroid Build Coastguard Worker
295*2b949d04SAndroid Build Coastguard Worker  This is a step towards making local XKB customizations more tenable and
296*2b949d04SAndroid Build Coastguard Worker  convenient, without modifying system files.
297*2b949d04SAndroid Build Coastguard Worker
298*2b949d04SAndroid Build Coastguard Worker  You can now include other rules files like this:
299*2b949d04SAndroid Build Coastguard Worker
300*2b949d04SAndroid Build Coastguard Worker      ! include %S/evdev
301*2b949d04SAndroid Build Coastguard Worker
302*2b949d04SAndroid Build Coastguard Worker  Two directives are supported, %H to $HOME and %S for the system-installed
303*2b949d04SAndroid Build Coastguard Worker  rules directory (usually /usr/share/X11/xkb/rules).
304*2b949d04SAndroid Build Coastguard Worker
305*2b949d04SAndroid Build Coastguard Worker  See commit message ca033a29d2ca910fd17b1ae287cb420205bdddc8 and
306*2b949d04SAndroid Build Coastguard Worker  doc/rules-format.txt in the xkbcommon source code for more information.
307*2b949d04SAndroid Build Coastguard Worker
308*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
309*2b949d04SAndroid Build Coastguard Worker
310*2b949d04SAndroid Build Coastguard Worker- Downgrade "Symbol added to modifier map for multiple modifiers" log to a
311*2b949d04SAndroid Build Coastguard Worker  warning.
312*2b949d04SAndroid Build Coastguard Worker
313*2b949d04SAndroid Build Coastguard Worker  This error message was too annoying to be shown by default. When working on
314*2b949d04SAndroid Build Coastguard Worker  keymaps, set `XKB_LOG_LEVEL=debug XKB_LOG_VERBOSITY=10` to see all possible
315*2b949d04SAndroid Build Coastguard Worker  messages.
316*2b949d04SAndroid Build Coastguard Worker
317*2b949d04SAndroid Build Coastguard Worker- Support building on Windows using the meson MSVC backend.
318*2b949d04SAndroid Build Coastguard Worker
319*2b949d04SAndroid Build Coastguard Worker  Contributed by Adrian Perez de Castro <@igalia.com>.
320*2b949d04SAndroid Build Coastguard Worker
321*2b949d04SAndroid Build Coastguard Worker- Fix bug where the merge mode only applied to the first vmod in a
322*2b949d04SAndroid Build Coastguard Worker  `virtual_modifiers` statement. Given
323*2b949d04SAndroid Build Coastguard Worker
324*2b949d04SAndroid Build Coastguard Worker      augment virtual_modifiers NumLock,Alt,LevelThree
325*2b949d04SAndroid Build Coastguard Worker
326*2b949d04SAndroid Build Coastguard Worker  Previously it was incorrectly treated as
327*2b949d04SAndroid Build Coastguard Worker
328*2b949d04SAndroid Build Coastguard Worker      augment virtual_modifiers NumLock;
329*2b949d04SAndroid Build Coastguard Worker      virtual_modifiers Alt;
330*2b949d04SAndroid Build Coastguard Worker      virtual_modifiers LevelThree;
331*2b949d04SAndroid Build Coastguard Worker
332*2b949d04SAndroid Build Coastguard Worker  Now it is treated as
333*2b949d04SAndroid Build Coastguard Worker
334*2b949d04SAndroid Build Coastguard Worker      augment virtual_modifiers NumLock;
335*2b949d04SAndroid Build Coastguard Worker      augment virtual_modifiers Alt;
336*2b949d04SAndroid Build Coastguard Worker      augment virtual_modifiers LevelThree;
337*2b949d04SAndroid Build Coastguard Worker
338*2b949d04SAndroid Build Coastguard Worker- Reject interpret modifier predicate with more than one value. Given
339*2b949d04SAndroid Build Coastguard Worker
340*2b949d04SAndroid Build Coastguard Worker      interpret ISO_Level3_Shift+AnyOf(all,extraneous) { ... };
341*2b949d04SAndroid Build Coastguard Worker
342*2b949d04SAndroid Build Coastguard Worker  Previously, extraneous (and further) was ignored. Now it's rejected.
343*2b949d04SAndroid Build Coastguard Worker
344*2b949d04SAndroid Build Coastguard Worker- Correctly handle capitalization of the ssharp keysym.
345*2b949d04SAndroid Build Coastguard Worker
346*2b949d04SAndroid Build Coastguard Worker- Speed up and improve the internal `xkeyboard-config` tool. This tool
347*2b949d04SAndroid Build Coastguard Worker  compiles all layout/variant combinations in the xkeyboard-config dataset
348*2b949d04SAndroid Build Coastguard Worker  and reports any issues it finds.
349*2b949d04SAndroid Build Coastguard Worker
350*2b949d04SAndroid Build Coastguard Worker  Contributed by Peter Hutterer <@who-t.net>.
351*2b949d04SAndroid Build Coastguard Worker
352*2b949d04SAndroid Build Coastguard Worker- Speed up "atoms" (string interning). This code goes back at least to X11R1
353*2b949d04SAndroid Build Coastguard Worker  (released 1987).
354*2b949d04SAndroid Build Coastguard Worker
355*2b949d04SAndroid Build Coastguard Worker
356*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.9.1 - 2019-10-19
357*2b949d04SAndroid Build Coastguard Worker==================
358*2b949d04SAndroid Build Coastguard Worker
359*2b949d04SAndroid Build Coastguard Worker- Fix context creation failing when run in privileged processes as defined by
360*2b949d04SAndroid Build Coastguard Worker  `secure_getenv(3)`, e.g. GDM.
361*2b949d04SAndroid Build Coastguard Worker
362*2b949d04SAndroid Build Coastguard Worker
363*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.9.0 - 2019-10-19
364*2b949d04SAndroid Build Coastguard Worker==================
365*2b949d04SAndroid Build Coastguard Worker
366*2b949d04SAndroid Build Coastguard Worker- Move ~/.xkb to before XKB_CONFIG_ROOT (the system XKB path, usually
367*2b949d04SAndroid Build Coastguard Worker  /usr/share/X11/xkb) in the default include path. This enables the user
368*2b949d04SAndroid Build Coastguard Worker  to have full control of the keymap definitions, instead of only augmenting
369*2b949d04SAndroid Build Coastguard Worker  them.
370*2b949d04SAndroid Build Coastguard Worker
371*2b949d04SAndroid Build Coastguard Worker- Remove the Autotools build system. Use the meson build system instead.
372*2b949d04SAndroid Build Coastguard Worker
373*2b949d04SAndroid Build Coastguard Worker- Fix invalid names used for levels above 8 when dumping keymaps. Previously,
374*2b949d04SAndroid Build Coastguard Worker  e.g. "Level20" was dumped, but only up to "Level8" is accepted by the
375*2b949d04SAndroid Build Coastguard Worker  parser. Now "20" is dumped.
376*2b949d04SAndroid Build Coastguard Worker
377*2b949d04SAndroid Build Coastguard Worker- Change level references to always be dumped as e.g. "5" instead of "Level5".
378*2b949d04SAndroid Build Coastguard Worker
379*2b949d04SAndroid Build Coastguard Worker  Change group references to always be dumped capitalized e.g. "Group3" instead
380*2b949d04SAndroid Build Coastguard Worker  of "group3". Previously it was inconsistent.
381*2b949d04SAndroid Build Coastguard Worker
382*2b949d04SAndroid Build Coastguard Worker  These changes affect the output of xkb_keymap_get_as_string().
383*2b949d04SAndroid Build Coastguard Worker
384*2b949d04SAndroid Build Coastguard Worker- Fix several build issues on macOS/Darwin, Solaris, NetBSD, cross compilation.
385*2b949d04SAndroid Build Coastguard Worker
386*2b949d04SAndroid Build Coastguard Worker- Port the interactive-wayland test program to the stable version of xdg-shell.
387*2b949d04SAndroid Build Coastguard Worker
388*2b949d04SAndroid Build Coastguard Worker
389*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.8.4 - 2019-02-22
390*2b949d04SAndroid Build Coastguard Worker==================
391*2b949d04SAndroid Build Coastguard Worker
392*2b949d04SAndroid Build Coastguard Worker- Fix build of xkbcommon-x11 static library with meson.
393*2b949d04SAndroid Build Coastguard Worker
394*2b949d04SAndroid Build Coastguard Worker- Fix building using meson from the tarball generated by autotools.
395*2b949d04SAndroid Build Coastguard Worker
396*2b949d04SAndroid Build Coastguard Worker
397*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.8.3 - 2019-02-08
398*2b949d04SAndroid Build Coastguard Worker==================
399*2b949d04SAndroid Build Coastguard Worker
400*2b949d04SAndroid Build Coastguard Worker- Fix build of static libraries with meson.
401*2b949d04SAndroid Build Coastguard Worker  (Future note: xkbcommon-x11 was *not* fixed in this release.)
402*2b949d04SAndroid Build Coastguard Worker
403*2b949d04SAndroid Build Coastguard Worker- New API:
404*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86MonBrightnessCycle
405*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86RotationLockToggle
406*2b949d04SAndroid Build Coastguard Worker
407*2b949d04SAndroid Build Coastguard Worker
408*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.8.2 - 2018-08-05
409*2b949d04SAndroid Build Coastguard Worker==================
410*2b949d04SAndroid Build Coastguard Worker
411*2b949d04SAndroid Build Coastguard Worker- Fix various problems found with fuzzing (see commit messages for
412*2b949d04SAndroid Build Coastguard Worker  more details):
413*2b949d04SAndroid Build Coastguard Worker
414*2b949d04SAndroid Build Coastguard Worker    - Fix a few NULL-dereferences, out-of-bounds access and undefined behavior
415*2b949d04SAndroid Build Coastguard Worker      in the XKB text format parser.
416*2b949d04SAndroid Build Coastguard Worker
417*2b949d04SAndroid Build Coastguard Worker
418*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.8.1 - 2018-08-03
419*2b949d04SAndroid Build Coastguard Worker==================
420*2b949d04SAndroid Build Coastguard Worker
421*2b949d04SAndroid Build Coastguard Worker- Fix various problems found in the meson build (see commit messages for more
422*2b949d04SAndroid Build Coastguard Worker  details):
423*2b949d04SAndroid Build Coastguard Worker
424*2b949d04SAndroid Build Coastguard Worker    - Fix compilation on Darwin.
425*2b949d04SAndroid Build Coastguard Worker
426*2b949d04SAndroid Build Coastguard Worker    - Fix compilation of the x11 tests and demos when XCB is installed in a
427*2b949d04SAndroid Build Coastguard Worker      non-standard location.
428*2b949d04SAndroid Build Coastguard Worker
429*2b949d04SAndroid Build Coastguard Worker    - Fix xkbcommon-x11.pc missing the Requires specification.
430*2b949d04SAndroid Build Coastguard Worker
431*2b949d04SAndroid Build Coastguard Worker- Fix various problems found with fuzzing and Coverity (see commit messages for
432*2b949d04SAndroid Build Coastguard Worker  more details):
433*2b949d04SAndroid Build Coastguard Worker
434*2b949d04SAndroid Build Coastguard Worker    - Fix stack overflow in the XKB text format parser when evaluating boolean
435*2b949d04SAndroid Build Coastguard Worker      negation.
436*2b949d04SAndroid Build Coastguard Worker
437*2b949d04SAndroid Build Coastguard Worker    - Fix NULL-dereferences in the XKB text format parser when some unsupported
438*2b949d04SAndroid Build Coastguard Worker      tokens appear (the tokens are still parsed for backward compatibility).
439*2b949d04SAndroid Build Coastguard Worker
440*2b949d04SAndroid Build Coastguard Worker    - Fix NULL-dereference in the XKB text format parser when parsing an
441*2b949d04SAndroid Build Coastguard Worker      xkb_geometry section.
442*2b949d04SAndroid Build Coastguard Worker
443*2b949d04SAndroid Build Coastguard Worker    - Fix an infinite loop in the Compose text format parser on some inputs.
444*2b949d04SAndroid Build Coastguard Worker
445*2b949d04SAndroid Build Coastguard Worker    - Fix an invalid free() when using multiple keysyms.
446*2b949d04SAndroid Build Coastguard Worker
447*2b949d04SAndroid Build Coastguard Worker- Replace the Unicode characters for the leftanglebracket and rightanglebracket
448*2b949d04SAndroid Build Coastguard Worker  keysyms from the deprecated LEFT/RIGHT-POINTING ANGLE BRACKET to
449*2b949d04SAndroid Build Coastguard Worker  MATHEMATICAL LEFT/RIGHT ANGLE BRACKET.
450*2b949d04SAndroid Build Coastguard Worker
451*2b949d04SAndroid Build Coastguard Worker- Reject out-of-range Unicode codepoints in xkb_keysym_to_utf8 and
452*2b949d04SAndroid Build Coastguard Worker  xkb_keysym_to_utf32.
453*2b949d04SAndroid Build Coastguard Worker
454*2b949d04SAndroid Build Coastguard Worker
455*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.8.0 - 2017-12-15
456*2b949d04SAndroid Build Coastguard Worker==================
457*2b949d04SAndroid Build Coastguard Worker
458*2b949d04SAndroid Build Coastguard Worker- Added xkb_keysym_to_{upper,lower} to perform case-conversion directly on
459*2b949d04SAndroid Build Coastguard Worker  keysyms. This is useful in some odd cases, but working with the Unicode
460*2b949d04SAndroid Build Coastguard Worker  representations should be preferred when possible.
461*2b949d04SAndroid Build Coastguard Worker
462*2b949d04SAndroid Build Coastguard Worker- Added Unicode conversion rules for the signifblank and permille keysyms.
463*2b949d04SAndroid Build Coastguard Worker
464*2b949d04SAndroid Build Coastguard Worker- Fixed a bug in the parsing of XKB key type definitions where the number
465*2b949d04SAndroid Build Coastguard Worker  of levels were determined by the number of level *names*. Keymaps which
466*2b949d04SAndroid Build Coastguard Worker  omit level names were hence miscompiled.
467*2b949d04SAndroid Build Coastguard Worker
468*2b949d04SAndroid Build Coastguard Worker  This regressed in version 0.4.3. Keymaps from xkeyboard-config were not
469*2b949d04SAndroid Build Coastguard Worker  affected since they don't omit level names.
470*2b949d04SAndroid Build Coastguard Worker
471*2b949d04SAndroid Build Coastguard Worker- New API:
472*2b949d04SAndroid Build Coastguard Worker  xkb_keysym_to_upper()
473*2b949d04SAndroid Build Coastguard Worker  xkb_keysym_to_lower()
474*2b949d04SAndroid Build Coastguard Worker
475*2b949d04SAndroid Build Coastguard Worker
476*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.7.2 - 2017-08-04
477*2b949d04SAndroid Build Coastguard Worker==================
478*2b949d04SAndroid Build Coastguard Worker
479*2b949d04SAndroid Build Coastguard Worker- Added a Meson build system as an alternative to existing autotools build
480*2b949d04SAndroid Build Coastguard Worker  system.
481*2b949d04SAndroid Build Coastguard Worker
482*2b949d04SAndroid Build Coastguard Worker  The intent is to remove the autotools build in one of the next releases.
483*2b949d04SAndroid Build Coastguard Worker  Please try to convert to it and report any problems.
484*2b949d04SAndroid Build Coastguard Worker
485*2b949d04SAndroid Build Coastguard Worker  See http://mesonbuild.com/Quick-guide.html for basic usage, the
486*2b949d04SAndroid Build Coastguard Worker  meson_options.txt for the project-specific configuration options,
487*2b949d04SAndroid Build Coastguard Worker  and the PACKAGING file for more details.
488*2b949d04SAndroid Build Coastguard Worker
489*2b949d04SAndroid Build Coastguard Worker  There are some noteworthy differences compared to the autotools build:
490*2b949d04SAndroid Build Coastguard Worker
491*2b949d04SAndroid Build Coastguard Worker  - Feature auto-detection is not performed. By default, all features are
492*2b949d04SAndroid Build Coastguard Worker    enabled (currently: docs, x11, wayland). The build fails if any of
493*2b949d04SAndroid Build Coastguard Worker    the required dependencies are not available. To disable a feature,
494*2b949d04SAndroid Build Coastguard Worker    pass -Denable-<feature>=false to meson.
495*2b949d04SAndroid Build Coastguard Worker
496*2b949d04SAndroid Build Coastguard Worker  - The libraries are either installed as shared or static, as specified
497*2b949d04SAndroid Build Coastguard Worker    by the -Ddefault_library=shared/static option. With autotools, both
498*2b949d04SAndroid Build Coastguard Worker    versions are installed by default.
499*2b949d04SAndroid Build Coastguard Worker
500*2b949d04SAndroid Build Coastguard Worker  - xorg-util-macros is not used.
501*2b949d04SAndroid Build Coastguard Worker
502*2b949d04SAndroid Build Coastguard Worker  - A parser generator (bison/byacc) is always required - there is no
503*2b949d04SAndroid Build Coastguard Worker    fallback to pre-generated output bundled in the tarball, as there is
504*2b949d04SAndroid Build Coastguard Worker    in autotools.
505*2b949d04SAndroid Build Coastguard Worker
506*2b949d04SAndroid Build Coastguard Worker- Removed Android.mk support.
507*2b949d04SAndroid Build Coastguard Worker
508*2b949d04SAndroid Build Coastguard Worker- Removed the *-uninstalled.pc pkgconfig files.
509*2b949d04SAndroid Build Coastguard Worker
510*2b949d04SAndroid Build Coastguard Worker- Ported the interactive-wayland demo program to v6 of the xdg-shell
511*2b949d04SAndroid Build Coastguard Worker  protocol.
512*2b949d04SAndroid Build Coastguard Worker
513*2b949d04SAndroid Build Coastguard Worker- Added new keysym definitions from xproto.
514*2b949d04SAndroid Build Coastguard Worker
515*2b949d04SAndroid Build Coastguard Worker- New API:
516*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86Keyboard
517*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86WWAN
518*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86RFKill
519*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86AudioPreset
520*2b949d04SAndroid Build Coastguard Worker
521*2b949d04SAndroid Build Coastguard Worker
522*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.7.1 - 2017-01-18
523*2b949d04SAndroid Build Coastguard Worker==================
524*2b949d04SAndroid Build Coastguard Worker
525*2b949d04SAndroid Build Coastguard Worker- Fixed various reported problems when the current locale is tr_TR.UTF-8.
526*2b949d04SAndroid Build Coastguard Worker
527*2b949d04SAndroid Build Coastguard Worker  The function xkb_keysym_from_name() used to perform case-insensitive
528*2b949d04SAndroid Build Coastguard Worker  string comparisons in a locale-dependent way, but required it to to
529*2b949d04SAndroid Build Coastguard Worker  work as in the C/ASCII locale (the so called "Turkish i problem").
530*2b949d04SAndroid Build Coastguard Worker
531*2b949d04SAndroid Build Coastguard Worker  The function is now no longer affected by the current locale.
532*2b949d04SAndroid Build Coastguard Worker
533*2b949d04SAndroid Build Coastguard Worker- Fixed compilation in NetBSD.
534*2b949d04SAndroid Build Coastguard Worker
535*2b949d04SAndroid Build Coastguard Worker
536*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.7.0 - 2016-11-11
537*2b949d04SAndroid Build Coastguard Worker==================
538*2b949d04SAndroid Build Coastguard Worker
539*2b949d04SAndroid Build Coastguard Worker- Added support for different "modes" of calculating consumed modifiers.
540*2b949d04SAndroid Build Coastguard Worker  The existing mode, based on the XKB standard, has proven to be
541*2b949d04SAndroid Build Coastguard Worker  unintuitive in various shortcut implementations.
542*2b949d04SAndroid Build Coastguard Worker
543*2b949d04SAndroid Build Coastguard Worker  A new mode, based on the calculation used by the GTK toolkit, is added.
544*2b949d04SAndroid Build Coastguard Worker  This mode is less eager to declare a modifier as consumed.
545*2b949d04SAndroid Build Coastguard Worker
546*2b949d04SAndroid Build Coastguard Worker- Added a new interactive demo program using the Wayland protocol.
547*2b949d04SAndroid Build Coastguard Worker  See the PACKAGING file for the new (optional) test dependencies.
548*2b949d04SAndroid Build Coastguard Worker
549*2b949d04SAndroid Build Coastguard Worker- Fixed a compilation error on GNU Hurd.
550*2b949d04SAndroid Build Coastguard Worker
551*2b949d04SAndroid Build Coastguard Worker- New API:
552*2b949d04SAndroid Build Coastguard Worker  enum xkb_consumed_mode
553*2b949d04SAndroid Build Coastguard Worker  XKB_CONSUMED_MODE_XKB
554*2b949d04SAndroid Build Coastguard Worker  XKB_CONSUMED_MODE_GTK
555*2b949d04SAndroid Build Coastguard Worker  xkb_state_key_get_consumed_mods2
556*2b949d04SAndroid Build Coastguard Worker  xkb_state_mod_index_is_consumed2
557*2b949d04SAndroid Build Coastguard Worker
558*2b949d04SAndroid Build Coastguard Worker
559*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.6.1 - 2016-04-08
560*2b949d04SAndroid Build Coastguard Worker==================
561*2b949d04SAndroid Build Coastguard Worker
562*2b949d04SAndroid Build Coastguard Worker- Added LICENSE to distributed files in tarball releases.
563*2b949d04SAndroid Build Coastguard Worker
564*2b949d04SAndroid Build Coastguard Worker- Minor typo fix in xkb_keymap_get_as_string() documentation.
565*2b949d04SAndroid Build Coastguard Worker
566*2b949d04SAndroid Build Coastguard Worker
567*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.6.0 - 2016-03-16
568*2b949d04SAndroid Build Coastguard Worker==================
569*2b949d04SAndroid Build Coastguard Worker
570*2b949d04SAndroid Build Coastguard Worker- If the XKB_CONFIG_ROOT environment variable is set, it is used as the XKB
571*2b949d04SAndroid Build Coastguard Worker  configuration root instead of the path determined at build time.
572*2b949d04SAndroid Build Coastguard Worker
573*2b949d04SAndroid Build Coastguard Worker- Tests and benchmarks now build correctly on OSX.
574*2b949d04SAndroid Build Coastguard Worker
575*2b949d04SAndroid Build Coastguard Worker- An XKB keymap provides a name for each key it defines.  Traditionally,
576*2b949d04SAndroid Build Coastguard Worker  these names are limited to at most 4 characters, and are thus somewhat
577*2b949d04SAndroid Build Coastguard Worker  obscure, but might still be useful (xkbcommon lifts the 4 character limit).
578*2b949d04SAndroid Build Coastguard Worker
579*2b949d04SAndroid Build Coastguard Worker  The new functions xkb_keymap_key_get_name() and xkb_keymap_key_by_name()
580*2b949d04SAndroid Build Coastguard Worker  can be used to get the name of a key or find a key by name.  Note that
581*2b949d04SAndroid Build Coastguard Worker  a key may have aliases.
582*2b949d04SAndroid Build Coastguard Worker
583*2b949d04SAndroid Build Coastguard Worker- Documentation improvements.
584*2b949d04SAndroid Build Coastguard Worker
585*2b949d04SAndroid Build Coastguard Worker- New API:
586*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_key_by_name()
587*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_key_get_name()
588*2b949d04SAndroid Build Coastguard Worker
589*2b949d04SAndroid Build Coastguard Worker
590*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.5.0 - 2014-10-18
591*2b949d04SAndroid Build Coastguard Worker==================
592*2b949d04SAndroid Build Coastguard Worker
593*2b949d04SAndroid Build Coastguard Worker- Added support for Compose/dead keys in a new module (included in
594*2b949d04SAndroid Build Coastguard Worker  libxkbcommon). See the documentation or the
595*2b949d04SAndroid Build Coastguard Worker  xkbcommon/xkbcommon-compose.h header file for more details.
596*2b949d04SAndroid Build Coastguard Worker
597*2b949d04SAndroid Build Coastguard Worker- Improved and reordered some sections of the documentation.
598*2b949d04SAndroid Build Coastguard Worker
599*2b949d04SAndroid Build Coastguard Worker- The doxygen HTML pages were made nicer to read.
600*2b949d04SAndroid Build Coastguard Worker
601*2b949d04SAndroid Build Coastguard Worker- Most tests now run also on non-linux platforms.
602*2b949d04SAndroid Build Coastguard Worker
603*2b949d04SAndroid Build Coastguard Worker- A warning is emitted by default about RMLVO values which are not used
604*2b949d04SAndroid Build Coastguard Worker  during keymap compilation, which are most often a user misconfiguration.
605*2b949d04SAndroid Build Coastguard Worker  For example, "terminate:ctrl_alt_backspace" instead of
606*2b949d04SAndroid Build Coastguard Worker  "terminate:ctrl_alt_bksp".
607*2b949d04SAndroid Build Coastguard Worker
608*2b949d04SAndroid Build Coastguard Worker- Added symbol versioning for libxkbcommon and libxkbcommon-x11.
609*2b949d04SAndroid Build Coastguard Worker  Note: binaries compiled against this and future versions will not be
610*2b949d04SAndroid Build Coastguard Worker  able to link against the previous versions of the library.
611*2b949d04SAndroid Build Coastguard Worker
612*2b949d04SAndroid Build Coastguard Worker- Removed several compatablity symbols from the binary (the API isn't
613*2b949d04SAndroid Build Coastguard Worker  affected). This affects binaries which
614*2b949d04SAndroid Build Coastguard Worker
615*2b949d04SAndroid Build Coastguard Worker  1. Were compiled against a pre-stable (<0.2.0) version of libxkbcommon, and
616*2b949d04SAndroid Build Coastguard Worker  2. Are linked against the this or later version of libxkbcommon.
617*2b949d04SAndroid Build Coastguard Worker
618*2b949d04SAndroid Build Coastguard Worker  Such a scenario is likely to fail already.
619*2b949d04SAndroid Build Coastguard Worker
620*2b949d04SAndroid Build Coastguard Worker- If Xvfb is not available, the x11comp test is now correctly skipped
621*2b949d04SAndroid Build Coastguard Worker  instead of hanging.
622*2b949d04SAndroid Build Coastguard Worker
623*2b949d04SAndroid Build Coastguard Worker- Benchmarks were moved to a separate bench/ directory.
624*2b949d04SAndroid Build Coastguard Worker
625*2b949d04SAndroid Build Coastguard Worker- Build fixes from OpenBSD.
626*2b949d04SAndroid Build Coastguard Worker
627*2b949d04SAndroid Build Coastguard Worker- Fixed a bug where key type entries such as "map[None] = Level2;" were
628*2b949d04SAndroid Build Coastguard Worker  ignored.
629*2b949d04SAndroid Build Coastguard Worker
630*2b949d04SAndroid Build Coastguard Worker- New API:
631*2b949d04SAndroid Build Coastguard Worker  XKB_COMPOSE_*
632*2b949d04SAndroid Build Coastguard Worker  xkb_compose_*
633*2b949d04SAndroid Build Coastguard Worker
634*2b949d04SAndroid Build Coastguard Worker
635*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.4.3 - 2014-08-19
636*2b949d04SAndroid Build Coastguard Worker==================
637*2b949d04SAndroid Build Coastguard Worker
638*2b949d04SAndroid Build Coastguard Worker- Fixed a bug which caused xkb_x11_keymap_new_from_device() to misrepresent
639*2b949d04SAndroid Build Coastguard Worker  modifiers for some keymaps.
640*2b949d04SAndroid Build Coastguard Worker
641*2b949d04SAndroid Build Coastguard Worker  https://github.com/xkbcommon/libxkbcommon/issues/9
642*2b949d04SAndroid Build Coastguard Worker
643*2b949d04SAndroid Build Coastguard Worker- Fixed a bug which caused xkb_x11_keymap_new_from_device() to ignore XKB
644*2b949d04SAndroid Build Coastguard Worker  PrivateAction's.
645*2b949d04SAndroid Build Coastguard Worker
646*2b949d04SAndroid Build Coastguard Worker- Modifiers are now always fully resolved after xkb_state_update_mask().
647*2b949d04SAndroid Build Coastguard Worker  Previously the given state components were used as-is, without
648*2b949d04SAndroid Build Coastguard Worker  considering virtual modifier mappings.
649*2b949d04SAndroid Build Coastguard Worker  Note: this only affects non-standard uses of xkb_state_update_mask().
650*2b949d04SAndroid Build Coastguard Worker
651*2b949d04SAndroid Build Coastguard Worker- Added a test for xkbcommon-x11, "x11comp". The test uses the system's
652*2b949d04SAndroid Build Coastguard Worker  Xvfb server and xkbcomp. If they do not exist or fail, the test is
653*2b949d04SAndroid Build Coastguard Worker  skipped.
654*2b949d04SAndroid Build Coastguard Worker
655*2b949d04SAndroid Build Coastguard Worker- Fixed memory leaks after parse errors in the XKB yacc parser.
656*2b949d04SAndroid Build Coastguard Worker  The fix required changes which are currently incompatible with byacc.
657*2b949d04SAndroid Build Coastguard Worker
658*2b949d04SAndroid Build Coastguard Worker
659*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.4.2 - 2014-05-15
660*2b949d04SAndroid Build Coastguard Worker==================
661*2b949d04SAndroid Build Coastguard Worker
662*2b949d04SAndroid Build Coastguard Worker- Fixed a bug where explicitly passing "--enable-x11" to ./configure would
663*2b949d04SAndroid Build Coastguard Worker  in fact disable it (regressed in 0.4.1).
664*2b949d04SAndroid Build Coastguard Worker
665*2b949d04SAndroid Build Coastguard Worker- Added @since version annotations to the API documentation for everything
666*2b949d04SAndroid Build Coastguard Worker  introduced after the initial stable release (0.2.0).
667*2b949d04SAndroid Build Coastguard Worker
668*2b949d04SAndroid Build Coastguard Worker- Added a section to the documentation about keysym transformations, and
669*2b949d04SAndroid Build Coastguard Worker  clarified which functions perform a given transformation.
670*2b949d04SAndroid Build Coastguard Worker
671*2b949d04SAndroid Build Coastguard Worker- XKB files which fail to compile during keymap construction can no longer
672*2b949d04SAndroid Build Coastguard Worker  have any effect on the resulting keymap: changes are only applied when
673*2b949d04SAndroid Build Coastguard Worker  the entire compilation succeeds.
674*2b949d04SAndroid Build Coastguard Worker  Note: this was a minor correctness issue inherited from xkbcomp.
675*2b949d04SAndroid Build Coastguard Worker
676*2b949d04SAndroid Build Coastguard Worker- Fix an out-of-bounds array access in src/x11/util.c:adopt_atoms()
677*2b949d04SAndroid Build Coastguard Worker  error-handling code.
678*2b949d04SAndroid Build Coastguard Worker  Note: it seems impossible to trigger in the current code since the input
679*2b949d04SAndroid Build Coastguard Worker  size cannot exceed the required size.
680*2b949d04SAndroid Build Coastguard Worker
681*2b949d04SAndroid Build Coastguard Worker
682*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.4.1 - 2014-03-27
683*2b949d04SAndroid Build Coastguard Worker==================
684*2b949d04SAndroid Build Coastguard Worker
685*2b949d04SAndroid Build Coastguard Worker- Converted README to markdown and added a Quick Guide to the
686*2b949d04SAndroid Build Coastguard Worker  documentation, which breezes through the most common parts of
687*2b949d04SAndroid Build Coastguard Worker  xkbcommon.
688*2b949d04SAndroid Build Coastguard Worker
689*2b949d04SAndroid Build Coastguard Worker- Added two new functions, xkb_state_key_get_utf{8,32}(). They
690*2b949d04SAndroid Build Coastguard Worker  combine the operations of xkb_state_key_get_syms() and
691*2b949d04SAndroid Build Coastguard Worker  xkb_keysym_to_utf{8,32}(), and provide a nicer interface for it
692*2b949d04SAndroid Build Coastguard Worker  (espcially for multiple-keysyms-per-level).
693*2b949d04SAndroid Build Coastguard Worker
694*2b949d04SAndroid Build Coastguard Worker- The xkb_state_key_get_utf{8,32}() functions now apply Control
695*2b949d04SAndroid Build Coastguard Worker  transformation: when the Control modifier is active, the string
696*2b949d04SAndroid Build Coastguard Worker  is converted to an appropriate control character.
697*2b949d04SAndroid Build Coastguard Worker  This matches the behavior of libX11's XLookupString(3), and
698*2b949d04SAndroid Build Coastguard Worker  required by the XKB specification:
699*2b949d04SAndroid Build Coastguard Worker  https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier
700*2b949d04SAndroid Build Coastguard Worker
701*2b949d04SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=75892
702*2b949d04SAndroid Build Coastguard Worker
703*2b949d04SAndroid Build Coastguard Worker- The consumed modifiers for a key are now calculated similarly
704*2b949d04SAndroid Build Coastguard Worker  to libX11. The previous behavior caused a bug where Shift would
705*2b949d04SAndroid Build Coastguard Worker  not cancel an active Caps Lock.
706*2b949d04SAndroid Build Coastguard Worker
707*2b949d04SAndroid Build Coastguard Worker- Make xkbcommon-x11 work with the keymap reported by the XQuartz
708*2b949d04SAndroid Build Coastguard Worker  X server.
709*2b949d04SAndroid Build Coastguard Worker
710*2b949d04SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=75798
711*2b949d04SAndroid Build Coastguard Worker
712*2b949d04SAndroid Build Coastguard Worker- Reduce memory usage during keymap compilation some more.
713*2b949d04SAndroid Build Coastguard Worker
714*2b949d04SAndroid Build Coastguard Worker- New API:
715*2b949d04SAndroid Build Coastguard Worker  xkb_state_key_get_consumed_mods()
716*2b949d04SAndroid Build Coastguard Worker  xkb_state_key_get_utf8()
717*2b949d04SAndroid Build Coastguard Worker  xkb_state_key_get_utf32()
718*2b949d04SAndroid Build Coastguard Worker
719*2b949d04SAndroid Build Coastguard Worker- Deprecated API:
720*2b949d04SAndroid Build Coastguard Worker  XKB_MAP_COMPILE_PLACEHOLDER, XKB_MAP_NO_FLAGS
721*2b949d04SAndroid Build Coastguard Worker    use XKB_KEYMAP_NO_FLAGS instead.
722*2b949d04SAndroid Build Coastguard Worker
723*2b949d04SAndroid Build Coastguard Worker- Bug fixes.
724*2b949d04SAndroid Build Coastguard Worker
725*2b949d04SAndroid Build Coastguard Worker
726*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.4.0 - 2014-02-02
727*2b949d04SAndroid Build Coastguard Worker==================
728*2b949d04SAndroid Build Coastguard Worker
729*2b949d04SAndroid Build Coastguard Worker- Add a new add-on library, xkbcommon-x11, to support creating keymaps
730*2b949d04SAndroid Build Coastguard Worker  with the XKB X11 protocol, by querying the X server directly.
731*2b949d04SAndroid Build Coastguard Worker  See the xkbcommon/xkbcommon-x11.h header file for more details.
732*2b949d04SAndroid Build Coastguard Worker  This library requires libxcb-xkb >= 1.10, and is enabled by default.
733*2b949d04SAndroid Build Coastguard Worker  It can be disabled with the --disable-x11 configure switch.
734*2b949d04SAndroid Build Coastguard Worker  Distributions are encouraged to split the necessary files for this
735*2b949d04SAndroid Build Coastguard Worker  library (libxkbcommon-x11.so, xkbcommon-x11.pc, xkbcommon/xkbcommon-x11.h)
736*2b949d04SAndroid Build Coastguard Worker  to a separate package, such that the main package does not depend on
737*2b949d04SAndroid Build Coastguard Worker  X11 libraries.
738*2b949d04SAndroid Build Coastguard Worker
739*2b949d04SAndroid Build Coastguard Worker- Fix the keysym <-> name lookup table to not require huge amounts of
740*2b949d04SAndroid Build Coastguard Worker  relocations.
741*2b949d04SAndroid Build Coastguard Worker
742*2b949d04SAndroid Build Coastguard Worker- Fix a bug in the keysym <-> name lookup, whereby lookup might fail in
743*2b949d04SAndroid Build Coastguard Worker  some rare cases.
744*2b949d04SAndroid Build Coastguard Worker
745*2b949d04SAndroid Build Coastguard Worker- Reduce memory usage during keymap compilation.
746*2b949d04SAndroid Build Coastguard Worker
747*2b949d04SAndroid Build Coastguard Worker- New API:
748*2b949d04SAndroid Build Coastguard Worker  New keysyms from xproto 7.0.25 (German T3 layout keysyms).
749*2b949d04SAndroid Build Coastguard Worker  XKB_MOD_NAME_NUM for the usual NumLock modifier.
750*2b949d04SAndroid Build Coastguard Worker  xkb_x11_* types and functions, XKB_X11_* constants.
751*2b949d04SAndroid Build Coastguard Worker
752*2b949d04SAndroid Build Coastguard Worker
753*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.3.2 - 2013-11-22
754*2b949d04SAndroid Build Coastguard Worker==================
755*2b949d04SAndroid Build Coastguard Worker
756*2b949d04SAndroid Build Coastguard Worker- Log messages from the library now look like "xkbcommon: ERROR" by
757*2b949d04SAndroid Build Coastguard Worker  default, instead of xkbcomp-like "Error:   ".
758*2b949d04SAndroid Build Coastguard Worker
759*2b949d04SAndroid Build Coastguard Worker- Apply capitalization transformation on keysyms in
760*2b949d04SAndroid Build Coastguard Worker  xkb_keysym_get_one_sym(), to match the behavior specified in the XKB
761*2b949d04SAndroid Build Coastguard Worker  specification:
762*2b949d04SAndroid Build Coastguard Worker  https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier
763*2b949d04SAndroid Build Coastguard Worker
764*2b949d04SAndroid Build Coastguard Worker- Support byacc for generating the parser, in addition to Bison.
765*2b949d04SAndroid Build Coastguard Worker
766*2b949d04SAndroid Build Coastguard Worker- New API:
767*2b949d04SAndroid Build Coastguard Worker  XKB_KEY_XF86AudioMicMute keysym from xproto 7.0.24.
768*2b949d04SAndroid Build Coastguard Worker  XKB_KEYSYM_NO_FLAGS
769*2b949d04SAndroid Build Coastguard Worker  XKB_CONTEXT_NO_FLAGS
770*2b949d04SAndroid Build Coastguard Worker  XKB_MAP_COMPILE_NO_FLAGS
771*2b949d04SAndroid Build Coastguard Worker
772*2b949d04SAndroid Build Coastguard Worker- Bug fixes.
773*2b949d04SAndroid Build Coastguard Worker
774*2b949d04SAndroid Build Coastguard Worker
775*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.3.1 - 2013-06-03
776*2b949d04SAndroid Build Coastguard Worker==================
777*2b949d04SAndroid Build Coastguard Worker
778*2b949d04SAndroid Build Coastguard Worker- Replace the flex scanner with a hand-written one. flex is no longer
779*2b949d04SAndroid Build Coastguard Worker  a build requirement.
780*2b949d04SAndroid Build Coastguard Worker
781*2b949d04SAndroid Build Coastguard Worker- New API:
782*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_min_keycode()
783*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_max_keycode()
784*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_key_for_each()
785*2b949d04SAndroid Build Coastguard Worker
786*2b949d04SAndroid Build Coastguard Worker
787*2b949d04SAndroid Build Coastguard Workerlibxkbcommon 0.3.0 - 2013-04-01
788*2b949d04SAndroid Build Coastguard Worker==================
789*2b949d04SAndroid Build Coastguard Worker
790*2b949d04SAndroid Build Coastguard Worker- Allow passing NULL to *_unref() functions; do nothing instead of
791*2b949d04SAndroid Build Coastguard Worker  crashing.
792*2b949d04SAndroid Build Coastguard Worker
793*2b949d04SAndroid Build Coastguard Worker- The functions xkb_keymap_num_levels_for_key() and
794*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_get_syms_by_level() now allow out-of-range values for the
795*2b949d04SAndroid Build Coastguard Worker  'layout' parameter. The functions now wrap the value around the number
796*2b949d04SAndroid Build Coastguard Worker  of layouts instead of failing.
797*2b949d04SAndroid Build Coastguard Worker
798*2b949d04SAndroid Build Coastguard Worker- The function xkb_keysym_get_name() now types unicode keysyms in
799*2b949d04SAndroid Build Coastguard Worker  uppercase and 0-padding, to match the format used by XKeysymToString().
800*2b949d04SAndroid Build Coastguard Worker
801*2b949d04SAndroid Build Coastguard Worker- Building Linux-specific tests is no longer attempted on non-Linux
802*2b949d04SAndroid Build Coastguard Worker  environments.
803*2b949d04SAndroid Build Coastguard Worker
804*2b949d04SAndroid Build Coastguard Worker- The function xkb_keymap_new_from_names() now accepts a NULL value for
805*2b949d04SAndroid Build Coastguard Worker  the 'names' parameter, instead of failing. This is equivalent to passing
806*2b949d04SAndroid Build Coastguard Worker  a 'struct xkb_rule_names' with all fields set to NULL.
807*2b949d04SAndroid Build Coastguard Worker
808*2b949d04SAndroid Build Coastguard Worker- New API:
809*2b949d04SAndroid Build Coastguard Worker  xkb_keymap_new_from_buffer()
810*2b949d04SAndroid Build Coastguard Worker
811*2b949d04SAndroid Build Coastguard Worker- Bug fixes.
812