Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| b5d969dd | 2025-08-06 17:22:38 | compose: Move constants to dedicated header | ||
| 7394a3c7 | 2025-08-06 20:47:07 | tools: Fix how-to-type modifier mask test | ||
| 29579ad4 | 2025-08-04 12:35:25 | tools: Add --verbose to all tools Added `--verbose` to: - `xkbcli interactive-wayland` - `xkbcli interactive-x11` - `xkbcli compile-compose` - `xkbcli how-to-type` | ||
| f5d079f5 | 2025-08-04 09:58:42 | tools: Improve interactive events output Improved the output of events for `xkbcli interactive-*` tools: - Added `--multiline` to enable multiline event output, which provides more details and does not have formatting limitations. - Added `--uniline` to enable uniline event output. While this is the current default, future versions may switch to multiline display. | ||
| cce63b90 | 2025-08-04 09:48:32 | tools: Print interactive state changes `xkbcli interactive-*` tools: print detailed state change events. | ||
| d8caabf5 | 2025-08-04 09:30:48 | tools: Print interactive key release event `xkbcli interactive-*` tools: - Print key release events. This is particularly useful when analyzing the output sent by another person, in order to know the exact key sequence. | ||
| a83a482c | 2025-07-18 11:27:52 | tools: Add variants with automatic session type detection Added: - `xkbcli-interactive` - `xkbcli-dump-keymap` | ||
| ae80b244 | 2025-05-14 15:08:37 | tools: Add --modmaps option to compile-keymap - Remove the `ENABLE_PRIVATE_APIS` guards on modmaps printing functions, since we use no private symbols. - Copy the `--print-modmaps` options from `interactive-evdev` into `compile-keymap` and rename it to `--modmaps`. This enables a feature similar to `xmodmap -pm`. | ||
| fb73f9f5 | 2025-05-14 15:02:24 | tools: Refactor modmaps printing functions Simplify and make them print valid YAML. | ||
| 2e07790e | 2025-05-14 14:55:55 | tools: Remove modmaps fields in interactive entries They are already printed before entering the interactive mode. | ||
| 61d8ec67 | 2025-05-12 18:20:47 | misc: Fix string format specifiers Ensure better portability. | ||
| a4038a47 | 2025-02-12 09:50:36 | Miscellaneous int types fixes | ||
| 7e918f2e | 2025-02-05 15:49:26 | tools: add Windows compat for S_ISFIFO Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| cfe53fe4 | 2025-02-05 15:37:49 | tools: add Windows include for execv Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| e120807b | 2025-01-29 15:35:22 | Update license notices to SDPX short identifiers + update LICENSE Fix #628. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| b168623c | 2025-01-28 13:24:14 | tools: Enable using keymap file as a positional argument | ||
| 313001ce | 2025-01-28 13: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-16 20:23:28 | Use portable integer literal suffixes | ||
| addf73c5 | 2024-07-12 09: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-30 13: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-14 11:26:10 | tools: constify the prefix in tools_print_keycode_state | ||
| dd3e2140 | 2024-02-08 20: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-05 17: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-19 07: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-01 13:06:38 | interactive-wayland: Add support for Compose | ||
| 0e3e2d17 | 2023-09-18 12: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-18 12: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-18 12:06:45 | Interactive tools: always print keycode | ||
| 44029221 | 2023-09-18 11: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-11 23: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-31 08: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-25 15:49:17 | tools: make independent from src/ Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| cd119a28 | 2020-07-23 09: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-22 11: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-22 11: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-08 12: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-23 14: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-23 16: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> |