| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
omitted (#266)
|
|
|
|
| |
If the XML file is somehow off, don't load entries that are against the spec.
|
|
|
|
|
| |
We already do so for the non-successful cases, let's do this here too so we know
whether it was a signal or a normal exit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the documentation:
> It does not clean up parser state, it cleans up memory allocated by the library
> itself. It is a cleanup function for the XML library. It tries to reclaim all
> related global memory allocated for the library processing. [...]
> One should call xmlCleanupParser() only when the process has finished using the library.
http://xmlsoft.org/html/libxml-parser.html#xmlCleanupParser
Since we're a library ourselves we cannot know if something else in the same
proces uses the parser, so we must not call this.
Reported-by: M Hickford
|
|
|
|
|
|
|
|
| |
This makes it easier for contributors to check if their code runs correctly
without having to file a PR.
The Mac and Windows workflows are a bit more involved, so let's keep those on
pull requests only.
|
|
|
|
|
|
| |
"main" is a bit non-descriptive, let's name them after the platforms we run them
on. Splitting them up allows us to be less selective on how we run the various
workflows, e.g. always running the linux one.
|
|
|
|
| |
Co-authored-by: Ran Benita <ran@unusedvar.com>
|
| |
|
|
|
|
|
|
| |
this is mainly useful for multilib, but may be useful for other users as well
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
| |
Because otherwise the 'no' layout is treated as disagreement with whatever is to
be disagreed with. Fixed in YAML 1.2 but that's not universally supported.
Fixes #268
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 1b3a1c277a033083fee669e92c8cad862716ebd1 we changed the error
handling in this code to not bail out immediately but only after
everything has been processed, to simplify the code. But I suspect the
code isn't prepared for this and that's what causing the crash reported
in the issue.
Bring back the short-circuit error handling which would hopefully fix
such crashes.
Fixes: https://github.com/xkbcommon/libxkbcommon/issues/252
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
| |
Previously, could only check how to type a Unicode codepoint, but
searching for a keysym directly is also occasionally useful.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
|
|
| |
Don't assume that keycode 9 means Escape. Instead, use the keymap
to check for Esc.
Logic copied from the Wayland version.
Signed-off-by: Simon Ser <contact@emersion.fr>
|
|
|
|
|
|
| |
Forgotten in e2465c2.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
| |
- Reduce permissions
- Update some stuff
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
| |
Fixes: https://github.com/xkbcommon/libxkbcommon/issues/233
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
| |
Fixes: https://github.com/xkbcommon/libxkbcommon/issues/244
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
| |
These were relevant for the autoconf build but now we're meson only.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
|
| |
Sync xorg-proto commit
https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/commit/25f3278b85ec7d1c78bb150eaea52f9c98294ea4
Fixes: #82
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
| |
Not very useful so not exposed in xkbcli.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
|
|
|
|
| |
While the previous 1987-style[0] scheme was fun (and I reasonably
optimized it for a fair comparison), this task is more suited to a hash
table. Even a simple implementation beats the old one.
[0] Seems to have first appeared in X11R1, released September 1987.
See server/dix/atom.c here: https://www.x.org/releases/X11R1/X.V11R1.tar.gz
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
| |
No need for more, and easier to convert to milliseconds per iteration.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
| |
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
| |
This way we don't specify `include_directorories('.')` which brings in
more than needed.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
| |
As suggested in:
https://github.com/xkbcommon/libxkbcommon/pull/240#discussion_r620784021
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Specify where to find the headers for libxkbcommon_dep,
libxkbcommon_x11_dep, and libxkbregistry_dep, which allows other
projects to correctly locate the headers when libxkbcommon is being
built as a Meson subproject.
The dep_libxkbregistry variable is renamed to libxkbregistry_dep,
to follow the usual convention for variables which hold declared
dependencies to be used from subproject builds.
|
|
|
|
|
|
|
|
|
|
| |
Arrange for passing .def files with the lists of symbols to export from
DLLs when building on Windows with MSVC. Without this no symbols were
being exported at all.
The .def files are generated from the .map files at build time using
scripts/map-to-def, which avoids needing to maintain two different sets
of files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have a lot of keyboard layouts and the current output format is virtually
useless at searching for a specific one to debug any issues with either the
layout list or the output from libxkbregistry.
Let's use YAML instead because that can easily be post-processed to extract the
specific layouts wanted, e.g. to get the list of all layouts:
xkbcli-list | yq -r ".layouts[].layout"
to get the list of all variants of the "us" layout:
xkbcli-list | yq -r '.layouts[] | select(.layout == "us") | .variant
and the number of option groups:
xkbcli-list | yq -r '.option_groups[] | length'
Note that the top-level nodes have been de-capitalized, so where it was "Models"
before it is now "models" and the "Options" node is now "option_groups".
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
| |
Slightly easier to read than the "bool first" approach.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
| |
This is hit when passing an empty string and XKB_KEYSYM_CASE_INSENSITIVE
to xkb_keysym_from_name currently if `(lo + hi) / 2` is 0 and `cmp < 0`,
causing mid to underflow and the the array access into name_to_keysym on
the next iteration of the loop to be out of bounds .
We *would* use ssize_t here as it is the appropriate type, but windows
unfortunately does not define it.
|
|
|
|
|
|
|
|
|
|
| |
Add a skipError test function that can analyse rc, stdout, stderr to skip a test
even when we expect an error. We use that to skip if we couldn't find a keyboard
in the interactive-evdev test.
Fixes #235
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
| |
tqdm prints to stderr by default but we're using that for failed keymap
compiles (which are the ones that really matter). Plus, whether we're using tqdm
is dependent on isatty(sys.stdout) anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
| |
Slightly easier to debug if we can have it only parse one single layout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
|
| |
With --keymap-output-dir, the given directory will contain a list of files named
after the layout + variant ('us', 'us(euro)', ...) that contain the keymaps for
each variant + option combination compiled.
This is still a lot, but better to sift through hundreds of keymaps than tens of
thousands.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous output is largely unusable. The result in the CI test runs is a 6GB
file with every compiled keymap in it and while we can grep for ERROR, it's not
particularly useful.
Let's change this and print out YAML instead - that can be machine-processed.
This patch adds a new parent class that prints itself in YAML format,
the tool invocations are child classes of that class. The result looks like this:
Example output:
- rmlvo: ["evdev", "pc105", "us", "haw", "grp:rwin_switch"]
cmd: "xkbcli-compile-keymap --verbose --rules evdev --model pc105 --layout us --variant haw --options grp:rwin_switch"
status: 0
- rmlvo: ["evdev", "pc105", "us", "foo", ""]
cmd: "xkbcli-compile-keymap --verbose --rules evdev --model pc105 --layout us --variant foo"
status: 1
error: "failed to compile keymap"
Special status codes are: 99 for "unrecognized keysym" and 90 for "Cannot open
display" in the setxkbmap case.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
| |
Instead of defaulting to verbose on/off depending on isatty, make it an
argument instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|