|
a4038a47
|
2025-02-12T09:50:36
|
|
Miscellaneous int types fixes
|
|
7e918f2e
|
2025-02-05T15:49:26
|
|
tools: add Windows compat for S_ISFIFO
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
cfe53fe4
|
2025-02-05T15:37:49
|
|
tools: add Windows include for execv
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
e120807b
|
2025-01-29T15:35:22
|
|
Update license notices to SDPX short identifiers + update LICENSE
Fix #628.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
b168623c
|
2025-01-28T13:24:14
|
|
tools: Enable using keymap file as a positional argument
|
|
313001ce
|
2025-01-28T13:48:02
|
|
tools: Add --keymap alias and enable loading keymap files
Add `--keymap` as a more intuitive alias to `--from-xkb`; it also makes
it consistent with `interactive-evdev`. It optionally accepts a keymap
file path; if the argument is empty or `-` then the keymap is read from
`stdin`.
|
|
c7fdf506
|
2025-01-16T20:23:28
|
|
Use portable integer literal suffixes
|
|
addf73c5
|
2024-07-12T09:17:34
|
|
keysyms: Require only 5 bytes for UTF-8 encoding
Require only 5 bytes for the buffer of `xkb_keysym_to_utf8`, as UTF-8
encodes code points on up to 4 bytes + 1 byte for the NULL-terminating
byte.
Previous standard [RFC 2279] (1998) required up to 6 bytes per code
point, but has been superseded by [RFC 3629] (2003).
[RFC 2279]: https://datatracker.ietf.org/doc/html/rfc2279
[RFC 3629]: https://datatracker.ietf.org/doc/html/rfc3629
|
|
abb6e588
|
2023-12-30T13:18:18
|
|
tools: remove unused `#incldue <ctype.h>`
We avoid this header due to its locale dependence. This include seems
like a leftover in 44029221e8423f1ca93470952542a0517a208d42.
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
883bac60
|
2024-02-14T11:26:10
|
|
tools: constify the prefix in tools_print_keycode_state
|
|
dd3e2140
|
2024-02-08T20:15:22
|
|
interactive-evdev: reduce the space allocated for keysyms (#443)
* interactive-evdev: reduce the printed space used for keysyms
In commit 8cca3a7bfb185876994d6ec3d25cda88e5640a4d the buffer for the keysym
was extended to accommodate for up to XKB_COMPOSE_MAX_STRING_SIZE bytes. This
caused the printf to expand to the same width for the keysym alone, making the
output less useful. Drop this back down to the same width it was before.
|
|
8cca3a7b
|
2023-12-05T17:39:59
|
|
compose: Add XKB_COMPOSE_MAX_STRING_SIZE
Define the maximum size of a compose sequence result string explicit as
a constant and use it everywhere to improve the code readability.
|
|
0074baf4
|
2023-12-19T07:28:52
|
|
keysyms: Add XKB_KEYSYM_NAME_MAX_SIZE for internal use
Currently there is no indication of the maximum length of keysym names.
This is statically known, so add the new *internal* following API:
`XKB_KEYSYM_NAME_MAX_SIZE`.
|
|
c7f4e308
|
2023-11-01T13:06:38
|
|
interactive-wayland: Add support for Compose
|
|
0e3e2d17
|
2023-09-18T12:17:11
|
|
interactive-evdev: add option to print modmaps
Add an option to print modmap and vmodmap of relevant keys, as well as
virtual modifiers mapping to real modifier. This is useful for debugging.
It uses private API, so we compile it separately in the fashion of
`xkbcli-compile-keymap/compile-keymap`.
|
|
b5079dc9
|
2023-09-18T12:15:06
|
|
Interactive tools: add options to hide some fields
Display can be cluttered when too many fields are displayed.
Add options to hide some default fields
|
|
c23c6bb9
|
2023-09-18T12:06:45
|
|
Interactive tools: always print keycode
|
|
44029221
|
2023-09-18T11:59:30
|
|
Interactive tools: Escape control character for Unicode output
Currently the interactive tools print the string result of key strokes
as it is, without any escape. This is especially annoying for trivial
keysyms such as: Return, BackSpace and Escape.
Fix this by displaying the Unicode code point notation (e.g U+000D for
Return) for single control characters from the C0 set and DEL.
This is a hack: ideally we would like to escape any non-printable
character in the utf-8 string.
|
|
bd79a960
|
2023-04-11T23:24:47
|
|
Possible fix for non-MSVC windows compilers
`_MSC_VER` is specific to MSVC, but there can be other compilers targeting
windows. Hopefully they do define `_WIN32`, so let's use that.
Refs: https://github.com/xkbcommon/libxkbcommon/issues/305
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
4d0d5091
|
2020-08-31T08:36:38
|
|
meson.build: define PATH_MAX where it's missing
PATH_MAX is not POSIX and can be missing on some systems, notably Windows (which
provides MAX_PATH instead tough) and Hurd. Let's define it to a sane value where
missing, i.e. the one it's defined to in limits.h. Except on Windows where
we're limited to 260.
Fixes https://github.com/xkbcommon/libxkbcommon/issues/180
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
0066e387
|
2020-07-25T15:49:17
|
|
tools: make independent from src/
Signed-off-by: Ran Benita <ran@unusedvar.com>
|
|
cd119a28
|
2020-07-23T09:37:15
|
|
Drop use of ronn, switch to raw roff instead
Drop the ronn source files, check in the generated files instead. This gets rid
of the ruby+gem+ronn toolchain requirement at the cost of having to edit raw man
pages.
ronn files are as-generated but with the preamble and generation date removed.
The latter isn't important enough to keep, it'll just go stale for manually
maintained files and it's not worth setting up a configure_file() just for that
date.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
31b38c31
|
2020-07-22T11:52:13
|
|
tools: don't mangle the path for tools, just exec directly
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
ba52e34d
|
2020-07-22T11:15:27
|
|
tools: don't assert on 64+ commandline arguments, just return
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
ed57fb8b
|
2020-07-08T12:51:54
|
|
tools: add a xkbcli tool as entry point for the various tools we have
This is the base tool, no subtools are currently connected so you only get help
and version for now. The goal here is to have a git-like infrastructure where
/usr/bin/xkbcli is the main tool, anything else will hide in libexec.
The infrastructure for this is copied from libinput. Tools themselves will
will be installed in $prefix/libexec/xkbcommon and the xkbcli tool forks
off whatever argv[1] is after modifying the PATH to include the libexec dir.
libinput has additional code for checking whether we're running this from the
builddir but it's a bit iffy and it's usefulness is limited - if you're in the
builddir anyway you can just run ./builddir/xkbcli-<toolname> directly.
So for this code here, running ./builddir/xkbcli <toolname> will execute the
one in the prefix/libexecdir.
Since we want that tool available everywhere even where some of the subtools
aren't present, we need to ifdef the getopt handling.
man page generation is handled via ronn which is a ruby program but allows
markdown for the sources. It's hidden behind a meson option to disable where
downloading ronn isn't an option. The setup is generic enough that we can add
other man-pages by just appending to the array.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
c09bf363
|
2020-06-23T14:01:48
|
|
test: untangle interactive-evdev from the test headers
Move (sometimes duplicate) the required bits into new shared files
tools-common.(c|h) that are compiled into the internal tools library. Rename the
test_foo() functions to tools_foo() and in one case just copy the code of the
keymap compile function to the tool.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
2eb5d2c8
|
2020-06-23T16:06:10
|
|
test: simplify error handling in interactive-evdev
Passing -errno around and having separate labels depending on failure types is
superfluous here. All the unref calls can handle NULL and nothing cares about
errno once we're out of the immediate scope. So let's simplify this and deal
with 0 and 1 only.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|