summaryrefslogtreecommitdiff
path: root/rules
AgeCommit message (Collapse)AuthorFilesLines
4 daysrules: use symlinks to resolve mismatches between option names and filesPeter Hutterer1-2/+10
Use in-repository-only symlinks between symbols files that help us to resolve option mismatches, e.g. where we need to map caps:foo to capslock(foo). This effectively reverts symbols: symlink the special rules prefixes to our symbols files
4 daysrules: generate the option->{symbols,compat,types} mappings from our XML filesPeter Hutterer6-222/+323
The vast majority of options are a straightforward foo:bar = +foo(bar) mapping. Instead of maintaining those mappings by hand let's generate the rules file from the files we definitely maintain by hand: the base.xml (and base.extras.xml) files. This also makes it clearer which ones are exceptions and need to be filled in through other means (or ignored because the option does not affect any symbols). The resulting rules file is identical to the previous hand-generated one but it is alphabetically sorted and uses different whitespacing. For merge.py to work we need to also fix the whitespaces in rules/compat/0041-option_symbols.part, otherwise the duplicate header detection won't work.
4 daysrules: rename the .part files to be more explicitPeter Hutterer35-31/+31
This makes it immediately readable what maps to what over e.g. ml4_s.part.
4 dayscompat: add some files to remove special casing in the rulesPeter Hutterer1-6/+6
4 dayssymbols: add grab and srvrkeys with a single sectionPeter Hutterer1-2/+2
This avoids having to special-case grab:debug and srvrkeys:none in the rules files.
4 dayssymbols: make a few sections independent of custom rulesPeter Hutterer1-3/+3
These used to have a special entry in the rules file - it's easier if we just make a section for them and have the rules-file entry map 1:1. For ctrl:grouptoggle_capscontrol see commit 6bba53fd
2024-04-19Added Old Hungarian layouts for users in SKKovács halomházi Viktor1-0/+14
On branch ohu_sk Changes to be committed: modified: rules/base.extras.xml modified: symbols/hu
2024-03-18Correcting "la" to "kab"ButterflyOfFire1-0/+1
2024-02-20Purge the old macs from our rulesPeter Hutterer8-41/+0
See the previous commits, none of these machines need the latest xkeyboard-config.
2024-02-20Purge the macbook 78/79 from our rulesPeter Hutterer3-16/+0
Best I can tell these are macbooks released from 2006 to 2012 or something. Doesn't matter too much anyway since the only effect of these rules was a different geometry file. Since geometry is not supported at all in libxkbcommon we won't lose much by dropping these special cases.
2024-02-20Purge the Intel Classmate from our rulesPeter Hutterer3-11/+0
Released in 2008 we expect few of these devices still exist and those that do probably don't need the latest xkeyboard-config release.
2024-02-20Purge a few old Nokia devices from our rules filesPeter Hutterer9-18/+0
The Nokia RX-51 (N900) came out in 2009. 15 years later we can purge this rule, the number of devices that still exist and need latest xkeyboard-config is too small to worry about. The Nokia RX-44 (N810) an SU-8W were released 2007.
2024-02-19Add caps:digits_row option for Azerty layoutsPierre Le Marre6-0/+11
The Azerty keyboards used in France and Belgium have the digits on the shift level instead of on the base level of the top row. In Windows the corresponding layouts have the curious characteristic that CapsLock locks also the digits, meaning that some users have acquired the habit of engaging CapsLock when they need to type some digits. Fix this by adding a new option `caps:digits_row` that applies only to the `$azerty` layouts group (currently `fr` and `be`). This option changes the key type of the digits keys to `FOUR_LEVEL_SEMIALPHABETIC`. There are two drawbacks with this solution: - It is not possible to type the uppercase À, È, É and Ç. Without the option, one gets those by the internal transformation rules, done either by the X server or xkbcommon. - It changes the behavior of the US variants from `fr`. But we do not expect anyone to use at the same time e.g. `fr` and `fr(us-alt)` with the new option `caps:number_row`. Instead we expect e.g. either one uses `fr(us-alt)` alone or `fr,us`. In the former case the option is not needed, while in the later case the option works correctly.
2024-02-15rules: add a few existing bindings to the base.xml filesPeter Hutterer1-0/+42
We have the rules in place for this, let's expose those. Fixes #445
2024-02-15rules: remove {lshift|rshift}_both_capslock{_cancel}Peter Hutterer1-6/+0
These were added as rules entries in ac8fa2656 but no-one noticed for 13 years that they had no corresponding base.xml entry. Let's remove them because they look suspiciously like "added because we can" rather than "added because there's a need for it". Google cannot find a single reference to it that isn't this repo or a mirror of it. Fixes #445
2024-02-15rules: remove lv5:lsgt_switch_lock_cancel and friendsPeter Hutterer2-42/+0
These have been commented out for over 12 years because they're apparently broken, see 569dd72bd4b and https://bugs.freedesktop.org/show_bug.cgi?id=41621 Let's remove those, we can reinstate those if there are users that can make these rules work. Fixes #445
2024-02-15Improve description of caps:ctrl_modifierLuis Javier Merino Morán1-1/+1
The purpose of this option is to have Caps Lock behave as a Control modifier, but still be able to distinguish it from the Control_L and Control_R keys in things like games and emulators. People tend to get confused when in some programs Caps Lock with this option doesn't behave exactly like Control. ctrl:nocaps is probably the option they really want. Fixes #443
2024-02-14Add option `eurosign:E`Pierre Le Marre2-1/+8
2024-01-07rules: fix iso639 codes after removalsPeter Hutterer1-2/+3
https://iso639-3.sil.org/sites/iso639-3/files/downloads/iso-639-3_Retirements.tab ais Nataoran Amis S Split by part going to Amis [ami] and creating Sakizaya [szy] with the remaining part 2019-01-25 uun Kulon-Pazeh S Split into Kulon [uon] and Pazeh [pzh] 2022-01-20 See also the pycountry commit https://github.com/pycountry/pycountry/commit/a2341a11df5b5fddb26519e9b9cbe1befdee74a9 Fixes #430
2023-12-26basic "Old Hungarian" layout deprecatedKovács halomházi Viktor1-7/+0
On branch master Your branch is up to date with 'origin/master'. Changes to be committed: modified: rules/base.extras.xml modified: symbols/hu
2023-12-20CI: drop black, use ruff-format insteadPeter Hutterer1-3/+15
black is getting increasingly more difficult to use in the CI across distribution versions (thanks to Python's messy packaging) so let's replace it with ruff format which produces largely the same results.
2023-11-20meson: use builtin install_symlinkwael1-4/+10
use the builtin `install_symlink` target provided by meson instead of providing on external `ln` and `sh`.
2023-10-28delete the Greek `extended` variant, as it does not extend `basic` at allBenno Schulenberg2-6/+1
Until commit 9350c7347a from two years ago, the `extended` variant contained *fewer* symbols than the `basic` variant, and did not contain any symbols that `basic` did not have. The extra symbols that it did have over the `simple` variant were all present in the same locations in the `basic` variant. So at that point the `extended` variant was fully redundant. The mentioned commit 9350c7347a did not "perfect" the `extended` layout but merely added some symbols in ill-considered places. Such adjustments are stuff for the `custom` layout instead. This addresses and closes issue #412. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-10-22symbols/it: delete the mistaken `intl` layoutBenno Schulenberg1-16/+0
The layout is not international at all, and cannot be used to type just German or French or Slovak either. It looks more like a first draft of the `scn` layout. The original contributor, David Paleino, agrees with its removal. This addresses and closes issue #406. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-30symbols/my: harmonize the specification of the Zawgyi encodingBenno Schulenberg1-7/+4
Zawgyi [1] is a font for the Burmese language where the characters are encoded in a way that is incompatible with Unicode, so "Zawgyi" is not part of the name of the language. Also, the addition "Tai" for a specific version of the font is unneeded. [1] https://en.wikipedia.org/wiki/Zawgyi_font Furthermore, drop the `eng` marker for two layouts as no English can be typed with them. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-27Change identifier for the SI-1452-2 layout variantShai Berger1-1/+1
In some circumstances the identifier of the variant is presented, rather than the name. The identifier "two" is not descriptive enough. Thanks @benno for suggesting the name "si2".
2023-08-25rules/base.xml: normalize the indentation of some fifty deviant linesBenno Schulenberg1-56/+56
2023-08-25rules/base.xml: sort Iraq's and New Zealand's main layouts betterBenno Schulenberg1-298/+298
Also, sort the main layout for the US strictly alphabetically among the English layouts.
2023-08-25set the US standard layout as the default layout for New ZealandBenno Schulenberg1-5/+17
Seven years ago, commit 8791fd60ca added a separate entry for Australia, to make the desired layout easier to find for Australian users. Grant the Kiwis the same kind of ease. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-25move the layout for Maori to a file for New ZealandBenno Schulenberg3-1/+3
The Māori language is native to New Zealand only, not a language that spans many countries, like Arabic or Esperanto. So it does not merit its own, separate file. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-25set Arabic as the default layout for EgyptBenno Schulenberg2-4/+30
Three years ago, commit 20d03d7441 added an exotic layout for Coptic, and in the process created the `symbols/eg` file, putting Coptic as the only and default and "basic" variant, although obviously it is a niche layout (and was added to `rules/base.extras.xml`). Arabic is the main and official language in Egypt. So set the Arabic standard layout as the default. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-22delete two Arabic variants that are identical to two othersBenno Schulenberg2-12/+2
Ideally, each list of variants should contain only things that are actually different, not things that are merely synonyms for others. Also, there is nothing Qwerty about these Arabic layouts (apart from the top row), so the names are rather misleading. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-21harmonize the name of the Iraqi Arabic layout with similar onesBenno Schulenberg1-2/+1
All other copies of the Arabic layout are named "Arabic (Country)", so do that here too, to avoid the impression that Iraqi is a separate language. (Problem existed since many layouts were renamed twelve years ago, in commit 9a21ade574.) Also, drop the 'kur' from the language list, as one does not want to find this Arabic layout when searching for "Kurdish" in the layout choosers of KDE or Cinnamon. (Problem existed since the language lists were added fifteen years ago, in commit ffb490449e.) Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-21rules/base.xml: correct the ISO 639 code for Dari, from `drs` to `prs`Benno Schulenberg1-1/+1
The code `drs` is for Gedeo (also called Deresa), a language in Ethiopia. https://en.wikipedia.org/wiki/ISO_639:d https://en.wikipedia.org/wiki/Gedeo_language https://en.wikipedia.org/wiki/ISO_639:p https://en.wikipedia.org/wiki/Dari Bug existed since many codes were added in commit 297bb51556, last year. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-20rules: delete three rules that refer to a non-existent sectionBenno Schulenberg1-3/+0
Fifteen years ago, commit 85e363d819 removed the section "logicd" from `symbols/inet`, but the rules that referred to it were left hanging in the air. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-20rules: delete four models that do not refer to anythingBenno Schulenberg1-28/+0
They don't have a section in `symbols/inet` nor any rule in `rules/0026-base.m_s.part`. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-19rules/base.xml: sort the layout names alphabetically on first descriptionBenno Schulenberg1-2422/+2425
This reduces the chaos in the second table of `man xkeyboard-config`, especially near the end where things were added seemingly randomly.
2023-08-19rules/base.xml: improve the sorting of the layout names per country codeBenno Schulenberg1-533/+532
Also, correct a few misindentations of `<variant>` tags and similar.
2023-08-19symbols/il: add the variant from the Israeli SI-1452-2 standardBenno Schulenberg1-0/+6
Israeli standard SI-1452 part 2 (2018) describes a slight variation of SI-1452 that removes almost all the deviations from the US layout. But as it moves some symbols, it is added as an alternative layout. For an image of the layout, see http://mikladot.com/. (For conciseness, the variant defines only level 1 of the seven changed keys, as nothing changes on the higher levels.) This fulfills and closes issue #46. Original-patch-by: Tzafrir Cohen <tzafrir@cohens.org.il> Acked-by: Shai Berger <shai@platonix.com> Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-16rules/base.xml: sort the model names alphabetically on the descriptionBenno Schulenberg1-434/+434
This makes the first table in `man xkeyboard-config` less chaotic. Only the generic pc86 to pc105 models are kept at the beginning. Also, add "Compal" to the name of the FL90 keyboard, and remove the spurious "NEC" from the name of the Hewlett-Packard SK-2501 keyboard (mistakenly added by commit 10cf5acd90 six years ago).
2023-08-13improve the names of the two layouts for Ladin, making them clearerBenno Schulenberg2-12/+13
Adding the specifiers "(Italian keyboard)" and "(German keyboard)" may look over the top, as xkeyboard-config is all about keyboards, but it makes things the most clear for the user. Also, move the Ladin layout for the basic German keyboard to the file for Italy, as the places where Ladin is spoken are all there. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-12symbols/in: rename a layout, after the language instead of the scriptBenno Schulenberg2-2/+3
"Ol Chiki" is the name of the script [1] that is used to write the Santali language [2]. [1] https://en.wikipedia.org/wiki/Ol_Chiki_script [2] https://en.wikipedia.org/wiki/Santali_language Naming the layout "Santali (Ol Chiki)" follows the examples of "Punjabi (Gurmukhi)" and "Manipuri (Meitei)". This is also how the corresponding layouts are named in Android. (Originally the comment near the beginning of `symbols/in` referred to scripts, not languages, but commit b9971d9ba8 from three years ago changed that. Whether that was a good idea...) Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-08rules/base.xml: correct some comments and some short description tagsBenno Schulenberg1-13/+29
Also add a few missing comments.
2023-08-01symbols/ru: delete a redundant phonetic variantBenno Schulenberg1-6/+0
The `phonetic_fr` variant differed from the `phonetic_azerty` variant only by having some extra stuff on levels 3 + 4 (inhereted from `fr`). Having extra stuff on the upper levels is not worth having a dedicated variant for, especially not when this kind of layout is probably used by just a handful of people. So, just let the `phonetic_azerty` variant include the extra stuff and drop the `phonetic_fr` variant, also because it's weird to have a layout named "Russian (phonetic, French)" when one cannot type any French on it. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-08-01add a missing comma in a layout's name, and spell "NoSymbol" consistentlyBenno Schulenberg1-1/+1
2023-07-31correct the name of the Elfdalian layout, to obey "Language (Country)"Benno Schulenberg1-1/+1
2023-07-24symbols/lt: drop the unsightly and unclear backticks around "IBM"Benno Schulenberg1-1/+1
The backticks are not used anywhere else, and no one will understand what they are supposed to convey anyway.
2023-07-12Fix ruff complaints about unused imports/variablesPeter Hutterer1-1/+0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-07-12Remove trailing whitespaces in all filesPeter Hutterer8-8/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-07-12Format all our python code with blackPeter Hutterer2-50/+61
Black is quite common in Python sources and ensures that all the code has a unified look to it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>