state: fix consumed modifier calculation
[platform/upstream/libxkbcommon.git] / NEWS
1 libxkbcommon 0.4.0
2 ==================
3
4 - Add a new add-on library, xkbcommon-x11, to support creating keymaps
5   with the XKB X11 protocol, by querying the X server directly.
6   See the xkbcommon/xkbcommon-x11.h header file for more details.
7   This library requires libxcb-xkb >= 1.10, and is enabled by default.
8   It can be disabled with the --disable-x11 configure switch.
9   Distributions are encouraged to split the necessary files for this
10   library (libxkbcommon-x11.so, xkbcommon-x11.pc, xkbcommon/xkbcommon-x11.h)
11   to a separate package, such that the main package does not depend on
12   X11 libraries.
13
14 - Fix the keysym <-> name lookup table to not require huge amounts of
15   relocations.
16
17 - Fix a bug in the keysym <-> name lookup, whereby lookup might fail in
18   some rare cases.
19
20 - Reduce memory usage during keymap compilation.
21
22 - New API:
23   New keysyms from xproto 7.0.25 (German T3 layout keysyms).
24   XKB_MOD_NAME_NUM for the usual NumLock modifier.
25   xkb_x11_* types and functions, XKB_X11_* constants.
26
27
28 libxkbcommon 0.3.2
29 ==================
30
31 - Log messages from the library now look like "xkbcommon: ERROR" by
32   default, instead of xkbcomp-like "Error:   ".
33
34 - Apply capitalization transformation on keysyms in
35   xkb_keysym_get_one_sym(), to match the behavior specified in the XKB
36   specification:
37   http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier
38
39 - Support byacc for generating the parser, in addition to Bison.
40
41 - New API:
42   XKB_KEY_XF86AudioMicMute keysym from xproto 7.0.24.
43   XKB_KEYSYM_NO_FLAGS
44   XKB_CONTEXT_NO_FLAGS
45   XKB_MAP_COMPILE_NO_FLAGS
46
47 - Bug fixes.
48
49
50 libxkbcommon 0.3.1
51 ==================
52
53 - Replace the flex scanner with a hand-written one. flex is no longer
54   a build requirement.
55
56 - New API:
57   xkb_keymap_min_keycode()
58   xkb_keymap_max_keycode()
59   xkb_keymap_key_for_each()
60
61
62 libxkbcommon 0.3.0
63 ==================
64
65 - Allow passing NULL to *_unref() functions; do nothing instead of
66   crashing.
67
68 - The functions xkb_keymap_num_levels_for_key() and
69   xkb_keymap_get_syms_by_level() now allow out-of-range values for the
70   'layout' parameter. The functions now wrap the value around the number
71   of layouts instead of failing.
72
73 - The function xkb_keysym_get_name() now types unicode keysyms in
74   uppercase and 0-padding, to match the format used by XKeysymToString().
75
76 - Building Linux-specific tests is no longer attempted on non-Linux
77   environments.
78
79 - The function xkb_keymap_new_from_names() now accepts a NULL value for
80   the 'names' parameter, instead of failing. This is equivalent to passing
81   a 'struct xkb_rule_names' with all fields set to NULL.
82
83 - New API:
84   xkb_keymap_new_from_buffer()
85
86 - Bug fixes.