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