[ANNOUNCE] xkeyboard-config-2.49

6 views
Skip to first unread message

Sergey Udaltsov

unread,
Oct 21, 2026, 5:41:42 PM (6 days ago) Oct 21
to xorg-a...@lists.freedesktop.org, Discussion on the future of XKB extension
xkeyboard-config [2.49] - 2026-10-21
====================================

[2.49]: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/tree/xkeyboard-config-2.49

# Release highlights

This release fixes the follow regressions:
- Numpad: all numpad options were fixed to enable the following behavior:

  | Option                | No modifier | Shift   | NumLock | Shift + NumLock  |
  | --------------------- | ----------- | ------- | ------- | ---------------- |
  | `numpad:numlock_only` | Level 1     | Level 1 | Level 2 | Level 2          |
  | `numpad:microsoft`    | Level 1     | Level 1 | Level 2 | Level 1          |
  | `numpad:pc`           | Level 1     | Level 2 | Level 2 | Level 1          |
  | `numpad:mac`          | Level 2     | Level 2 | Level 2 | Level 2          |
  | `numpad:shift3`       | Level 1     | Level 1 | Level 2 | Level 2 (KEYPAD) |
  |                       |             |         |         | or 3 (*_KEYPAD)  |

  **The default behaviour is `numpad:numlock_only`.**
- Fixed regression where F1–F12 keys were indistinguishable from Shift + F1–F12.

# Models

## New

- Added [BlackBerry KEY2](https://en.wikipedia.org/wiki/BlackBerry_Key2)
  model and its corresponding vendor-specific US English layout.

  Contributed by Paul Sajna
  [!856](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/856)

## Fixes

- Fixed Apple Aluminium models not using the macOS numpad behavior by default for
  `FOUR_LEVEL_KEYPAD` and `FOUR_LEVEL_MIXED_KEYPAD` key types.


# Layouts

## New

- Added a Belarusian layout with typography symbols.
- Added a Brahui keyboard layout for Pakistan.
- Added a Croatian layout variant for writing
  [Glagolitic Script](https://en.wikipedia.org/wiki/Glagolitic_script).
- Added the Azerbaijani *standard* layout `az(standard)`, which implements the
  Azerbaijani national standard AZS 495-2010 “Language-dependent keyboard layout of
  letters of the alphabet of Azerbaijan”, known locally as *PÜŞUD* and shipped by
  Microsoft as “Azerbaijani (Standard)” since Windows 8.1.
- Updated the Sindhi keyboard layout to match the MB-Sindhi SK 2.0 keyboard layout.

  - Adds missing Unicode mappings for Normal, Shift, and AltGr levels.
  - Updates paired and bidirectional punctuation mappings, including parentheses,
    square brackets, and angle brackets.
  - Aligns punctuation mappings with their standard Unicode code points.
  - Updates the layout description to identify it as “Sindhi (M.B. Sindhi)”.
  - Updated the MB Sindhi keyboard layout's paired punctuation mappings by
    interchanging the Unicode assignments on the corresponding physical keys.
    This adjustment aims to improve the visual presentation of parentheses,
    square brackets, and angle brackets when typing right-to-left Sindhi text.

## Fixes

- `am(eastern-alt)`: Fixed key name typo resulting in missing ‘տ’ and swapped ‘գ’/‘ք’.
  ([#603](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/603))
- `pl`: Replaced `mu` and `periodcentered` with same-looking but more appropriate characters

  Contributed by Michał Górny


# Options

## New

- Generalized `numpad:pc` to enable the classical “`Shift` cancels `NumLock`” behavior to all keypad types:

  | NumLock | Shift | Level | Description            |
  | ------- | ----- | ----- | ---------------------- |
  | Off     | Off   | 1     | Navigation and editing |
  | Off     | On    | 2     | Digits                 |
  | On      | Off   | 2     | Digits                 |
  | On      | On    | 1     | Navigation and editing |

  ([#594](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/594))
- Generalized `numpad:mac` to enable the following numpad behavior for all
  keypad key types: neither NumLock nor Shift affects digits selection.
- Generalized `numpad:microsoft` to enable the following behavior to all keypad key types:
  - NumLock enables digits;
  - Shift cancels NumLock but never enables digits.
- Generalized `numpad:shift3` to enable the following numpad behavior for all
  keypad key types:
  - NumLock enables digits;
  - NumLock+Shift enables digits for `KEYPAD` and auxiliary symbols for the
    other `*_KEYPAD` types.
- Added `numpad:numlock_only` to enable the following numpad behavior:
  - NumLock enables digits;
  - Shift does not interact with NumLock.
- Add option `caps:shift_shifted_capslock` to use `<CAPS>` as a Shift key.

  It keeps Caps_Lock on its Shift level as many similar options do.
- Added `hyper:mod5` to complete the `hyper:mod{2–4}` family, to enable users to select
  themselves the trade-offs regarding conflicting modifiers.
- Added `meta:mod{2–5}` to enable users to select themselves the trade-offs
  regarding conflicting modifiers.

## Fixes

- Fixed `altwin:meta_win` conflicting with `lv3:ralt_switch`
  ([#514](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/514)).
- Fixed `ctrl:lctrl_meta` wrong encoding of the `Meta` modifier.


# Miscellaneous

## Fixes

- types: *Mitigated* `NumLock + Shift` not selecting the corresponding keypad navigation
  and editing symbols,  e.g. `Shift + KP_0` acting as `Shift (consumed) + KP_Insert`.

  Users wanting this behavior should enable the option `numpad:pc` or `numpad:microsoft`
  ([#594](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/594)).
- types: Fixed missing mapping `NumLock+Shift = Level1` in `numpad(microsoft)`.

  This was a regression introduced in xkeyboard-config 2.48.
- types: Fixed regression where F1–F12 keys were indistinguishable from Shift + F1–F12.
  ([#599](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/599)).
- inet: Restored `XF86TouchpadOff` on the base level of `<F23>`.

  This regression has affected xkeyboard-config 2.47 and 2.48.
- compat: Fixed missing interpret for `Scroll_Lock`.

  Contrary to an X11 session, on a Wayland session and with xkbcommon 1.11+,
  this enables to lock the `ScrollLock` modifier and to control the corresponding LED
  *without* requiring the `scrolllock:mod3` option or a custom `modifier_map` entry
  ([#194](https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/194)).

## New

- keycodes: Added the following keycodes to `evdev`:
  - <kbd>\<I602\></kbd> (Linux 6.18: `KEY_EPRIVACY_SCREEN_ON`)
  - <kbd>\<I603\></kbd> (Linux 6.18: `KEY_EPRIVACY_SCREEN_OFF`)
  - <kbd>\<I604\></kbd> (Linux 7.0: `KEY_ACTION_ON_SELECTION`)
  - <kbd>\<I605\></kbd> (Linux 7.0: `KEY_CONTEXTUAL_INSERT`)
  - <kbd>\<I606\></kbd> (Linux 7.0: `KEY_CONTEXTUAL_QUERY`)

# Build system

No significant changes.

Git tag:
-------- 

git tag: xkeyboard-config-2.49
git commit: 2ec770a0085bf776de749e185ca40e50213fb21f

Sergey Udaltsov
Reply all
Reply to author
Forward
0 new messages