Release 2.45

  • 3 min read

xkeyboard-config 2.45 was released on 2025-06-08.

Models

Fixes

  • Norwegian Macintosh layout: Fixed the apostrophe key to actually output apostrophe instead of bar.

    Contributed by Håvard Bærug (!801)

Layouts

Breaking changes

  • Deleted obsolete jp(kana86) layout. (#502)

New

  • Added Colemak variant for Swedish: se(colemak).

    Contributed by satricus (!761)

  • French (AZERTY, AFNOR): Implemented the “European character” dead key on AltGr+H, as documented at the offical web page. Also fixed the missing upper Theta Θ on Q.

  • ru(typo): Added bar symbol on the <BKSL> key.

    Contributed by Boolat Kamalov (!814)

Fixes

  • us(colemak_dh): Fix the CapsLock remapping being difficult to override. (#490)

  • Japanese layouts: Fix Eisu toggle triggering CapsLock when the layout is not in the first position. (#512)

  • Apple: fix ISO keyboards International English layout (<TLDE>, <LSGT> keys permutation).

    Contributed by Andrey Butirsky (!793)

  • Faroese fo: use comma as the decimal separator for the numpad.

    Contributed by Ragnar Kruse (!815)

Options

New

  • Added two compatibility options related to Hyper:
    • hyper:mod3: maps the virtual modifier Hyper to Mod3; conflicts with LevelFive. Loaded by default when using any option with Hyper.
    • hyper:mod4: maps the virtual modifier Hyper to Mod3; conflicts with Super. Use this option if using both Hyper and LevelFive, e.g. for layouts with 5+ levels.

Fixes

  • shift:breaks_caps: Fix missing Shift_{L,R} keysyms that prevented keyboard shortcuts to work correctly in some setups.

Miscellaneous

Breaking changes

  • Added KEY_ZENKAKUHANKAKU mapping for touchpad toggle.

    Pressing the touchpad toggle key on some notebooks produces the key sequence Super + Control + KEY_ZENKAKUHANKAKU. Actual Japanese Hankaku/Zenkaku keys however do not use this keycode, but the one instead.

    Contributed by Werner Sembach (!810)

  • The default mapping of the virtual modifier Hyper to Mod3 is now deactivated by default, because it conflicts with LevelFive, which is used in various layouts with 5+ levels.

    It is now enabled only when using any option binding Hyper keysyms or when using the new option hyper:mod3. However, if one one want to use LevelFive and Hyper simultaneously (e.g. for layouts with 5+ levels), then the new alternative option hyper:mod4 should be used instead.

Build system

Breaking changes

  • Switched to versioned install directories and files, to enable installing multiple versions of xkeyboard-config to be installed in parallel.

    • Moved the keyboard keymap data to a namespace dedicated to xkeyboard-config: <prefix>/<datadir>/xkeyboard-config-2.
    • Created symbolic link to maintain backward-compatibility with the X11 namespace: <prefix>/<datadir>/X11/xkb<prefix>/<datadir>/xkeyboard-config-2.
    • Renamed pkg-config, translation and manual files to include a version:
      • <prefix>/<datadir>/pkgconfig/xkeyboard-config-2.pc
      • <prefix>/<mandir>/man7/xkeyboard-config-2.7
      • <prefix>/<localedir>/**/xkeyboard-config-2.mo
    • Created unversioned symbolic links to the previous files for backward-compatibility:
      • <prefix>/<datadir>/pkgconfig/: xkeyboard-config.pcxkeyboard-config-2.pc
      • <prefix>/<mandir>/man7/: xkeyboard-config.7xkeyboard-config-2.7
      • <prefix>/<localedir>/**/: xkeyboard-config.moxkeyboard-config-2.mo

    See our versioning documentation for further information.