summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
7 daysRenaming Macintosh vendor layouts for consistencyHEADmasterPierre Le Marre17-32/+32
Use the pattern `Language ([country, ]Macintosh[, variant])` everywhere. Note that we may want to replace `Macintosh` by `macOS`, unless the variant is specific to a legacy keyboard model/OS. Follow-up of 595342a90876efb2f60a488b702ef03f90c62e35 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/833>
7 daysMinor fixes related to Apple layoutsPierre Le Marre6-10/+15
Improve release notes and ensure consistency in naming. Follow-up of 59398cfb4ed43f56d21e5463b4ad2feb01b1fe65 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/833>
7 daysReplace Macintosh US layout with plain USPierre Le Marre1-62/+1
There are only minor differences between `macintosh_vndr/us` and `us`: - `<AD03>`: *unreachable* 3rd level; - keypad using overlay with undefined keycodes; - `<KPEQ>`: `equal` → `KP_Equal`. Since the differences are irrelevant, then the symbols are identical and there is no need to pretend otherwise, so simply use the standard `us` layout. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/833>
13 daysAdd Macintosh ISO US keyboard layout variantsKatalin Rebhan3-7/+42
Signed-off-by: Katalin Rebhan <me@dblsaiko.net> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/829>
13 daysBack out "Apple: fix ISO keyboards International English layout"Katalin Rebhan1-4/+4
This backs out commit 595342a90876efb2f60a488b702ef03f90c62e35. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/829>
2025-06-18build: Remove build option `xkb-base`Pierre Le Marre2-4/+2
This option was ineffectual since the migration from autotools to meson in xkeyboard-config 2.35, published 3 years ago. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/832>
2025-06-10types: Fixed `CTRL+ALT` incomplete key typePierre Le Marre2-1/+25
It prevented using some key combinations, e.g. `Control+Backspace`, due to its missing entries. Fixed by adding all relevant explicit `map` and `preserved` entries. See: https://gitlab.gnome.org/GNOME/gtk/-/issues/570 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/828>
2025-06-10ci: Update templatesPierre Le Marre1-3/+4
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/827>
2025-06-10Use the new canonical XKB rootPierre Le Marre4-28/+30
Replace to the legacy install directory `<PREFIX>/share/X11/xkb` with the new one: `<PREFIX>/share/xkeyboard-config-2`. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/827>
2025-06-07Release 2.45xkeyboard-config-2.45Wismill16-56/+115
2025-06-07pre-release translations update. thanks to TPSergey Udaltsov23-14661/+21165
2025-06-03docs: add link to pr in contribution signatureRagnar Kruse1-1/+1
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/815>
2025-06-03docs: add contribution signatureRagnar Kruse1-0/+2
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/815>
2025-06-03Apply 1 suggestion(s) to 1 file(s)Ragnar Kruse1-1/+1
Co-authored-by: Wismill <26223-wismill@users.noreply.gitlab.freedesktop.org> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/815>
2025-06-03fix(symbols/fo): use keypad delete key commakruserr2-0/+3
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/815>
2025-06-03shift:breaks_caps: Fix missing Shift_{L,R} keysymsPierre Le Marre2-0/+4
Some apps require to have the keysyms in order to handle keyboard shortcuts correctly. Original bug: https://bugs.kde.org/show_bug.cgi?id=503781 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/823>
2025-06-01ru(typo): Added additional bar symbol on <BKSL>8001472-0/+3
Bar symbol “|” is already present in `ru(typo)` on the `<LSGT>` key but some keyboards (e.g. ANSI geometry) don’t have such button, so it is impossible to type the keysym using this layout. It breaks one of the goals of the `ru(typo)` layout: namely being able to type any special symbol of the usual English layouts. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/814>
2025-05-31doc: Fix combining charactersPierre Le Marre14-248/+248
- Use dotted circle `U+25CC` ‘◌’ to display combining character instead of spaces. - Fix the characters order: ‘◌’ + combining instead of combining + ‘◌’. - Fixed diacritics: - Cedilla - Grave - Acute - Circumflex - Tilde - Diaeresis - Ring above - Macron - Caron - Breve - Dot above - Double acute - Ogonek - Ypogegrammeni (iota subscript) - Comma below - Stroke - Hook - Horn This should enable much better rendering. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/805>
2025-05-28fix error in COPYING fileZitrone1-6/+12
closes https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/527 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/821>
2025-05-28meson: Use versioning schemePierre Le Marre4-14/+179
Before this commit our installed files were not versioned, so only one version of xkeyboard-config could be installed at a time. We plan to introduce breaking changes to the rules and keymap file formats to fix long-standing issues. To ensure backward compatibility, we are switching to versioned install directories and files, in order to enable multiple versions of xkeyboard-config to be installed in parallel. Since we do not expect the formats to evolve frequently, the version scheme is simple: - The file format version uses a single number and increments by 1. - The *major* version of the xkeyboard-config project denotes the file format version of *both* rules and keymap files. - The version scheme starts at the current major version: **2**. - The version defines a range of XKB compilers that it is compatible with. - Everytime we introduce a breaking change in the file formats, we bump the major version of xkeyboard-config and define the corresponding supported XKB compilers range. This commit only introduces the version scheme, in order to give time to distributions and downstream to adapt. Foreseen changes: - v3: Introduction of the new wild cards in the rules. - v4: Introduction of new parameters for lock actions, in order to fix the infamous XKB limitation “need to kick hotkeys on release, not press”. TODO: - doc: write more formal policies & distribution guidelines Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/817>
2025-05-28geometry: Fix generic PCPierre Le Marre1-49/+50
Make the geometries in `pc` more uniform. Ideally we should use `includes` to sync and avoid repetition. Fixed some minor glitches. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/811>
2025-05-28compat: Fix input method keys triggering CapsLockPierre Le Marre7-1/+73
Some Japanese layouts have input method keys such as `Eisu_toggle` on the CapsLock key, making them triggering the `Lock` modifier thanks to the following entry in `compat/basic`: ```c interpret Any+Lock { action= LockMods(modifiers=Lock); }; ``` This is mitigated with `compat/japan`, but only when the layout is in first position. Fixed by ensuring that rules always add `compat/japan` for Japanese layouts, independently of their position. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/803>
2025-05-28compat: Fix redundant +complete for jp layoutsPierre Le Marre3-3/+3
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/803>
2025-05-27updated for translationsSergey Udaltsov2-271/+279
2025-05-01rules: fix Apple ISO keyboards International English layoutAndrey Butirsky4-0/+4
Fixes: 595342a9 ("Apple: fix ISO keyboards International English layout") for keymaps with several groups Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/812>
2025-04-12compat: Ensure identical explicit defaultsPierre Le Marre3-0/+7
A few sections are missing explicit defaults. Since XKB is about composability, we should ensure that every component compiles in isolation with the expected result. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/819>
2025-04-10test: Fix xkbcommon component name handling changePierre Le Marre1-2/+20
Xkbcommon changed it handling of the component names, so that the names reflect the KcCGST values used to compile the keymap. As a result it broke the compat rules test. Fixed by removing the component names so that only the components bodies are compared.
2025-03-13Added KEY_ZENKAKUHANKAKU mapping for touchpad toggle.Werner Sembach4-0/+16
Pressing the touchpad toggle key on some notebooks produces the key sequence Super + Control + KEY_ZENKAKUHANKAKU¹. Actual Hankaku/Zenkaku keys however do not use this scancode/keycode, but the tilde ones instead. This patch binds the, until now on evdev unbound, KEY_ZENKAKUHANKAKU to touchpad toggle so the desktop environments can act accordingly. There is a small possibility of this being a breaking change: KDE on Wayland can and does handle the Control + Super + KEY_ZENKAKUHANKAKU key combination already. On X11 it is broken. In the next version it will also handle the Control + Super + TouchpadToggle key combination, but, if xkeyboard-config with this change is combined with an old KDE version without the corresponding change, touchpad toggle will not work out of the box and the new key combination needs to be added manually. With both updated however, it works on both X11 and Wayland out of the box. ¹ According to this https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf Hankaku/Zenkaku and F24 share a scancode. So it is quite possible that this is a missmap by the linux kernel and the intent of the keyboards firmware devs was to send Super + Control + F24. Signed-off-by: Werner Sembach <wse@tuxedocomputers.com> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/810>
2025-02-27Apple: fix ISO keyboards International English layoutAndrey6-8/+22
Apple uses slightly modified variants of standard layouts in their ISO keyboards. Additionally, they swapped the scancodes of `<TLDE>` and `<LSGT>`, adding to the mess. Now that the scancodes are properly auto-corrected by the `hid_apple` kernel module, we can adjust our keymaps to match physical layouts. This patch: - fixes the “International English” layout found as standalone and also in some dual language ISO keyboards (Arabic, Russian, Ukrainian, etc.); - adds the vendor-specific variant `macintosh_vndr/us(applealu_iso)`. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/793>
2025-02-25doc: Add contribution guidelinesPierre Le Marre2-7/+365
Note that the “rules” were adapted from the [wiki] and some may be obsolete. [wiki]: https://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules/ Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/806>
2025-02-25Add hyper:mod4 optionPierre Le Marre9-8/+122
Currently when using any option enabling `Hyper`, the virtual modifier `Hyper` is mapped to `Mod3`. But this mapping conflicts with `LevelFive` and leave layouts with 5+ levels unable to use both modifiers independently. Added the option `hyper:mod4` to allow to choose the alternative mapping of `Hyper` to `Mod4`. Note that this mapping conflicts with `Super`. The rationale is: - We have only a limited number of *real* modifiers available to use for the *virtual* modifiers[^1]. - `Hyper` has a niche use (mainly Emacs), so it should have lower priority than the use cases for `Super` and `LevelFive` (see hereinafter). - `Super` is commonly used to control desktop environments, so it should always be functional by default. - `LevelFive` is used in layouts with 5+ levels, so it should always be functional by default. However, it seems its use cases are less common than `Super`, so it seems safer to default `Hyper` to `Mod3/LevelFive` than to `Mod4/Super`. [^1]: Note that this limit will be removed soon in libxkbcommon, allowing arbitrary independent modifiers. Signed-off-by: Pierre Le Marre <dev@wismill.eu> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/760>
2025-02-25Add option hyper:mod3 and remove default Hyper mappingPierre Le Marre5-1/+19
The default modifier mapping of `Hyper` conflicts with `LevelFive`, which is a required modifier for various layouts. However, `Hyper` can be used only via options, so it makes sense to make its modifier mapping optional. Added option `hyper:mod3` to enable the `Hyper` virtual modifier by mapping it to `Mod3`. Signed-off-by: Pierre Le Marre <dev@wismill.eu> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/760>
2025-02-20Add Swedish Colemak keyboard layoutsatricus1-1/+1
Signed-off-by: satricus <fl.vincent.sinclair@gmail.com> Co-authored-by: satricus <fl.vincent.sinclair@gmail.com> Co-authored-by: Pierre Le Marre <dev@wismill.eu> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/761>
2025-02-20Add Swedish Colemak keyboard layoutsatricus3-0/+37
Signed-off-by: satricus <fl.vincent.sinclair@gmail.com> Co-authored-by: satricus <fl.vincent.sinclair@gmail.com> Co-authored-by: Pierre Le Marre <dev@wismill.eu> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/761>
2025-02-20jp(kana86): Delete obsolete layoutPierre Le Marre4-28/+1
This layout was introduced by: - Original issue: https://bugs.freedesktop.org/show_bug.cgi?id=31340 - Original commit: 240a40cbd3c2dea858e84868d423b3d826efa2dc The layout is unmaintained and has the following issues: - `jp(kana)` is mostly overwritten. - `altwin(menu)`` is the default in pc - `keypad(numoperdecsep)` does not work because the keycodes are not defined anymore. Or I do not see how to load them (`sgi_vndr/indy`) with the current rules. Unless I missed something, this is basically just `jp(OADG109A)`, so let’s delete `jp(kana86)` and its counterpart `sun_vndr/jp(kana86)`. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/808>
2025-02-20us: Fix colemak_dh CAPS remappingPierre Le Marre2-8/+13
Rather than overriding the `<CAPS>` mapping from `colemak`, it is better to not include it in the first place! Fixed by using the `<layout>_base` pattern used e.g. in `de` for the Neo2 layouts family. Also use only one level for `<CAPS>` in `colemak`. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/807>
2025-02-20Ruff format Python codeHåvard Bærug10-41/+44
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/802>
2025-02-20Pyupgrade syntax to Python3.9+Håvard Bærug7-23/+25
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/802>
2025-02-20Fix end-of-files and trim trailing whitespacesHåvard Bærug6-38/+37
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/802>
2025-02-20CI: Use pre-commit instead of ruffHåvard Bærug1-5/+6
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/802>
2025-02-20Update pre-commitHåvard Bærug1-4/+8
- Update ruff rev. Sort imports and remove uneeded ignored rules - Update pre-commit hooks rev Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/802>
2025-02-18fr(afnor): Implement Eu dead key and add upper θJules Bertholet2-18/+19
This dead key is part of the keyboard standard at <https://norme-azerty.fr> (specifically at <https://norme-azerty.fr/img/EU_level.png>). The implementation uses `ISO_Level5_Latch` because there is no corresponding dead key and the sequences would be specific to this layout anyway, which would make it very unlikely to be upstream in the standard Compose file. Also add missing upper Theta on `Q`. Signed-off-by: Jules Bertholet <julesbertholet@quoi.xyz> Co-authored-by: Jules Bertholet <julesbertholet@quoi.xyz> Co-authored-by: Pierre Le Marre <dev@wismill.eu> Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/787>
2025-02-18Revert "Add keycodes for MS Natural KB 4000 keys 1-5 to evdev"Richard Hansen2-10/+0
This reverts commit 51994a1d1849914e81e0e335da257d7cdbaf2cc6. That commit had no effect because the keys were already given different symbols a few lines later: key <FK14> { [ XF86Launch5 ] }; key <FK15> { [ XF86Launch6 ] }; key <FK16> { [ XF86Launch7 ] }; key <FK17> { [ XF86Launch8 ] }; key <FK18> { [ XF86Launch9 ] }; (Note that `<I192>`–`<I196>` are aliases for `<FK14>`–`<FK18>`.) The original intent of that commit has been lost to time. Since nobody has complained in the ~14 years since that commit was made, I assume nobody will miss these lines. If it turns out that `XF86LaunchA` through `XF86LaunchF` are more appropriate for these keys, that change can be made in its own commit. Fixes #499 Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/789>
2025-02-14Fix Norwegian Macintosh layoutHåvard Bærug2-1/+4
Change apostrophe key to output apostrophe instead of bar to match actual layout Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/801>
2025-02-09release 2.44xkeyboard-config-2.44Sergey Udaltsov1-1/+1
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/800>
2025-02-09prerelease translations updateSergey Udaltsov20-11773/+12693
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/799>
2025-02-09Update changelog for 2.44Pierre Le Marre9-20/+63
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/797>
2025-02-07geometry: Fix TypeMatrix 2030Pierre Le Marre1-10/+15
- Fix HomePage key - Fix Muhenkan and Henkan keys in 106-mode (Japanese) - Fix outline of some keys - Add fixed “Fn” label Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/798>
2025-01-29prerelease potfile syncSergey Udaltsov2-231/+235
2025-01-10Use explicit virtual modifiers declarationsPierre Le Marre9-2/+26
A virtual modifier should always be declared before its use. They are a few missing entries, that currently work only because they are not used in isolation. But since XKB is about composability, we should ensure that every component compiles in isolation, so this commit adds the missing `virtual_modifiers` entries. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/796>