-
2f2f43d3
by Wismill at 2024-06-10T09:14:15+00:00
symbols: Fix typo in eurosign
-
d13c8ebc
by Pierre Le Marre at 2024-06-10T14:30:48+00:00
geometry: Revert dropping abnt2, jp106, kr106
This partially reverts commits:
- 91da938a16b4dc29df62fa3794d2d046daa2edbe
- f67ca9fbb974c57cdef9d2c9f422d618e1c4de4c
-
9c2d6838
by Pierre Le Marre at 2024-06-10T14:30:48+00:00
geometry: Fix pc(abnt2)
- Remove include of pc(105) which caused key overlaps
- Missing additional key in keypad
-
868d818d
by Pierre Le Marre at 2024-06-10T14:30:48+00:00
geometry: Fix pc(kr106)
- Fix input method keys
- Fix wrong return key type: this is the “big fat” type
- Fix backslash: moved at the E row according to the return key shape
-
d173201b
by Pierre Le Marre at 2024-06-10T14:30:48+00:00
geometry: Fix pc(jp106)
Fix input method keys
-
aa709f2f
by Pierre Le Marre at 2024-06-10T14:42:09+00:00
symbols: map Hyper to Mod3 by default
`Super` is a conventional modifier for WM/desktop actions, while `Hyper`
has no such specific use. Instead, it can be used as a general purpose
extra modifier.
The issue is that both `Super` and `Hyper` are currently mapped to `Mod4`,
which disallows to differentiate them.
Since `Super` is more conventional than `Hyper`, it seems safer to not
change its mappings to `Mod4`, as it may have been hard-coded in some
apps. Instead, we now default `Hyper` mapping to `Mod3`, as it was before
in some options.
Note that now `Hyper` conflicts with `LevelFive`, but it seems reasonable
to assume the use case for `LevelFive` (layout with up to 8 levels) *plus*
`Hyper` is niche enough. It can be solved by using a custom layout that
maps `Hyper` to:
- `Mod2`, and giving up `NumLock`.
- `Mod4`, and giving up (separate) `Super`.
---
Remark: all this issues with modifiers happen because our layouts define
`modifier_map` on real keys, in order to be compatible with the X11 core
protocol. But XKB would work using a mapping only on the “fake” keys
`<ALT>`, `<HYPR>`, etc. If we did so and remove any other mapping, we
would be able to write options to make these mappings user-settable and
forget forever of the tricky `modifier_map` conflicts.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/694>
-
81789a7c
by Pierre Le Marre at 2024-06-11T06:54:39+02:00
rules: Check required Python version
-
ce0112d5
by Kovács halomházi Viktor at 2024-06-12T16:56:58+00:00
Removed unused part of Old Hungarian layouts
-
6993e695
by Pierre Le Marre at 2024-06-13T04:18:38+00:00
Require Python >=3.9 + optional strenum fallback
Fallback with package `strenum` is required for Python < 3.11.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/702>
-
90a95d54
by Pierre Le Marre at 2024-06-18T10:18:27+02:00
doc: Use towncrier to handle release notes
Towncrier is a utility to produce useful, summarized news files.
See:
- https://pypi.org/project/towncrier/
- https://towncrier.readthedocs.io
Custom configuration for xkbcommon:
- New fragments are located in the `changes` directory.
- 5 sections:
- Model: `changes/models`
- Layout: `changes/layouts`
- Option: `changes/options`
- Miscellaneous: `changes/misc`
- Build System: `changes/build`
- 3 news fragments:
- Breaking changes: `.breaking`
- New: `.feature`
- Fixes: `.bugfix`
`ChangeLog` is renamed to `ChangeLog.md` because the tool requires `.md`
extension to write in markdown format.
-
c8f226b2
by Pierre Le Marre at 2024-06-18T10:18:38+02:00
doc: Add detailed changelog for 2.42
-
1b8ba557
by Pierre Le Marre at 2024-06-18T10:18:38+02:00
doc: Add log fragments since 2.42
-
2d1d5d20
by Wismill at 2024-06-21T12:54:30+02:00
ci: Use latest templates
This should allow us to accept Gitlab private commit email.
See: https://docs.gitlab.com/ee/user/profile/#use-an-automatically-generated-private-commit-email.
-
58c2b880
by Arlen Kleinsasser at 2024-06-21T17:36:12+02:00
geometry: Fix LSGT key label in Kinesis
`<LSGT>` key on Kinesis Advantage and Advantage2 keyboards was
incorrectly labeled `INS`. It only acts as `INS` with the keypad
overlay.
See the manual[^1]: it is called the “international key”. Page 10
confirms it should be the `<LSGT>` key.
[^1]: https://kinesis-ergo.com/wp-content/uploads/kb500-user_manual.pdf
-
0f47db91
by Alexandre Petit at 2024-06-21T15:59:33+00:00
Add caps:digits_row_independent_lock option
`Shift + Caps` locks the digits on the digits row, `Caps Lock` alone
behaves as usual (Azerty layouts).
The `Shift + Caps Lock` combination inverts the first two levels only.
Originally designed for layouts with digits on the second level of the
digits row (e.g. Azerty layouts).
This allows users to have direct access to digits while keeping
usual capitalization via `Caps Lock`.
Also add the `FOUR_LEVEL_LOCKABLE_LEVEL2` key type, a variant of
`FOUR_LEVEL_MIXED_KEYPAD` that uses `LevelFive` instead of `NumLock`,
to avoid interaction with the keypad. Originally created to lock the
digits on layouts with digits on the second level of the digits row
(e.g. Azerty layouts).
-
90dab0ea
by Pierre Le Marre at 2024-06-21T18:34:40+02:00
Update keycodes
Add latest available keycodes.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/709>
-
e39907cc
by Danial Behzadi at 2024-07-09T09:14:25+00:00
Add Persian to LINGUAS
-
0933f140
by Callum Andrew at 2024-07-10T11:31:14+10:00
Update Colemak-DH Wide ISO layout to match specification
Fixes #442
https://colemakmods.github.io/mod-dh/keyboards.html is the reference page for Colemak-DH layouts.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/714>
-
d42c0a2f
by Pierre Le Marre at 2024-07-12T11:45:11+02:00
typo: Fix fr(bre)
-
087df87a
by Pierre Le Marre at 2024-07-19T18:50:17+02:00
rules: Fix compat mappings
Previously the compatibility rules where incorrect:
- Lines with a comment starting by “//” where parsed incorrectly,
because comments where in fact not supported.
- `variantsMapping.lst` was added to rules without variant.
This resulted in incorrect rules with MLVO = (model, layout), e.g. the
beautiful following rules:
```
! model layout = symbols
* mao(nz(mao)) = pc+//(Delete)
* ben(basic) = pc+in(ben)
```
Fixed the issue and ensure to raise an error if expectation on layout
variant is broken.
-
61543172
by Pierre Le Marre at 2024-07-30T17:06:15+02:00
symbols: Remove *_base variants from sun_vndr/de
These have no clear use and look superfluous.
-
03ce7465
by Dario Götz at 2024-07-30T17:06:15+02:00
symbols/de: Remove superfluous *_base variants
While adopting the `neo_base/neo` approach, each of the following
variants are included in only one other variant, which is useless.
- Merge `adnw_base` into `adnw`
- Merge `bone_eszett_home_base` into `bone_eszett_home`
- Merge `koy_base` into `koy`
- Merge `neo_qwerty_base` into `neo_qwerty`
-
f419847f
by Helfried Wiesinger at 2024-07-30T15:48:01+00:00
Add option lv3:caps_switch_capslock_with_ctrl
Use Caps Lock key as additional 3rd lever chooser, Ctrl + Caps Lock for
original Caps Lock behaviour.
The 2023 DIN standard for German keyboards recommends it as an option:
- https://de.wikipedia.org/wiki/E1_(Tastaturbelegung)#Feststelltaste/Umschaltsperre
- https://en.wikipedia.org/wiki/Caps_Lock#Abolition
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/687>
-
6bf17ba7
by Han-Miru Kim at 2024-07-30T15:59:19+00:00
Add option `caps:ctrl_shifted_capslock`
Make `Caps Lock` an additional `Ctrl` and `Shift + Caps Lock` the
regular `Caps Lock`.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/673>
-
f7eb4059
by Daniele Baisero at 2024-07-30T16:13:02+00:00
Update mapping (US, Symbolic)
Switched the Alt-Gr characters on AE11 and AE12 as it is more intuitive to have ≠ and ± next to = and +.
Previous mapping:
_ ± + ÷
- ≠ = ×
Current mapping:
_ ÷ + ±
- × = ≠
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/722>
-
6c12fe8c
by twistedturtle at 2024-08-19T16:39:35+00:00
Add option to define F13-F24
-
c4f76b58
by Pierre Le Marre at 2024-08-19T18:46:20+02:00
rules: Improve merge script
- Merge section with same header, independently of the whitespaces.
- Improve Python (typing)
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/728>
-
127d0844
by Pierre Le Marre at 2024-08-19T18:46:24+02:00
rules: Add tests for layout compat rules
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/728>
-
bf9a7208
by Pierre Le Marre at 2024-08-21T09:26:48+02:00
rules: Fix layout compat rules
Layout compatibility rules are broken in configurations with 2 or more
layouts, e.g.:
- Works:
- config: `--layout fi --variant basic`
- symbols: `pc+fi(classic)+inet(evdev)`.
`fi(basic)` is correctly remapped to `fi(classic)`.
- Does not work:
- config `--layout fi,us --variant basic,`
- symbols: `pc+fi(basic)+us:2+inet(evdev)`.
`fi(basic)` is not remapped and leads to an include error.
- Does not work:
- config `--layout us,fi --variant ,basic`
- symbols: `pc+us:fi(basic):2+fi(classic):2+inet(evdev)`.
`fi(basic)` is not remapped and leads to an include error.
I initially thought merging the following rules sets to fix it:
1. `model layout[n] = symbols`
2. `model layout[n] variant[n] = symbols`
but it does not work: `*` wildcard does *not* match empty values.
There is another issue: using a variant will check and match *both*
rules sets. In the first rule set, compat rules are only for deleted
symbols files (e.g. `dev`). But when the symbols file exists, we end
up with an invalid include statement (see `fi(basic)` examples above).
This is because the first rules set has a catch-all rule that will
always match, while we want it to match only in the second rules set.
Unfortunately such rules cannot be expressed in rules files. So the
solution is to append generated compatibility sections in the
corresponding symbols files and remove the corresponding current rules.
Section name clashes are checked and will raise an error.
E.g.: currently we append the following to `symbols/de`:
partial xkb_symbols "lld" {
include "it(lldde)"
};
If we already had a section named lld, this would produce the following
error:
Cannot add compatibility section in symbols/de: "lld" already exists
Also:
- Move symbols handling in meson into the symbols subfolder.
- Sort compat layout rules.
- We ensure that rules with variant take priority over rules without one.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/728>
-
8d82f73a
by Pierre Le Marre at 2024-08-21T09:26:48+02:00
meson: Fix deprecations
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/728>
-
9fc70831
by Hloja Niželjska at 2024-08-23T08:47:48+02:00
symbols/ru: Add Diktor extra layout
Diktor is an ergonomic alternative to the JCUKEN layout (see:
`ru(winkeys)`), adapting Dvorak design principles for Russian.
Although it is popular, there is no track of the original author.
The original implementation targeted Windows. The closest to an
“official” web page is: https://olegp.name/software/diktor-keyboard-layout/.
-
d68a1a23
by Pierre Le Marre at 2024-08-23T14:53:55+00:00
rules: Fix duplicates created by the merge script
The previous update c4f76b584fe10bc2037966a70efad9bc5b682a4a removed
the initialization of a dictionary in the `merge` function, leading to
duplicates, namely the files *not* starting with a rule header.
While we introduced `defaultdict` previously to avoid initializing lists
manually, we still need to initialize the `dict` in order to keep it in
sync with `section_names`.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/729>
-
d75647bc
by Pierre Le Marre at 2024-08-23T14:53:55+00:00
rules: Fix merging explicit and implicit merge modes
Since c4f76b584fe10bc2037966a70efad9bc5b682a4a we merge rule sets
with and without explicit merge modes (i.e. *explicit* merge mode
are section starting with either `+` or `|`). This is wrong, as
these are not supposed to be matched at in the same rule set.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/729>
-
32d2ba4b
by Pierre Le Marre at 2024-08-26T15:19:15+02:00
options: Added altwin:swap_ralt_rwin
This option swaps right `Alt` with right `Win`. Symbols are already
there, so this commit just adds the corresponding rules via the registry.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/731>
-
4da843af
by Pierre Le Marre at 2024-08-27T07:01:28+02:00
Fix NEC Japanese layout having two groups
According to our doc and practices, symbols should be defined only for
the first group. There are still a few layouts defining simultaneously
two groups. One of them is `nec_vndr/jp`, which has also a dedicated
rule. This commit fixes only this layout in preparation of a refactor
for `inet` rules.
- Split `nec_vndr/jp(pc98)` into two sections: `pc98` and `jp`, and
make the latter the default section.
- Fix the rules to ensure using this layout with the model `pc98` will
load *explicitly* 2 layouts, as this is the case for other models.
- Make the rules match `jp` layout, not `nec_vndr/jp`. No other rule
used the vendor path to match a layout.
The remaining layouts with 2 groups should also be fixed someday.
-
cb9df042
by Pierre Le Marre at 2024-08-27T17:59:53+02:00
triage: Add policies for stale issues and MRs
-
612ae411
by Pierre Le Marre at 2024-08-27T19:20:38+02:00
triage: Prefix label with bugbot::
-
17d161d5
by Pierre Le Marre at 2024-08-27T19:40:38+02:00
triage: Fix Yaml lists
-
35e3842c
by Hloja Niželjska at 2024-08-28T14:45:58+02:00
doc: Add Diktor layout changelog entry
-
04a8522d
by Pierre Le Marre at 2024-08-29T15:28:24+02:00
triage: Do not mix stalebot with bugbot
-
a0a7c1a7
by Peter Hutterer at 2024-09-02T05:29:32+00:00
ci: don't run MR pipelines in forks
Commit originally by Simon Ser in wayland/wayland-protocols!305.
Currently our CI setup has a downside: for each push on a merge
request, two pipelines are triggered. The first is triggered in
the context of the forked repository, and the second is triggered
in the context of the MR in the parent repository.
Replace the uorkflow rules with the ones in the official docs [1],
so that a branch pipeline isn't triggered when a MR exists for that
branch.
[1]: https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/741>
-
17261b99
by Pierre Le Marre at 2024-09-02T14:05:09+02:00
triage: Add stale issues and MRs handling
Previous commits attempted to use bugbot to handle stale issues and MRs,
but bugbot only reacts on labels presence, it does not add them based on
some conditions.
The workflow is:
- An issue or MR is tagged automatically as stale after some period of
inactivity, unless it has the label “skip: stale triage”.
- An issue or MR can be tagged manually as stale if it seems relevant
to the maintainers. This is useful because the inactivity period in
the previous section is quite long.
- A tagged stale issue or MR is closed automatically.
- When an issue or MR closed by the previous rules is re-opened, its
labels related to its stale status are removed.
This commit adds a pipeline dedicated to triage, that is run only when
scheduled. The previous jobs are modified to run only if the pipeline is
*not* scheduled.
-
f327e342
by Pierre Le Marre at 2024-09-03T10:14:02+02:00
keycodes: Warning for indicators indexes and names
These values are hardcoded in various places, e.g.:
- libxkbcommon
- xf86-input-evdev
- xf86-input-libinput
Added a warning to not modify them without synchronizing the
corresponding projects.
-
6b30f362
by Pierre Le Marre at 2024-09-05T17:55:29+00:00
options: Added caps:return
Added `caps:return` to make the `Caps Lock` key an additional `Return` key.
-
cd3e694f
by Pierre Le Marre at 2024-09-05T18:45:16+00:00
tests: Add features to xkbcommon module
Add various useful functions, in particular `ForeignKeymap.get_keys_levels`
to iterate over all key, group, levels and get the corresponding keysyms.
This provides a way to analyze available keysyms in a layout. We can
then e.g. determine if a layout is “Latin” by checking it can produce
all the basic letters of the Latin alphabet.
-
2561d0cf
by Pierre Le Marre at 2024-09-05T18:45:16+00:00
Add script to extract list of (non-)Latin layouts
This produces a CSV file with (non-)Latin layouts by analyzing all the
keysyms of each layout and check for required ones. This is more reliable
than checking the language tags of layouts, because a language may have
multiple scripts and the language tags may be incorrect or incomplete.
Method:
1. Get layouts via `xkbregistry`.
2. For each layout, check if it has all the basic Latin letters.
3. Export the filtered layouts as CSV.
Note that some layouts are “almost” Latin as they miss only a few
letters. Such layouts are considered non-Latin but raise a warning.
-
4c39603c
by Pierre Le Marre at 2024-09-05T18:45:16+00:00
meson: Add option to create non-Latin layouts list
New option `non-latin-layouts-list` (off by default), to produce 2 CSV
files (one per main rules set):
- `non-latin-layouts-base.csv`
- `non-latin-layouts-evdev.csv`
These files are needed by e.g. the Debian installer to automatically
add a US layout in case the selected layout cannot output required
Latin characters.
Activate this option in our CI.
-
916e9cfd
by Samuel Jimenez at 2024-09-19T17:30:21+00:00
apl(level3): Do not set group name
This is a partial layout that is meant to augment an existing layout.
The group name should not be set in `apl(level3)`, otherwise it would
override the original layout name.
-
ba2e0f31
by Feli Kramer at 2024-09-19T18:02:07+00:00
Update German keyboard according to DIN standard
In the August 2023 revision of the DIN 2137-1 standard,
some changes to the keyboard layers were made.
Most importantly, the third layer of the w, t, and i
keys was switched around. That was already accounted for
in a previous commit.
The other changes were all in "group 2" of the keyboard.
Those changes are included in this commit.
A summary of the changes in the standard is freely available at
<https://www.dinmedia.de/de/norm/din-2137-1/353663175>, in German,
under "Änderungsvermerk". Relevant for this commit are points f),
g), h), and i).
-
b87fc4d8
by cboushehri at 2024-09-19T18:07:36+00:00
Add qwerty symbols to 3l layout
-
613231de
by cboushehri at 2024-09-19T18:43:41+00:00
Add changelog entry for 3l layout update
-
0e8875fa
by Callum Andrew at 2024-09-21T09:42:01+10:00
Update Colemak-DH to treat `<CAPS>` as Caps Lock
-
d40c8999
by Denis Kaliberov at 2024-09-21T16:03:07+00:00
Update base.extras.xml, ru
-
271be909
by Denis Kaliberov at 2024-09-21T16:03:07+00:00
Add +add-ruintl-layout.feature.md
-
6a2eb9e6
by Sergey Udaltsov at 2024-09-21T16:26:32+00:00
Prerelease potfile
Signed-off-by: Sergey Udaltsov <sergey.udaltsov@gmail.com>
-
7d6be818
by Pierre Le Marre at 2024-10-01T14:30:59+02:00
doc: Update changelog for 2.43
-
19ecc545
by Sergey Udaltsov at 2024-10-01T19:16:16+00:00
Prerelease translations updated
-
4c6d0d21
by Sergey Udaltsov at 2024-10-01T19:44:26+00:00
Release 2.43
-
0f42a9a5
by Benjamin Drung at 2024-10-04T20:59:16+02:00
symbols/de: Add German (Noted) layout
Add the newest layout of the German Neo keyboard layout family. Noted is
a layout designed to make typing as comfortable and efficient as
possible in both German and English. It was developed with the help of a
layout optimizer, which is based on the metrics and concepts of
ArneBab's optimizer and adapts and extends them.
I switched from Neo 2 via Mine to Noted and I like to see this variant
to be available out of the box in Debian/Ubuntu.
Sources:
* https://neo-layout.org/Layouts/noted/
* https://dariogoetz.github.io/noted-layout/
-
36ec2e08
by Peter Hutterer at 2024-10-10T09:15:05+10:00
symbols/inet: mark the F20-F23 mappings as historically special
These were used for mic mute and touchpad toggle keys because their
respective evdev keycodes end up being > 255. Recent evdev and libinput
drivers remap the evdev keycodes to F20-F23 as well so the rest of the
system doesn't have to.
Add a comment so we're not tempted to remove these mappings.
See also:
- https://github.com/systemd/systemd/pull/34325/
- https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/-/merge_requests/62
- https://gitlab.freedesktop.org/xorg/driver/xf86-input-evdev/-/merge_requests/10
-
0d56bf79
by Pierre Le Marre at 2024-10-10T06:14:53+02:00
evdev: Added latest keycodes
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/759>
-
dd0d8f7f
by Pierre Le Marre at 2024-10-10T06:14:53+02:00
inet: Update latest keysyms from xorgproto
xorgproto commit: d7ea44d5f04cc476dee83ef439a847172f7a6bd1
Relevant MR: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/91
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/759>
-
c9f437a4
by Pierre Le Marre at 2024-10-30T09:03:15+01:00
Improve scripts/symbols-tree
- Add support for sub-directories
- Show layout file path relative to the XKB `symbols` directory instead
of just the layout file name.
- Format with Ruff.
-
79e2da81
by Vlad Zahorodnii at 2024-11-03T17:00:12+00:00
symbols/pc: Make "Alt and Meta are on Alt" disabled by default
The "Alt and Meta are on Alt" option is enabled by default very likely
due to the historical reasons. There used to be keyboards that had no
Windows or Super keys in the 90s, for example IBM Model M [1], so
providing some fallback seems reasonable. It seems there used to be
different ways to handle the lack of Super keys, e.g. using Escape or Alt
key.
According to [2], the Windows key made its first appearance in year 1994
and, with Windows 95, any keyboard with the "Designed for Windows" logo
had to have this key, which greatly contributed to making the Super key
widespread, it's hard to find a keyboard that has no Windows or Super key
nowadays.
>From the desktop environment point of view, for the most optimal
experience, the user needs to have a keyboard with a real Super key (or a
spare key remapped to Super) because the desktop environments tend to
register global shortcuts containing Super key (with or without Shift
key).
The `altwin:meta_alt` option has been enabled for more than 20 years, but
it seems like users have started hitting its effects directly after
Plasma introduced the ability to configure global shortcuts that contain
only modifiers. Based on the empirical data that we (KDE developers) have
collected through various user forums and our bug tracker [3], the
current behavior is unexpected to our users, and it can interfere with
their workflow.
It is also interesting that the `altwin:meta_alt` option is effectively
enabled by default but there is no way to disable it. Perhaps there was
some mixup in 9bbda6bfbcc29a575ea3b5cb7bd2553767e80d53?
Last but not the least, the user expectations evolve as the time passes.
Today, practically all keyboards come with the Super key so users don't
face the problems that one would face 30 or 40 years ago (perhaps except
people who collect antique keyboards? but it is a niche case), so it is
reasonable to adjust the defaults to match the new expectations. The old
behavior can be restored by enabling the `altwin:meta_alt` option.
- [1] https://en.wikipedia.org/wiki/Super_key_(keyboard_button)
- [2] https://en.wikipedia.org/wiki/Windows_key
- [3] https://bugs.kde.org/show_bug.cgi?id=494579
-
ffb42398
by Pierre Le Marre at 2024-11-03T18:07:39+00:00
Document building and testing in the README
There is no mention that xkeyboard-config require building. This commit:
- Switches to use Markdown syntax;
- Adds building instructions;
- Adds testing instructions for X11 & libxkbcommon tools.
-
3bc0f200
by silas at 2024-11-04T14:58:18+01:00
Update apl(dyalog)
- Added U+235B APL FUNCTIONAL SYMBOL JOT UNDERBAR (⍛) glyph.
- Added dfns keyboard URL.
-
a59ef3a1
by Pierre Le Marre at 2024-11-04T15:54:15+01:00
fr(bre): Fix Ch, C’h and Greek capitals
- Fix “Ch” and “C’h” capitals: they should be on CapsLock, where the
user expects them. There is a dedicated key type
`FOUR_LEVEL_PLUS_LOCK` used in other layouts for similar situations.
- Fix Greek capital letters.
- Move some Greek letters:
- Move Chi above “Ch”, as Chi modern transcription/transliteration is “ch”.
- Omicron is move above “v”, as “v” is sometimes procounced “o”.
- Final sigma is move above “c” for its similar form and close position
to σ and Σ.
fr(bre): Miscellaneous symbols
Breton: changelog
-
893b1ff5
by two at 2024-11-04T15:18:00+00:00
Improve one-handed layouts description
Currently layouts designed to be used with only one hand have the
English descriptions: “left handed” and “right handed”. This is
ambiguous, as it highlights *handedness* rather than one-hand typing.
Translations in some languages may thus convey only the former
understanding, which is incorrect.
Clarify that these layouts are for typing with only *one* hand.
Closes #483
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/737>
-
47823065
by Pierre Le Marre at 2024-11-19T09:47:33+01:00
ci: Update templates
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/773>
-
63d45b4a
by Pierre Le Marre at 2024-11-19T09:48:00+01:00
ci: Build optimized version of libxkbcommon
This will speed up layouts tests.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/773>
-
6d526efa
by Peter Hutterer at 2024-11-25T07:25:34+00:00
changes/README: point to ChangeLog, not NEWS
Our NEWS.md file is a bit meagre, let's point to the file that actually
contains the information.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/774>
-
5b6ae6d3
by Peter Hutterer at 2024-11-25T07:41:42+00:00
Add support for the Microsoft Copilot key
MS specs require that the copilot key sends Win + Shift + F23 instead of
its own custom keysym. Add this to the default inet mapping so the F23
key maps to to XF86Assistant if invoked via that particular combo.
Closes #493
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/772>
-
eb0c1590
by Pierre Le Marre at 2024-11-25T09:02:41+01:00
changelog: Fix release title format
Towncrier doc states that the `underlines` setting is not used with
Markdown files, so let’s apply the tag ourselves.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/776>
-
e875cba5
by Pierre Le Marre at 2024-11-25T08:44:21+00:00
types: Use virtual modifier Super, not Mod4
`PC_SUPER_LEVEL2` uses `Mod4` and not `Super`, despite the name.
Seemingly just a copy/paste result, see: the original ticket:
https://bugs.freedesktop.org/show_bug.cgi?id=78076
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/775>
-
01319487
by Pierre Le Marre at 2024-11-25T13:31:15+01:00
Remove old changelog files
`NEWS` and `Changelog.old` have no relevant meaningful entries for
a long time so these files are not useful for distributions nor users.
Git log & blame remain the main tools for working with xkeyboard-config
history.
-
5b8dd889
by Pierre Le Marre at 2024-11-25T13:42:19+01:00
changelog: Improve release title
Define the target of the release link on another line, in order to
lighten the title line.
-
4b97cc40
by Wismill at 2024-11-27T14:21:40+00:00
Improve Towncrier doc
-
5bbc1f31
by Pierre Le Marre at 2024-11-28T09:53:59+01:00
Add templates for issues and merge requests
Let’s simplify maintainers’ work and save time for both maintainers and
contributors.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/780>
-
d6e53045
by Pierre Le Marre at 2024-11-29T19:24:36+01:00
tests: Fix libxkbcommon virtual mods handling
libxkbcommon recently gain the ability to query virtual modifiers.
Update our Python bindings so we can fix the tests and benefit from a
more precise analysis of the active modifiers.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/782>
-
7c857f15
by Pierre Le Marre at 2024-11-29T18:52:28+00:00
Fix vendor rules
Some vendor rules match only on the layout but use the variant in
their symbols mapping. Such rules will make the keymap compilation
fail when a variant is not in the vendor-specific symbol file.
Example: the following rule
! model layout = symbols
$applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v)
used with the RMLVO (evdev; applealu_iso; gb; mac_intl) would produce
the following erroneous symbols include:
macintosh_vndr/apple(alukbd)+macintosh_vndr/gb(mac_intl)
This fails because `mac_intl` is not a variant of `macintosh_vndr/gb`,
but of `gb`.
This commit fixes the issue by filtering vendor-specific variants,
having the vendor-agnostic symbols as a fallback.
Note that while it works perfectly for layouts in the first position,
layouts in later positions that have 1) a corresponding vendor-specific
file but 2) require a vendor-agnostic variant, will load the vendor-
specific symbols before importing the relevant section. To illustrate,
the RMLVO config (evdev; applealu_iso; ara,gb; ,mac_intl) would result
in the symbols:
macintosh_vndr/apple(alukbd)+ara+macintosh_vndr/gb:2+gb(mac_intl):2
where `macintosh_vndr/gb:2` will be overriden by the following `gb(mac_intl):2`.
This is unfortunate, but there does not seem to be a workaround for it.
---
We would need to extend the rules syntax with a new wild card (e.g. ‘-’
or ‘∅’) to be able to match a missing variant, e.g.:
! model layout[2] variant[2] = symbols
$applealu gb - = +macintosh_vndr/gb:2
$applealu gb * = +%l[2]%(v[2]):2
While at it, another wild card to match both present *and* missing
variant would be really useful as well.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/764>
-
6041b1ab
by Pierre Le Marre at 2024-11-29T18:52:28+00:00
Fix af layout with olpc model
Add `olpc` variant to `af` in order to fix compilation with the `olpc`
model. There are already various olpc vendor-specific variants in `af`
symbols. As the default variant for `af` is for the Dari language, make
also `olpc` variant an alias for the olpc Dari variant `fa-olpc`.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/764>
-
7a829b0a
by Pierre Le Marre at 2024-11-29T18:52:28+00:00
ci: Add tests for models with specific layouts
Ideally we would test all combinations, but there are simply too
much combinations for our CI.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/764>
-
135c9be9
by Pierre Le Marre at 2024-12-03T20:44:47+00:00
Improve issue & MR templates
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/781>
-
6a8e72cb
by Pierre Le Marre at 2024-12-03T20:44:47+00:00
Add bugbot for missing template and motivation
Also improve previous `too-exotic` bugbot.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/781>
-
88be76d1
by Pierre Le Marre at 2024-12-10T15:11:08+01:00
rules: Rename file indexes
This facilitate changing the order of the file and adding new ones.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/785>
-
635ef001
by Pierre Le Marre at 2024-12-11T12:13:53+01:00
Fix $applealu vendor rule
Only the rule containing `$macvendorlayouts(*)` is problematic, but
let’s always use `%(v…)` form instead of `(%v…)`.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/786>
-
99986e10
by Andrey at 2024-12-27T19:49:20+00:00
Fix Apple Russian layout
All Apple keyboards I could find for over 20 years history till these days have swapped Russian layout symbols between TLDE and LSGT keys, so current layout probably never existed.
Let's reflect the actual layout in our keymap.
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/792>
-
4f0a8327
by Andrey at 2024-12-27T23:25:08+00:00
Add new Fragments file
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/792>
-
d9eda056
by Andrey at 2024-12-29T16:52:00+00:00
Revert <TLDE> `less`, `greater` order
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/792>
-
5f12a603
by Pierre Le Marre at 2025-01-10T11:58:14+01:00
Use explicit virtual modifiers declarations
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>
-
59cc11f6
by Sergey Udaltsov at 2025-01-29T21:40:52+00:00
prerelease potfile sync
-
79cd5679
by Pierre Le Marre at 2025-02-07T09:36:46+01:00
geometry: Fix TypeMatrix 2030
- 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>
-
38b3734f
by Pierre Le Marre at 2025-02-09T15:05:05+00:00
Update changelog for 2.44
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/797>
-
bef01507
by Sergey Udaltsov at 2025-02-09T18:52:17+00:00
prerelease translations update
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/799>
-
1691aef8
by Sergey Udaltsov at 2025-02-09T21:50:02+00:00
release 2.44
Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/800>
-
d5f33259
by Timo Aaltonen at 2025-03-21T09:24:43+02:00
Merge branch 'upstream-unstable' into debian-unstable
-
469a15a7
by Timo Aaltonen at 2025-03-21T09:55:23+02:00
version bump
-
2c71f586
by Timo Aaltonen at 2025-03-21T10:00:09+02:00
copyright: Fix a typo in the URL. (Closes: #1070293)
-
95dda8eb
by Timo Aaltonen at 2025-03-21T10:03:44+02:00
rules: Enable non-latin-layouts-list. (Closes: #1085452)
-
18bd7d50
by Timo Aaltonen at 2025-04-01T11:32:55+03:00
control: Add libxkbcommon-tools and python3-yaml to build-depends.
-
fd33c7ad
by Timo Aaltonen at 2025-04-01T11:37:42+03:00
rules: Drop dh_clean override, unnecessary.