tools: some minor changes to xkbcli

Signed-off-by: Ran Benita <ran@unusedvar.com>
master
Ran Benita 2020-07-25 11:17:11 +03:00
parent ce5eb1ac6d
commit f439ce1889
11 changed files with 149 additions and 97 deletions

View File

@ -297,6 +297,9 @@ You can disable X11 support with -Denable-x11=false.''')
'xkbcommon/xkbcommon-x11.h', 'xkbcommon/xkbcommon-x11.h',
subdir: 'xkbcommon', subdir: 'xkbcommon',
) )
libxkbcommon_x11_dep = declare_dependency(
link_with: libxkbcommon_x11,
)
pkgconfig.generate( pkgconfig.generate(
libxkbcommon_x11, libxkbcommon_x11,
name: 'xkbcommon-x11', name: 'xkbcommon-x11',
@ -308,8 +311,6 @@ You can disable X11 support with -Denable-x11=false.''')
) )
endif endif
man_pages = []
# libxkbregistry # libxkbregistry
if get_option('enable-xkbregistry') if get_option('enable-xkbregistry')
dep_libxml = dependency('libxml-2.0') dep_libxml = dependency('libxml-2.0')
@ -553,7 +554,7 @@ if build_tools
install: true, install: true,
install_dir: dir_libexec) install_dir: dir_libexec)
install_man('tools/xkbcli-compile-keymap.1') install_man('tools/xkbcli-compile-keymap.1')
# The same tool again, but with access to some private APIS # The same tool again, but with access to some private APIs.
executable('compile-keymap', executable('compile-keymap',
'tools/compile-keymap.c', 'tools/compile-keymap.c',
libxkbcommon_sources, libxkbcommon_sources,
@ -579,7 +580,7 @@ if build_tools
endif endif
if get_option('enable-x11') if get_option('enable-x11')
x11_tools_dep = declare_dependency( x11_tools_dep = declare_dependency(
link_with: libxkbcommon_x11_internal, link_with: libxkbcommon_x11,
dependencies: [ dependencies: [
tools_dep, tools_dep,
xcb_dep, xcb_dep,
@ -599,8 +600,8 @@ if build_tools
wayland_protocols_dep = dependency('wayland-protocols', version: '>=1.12', required: false) wayland_protocols_dep = dependency('wayland-protocols', version: '>=1.12', required: false)
wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true) wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)
if not wayland_client_dep.found() or not wayland_protocols_dep.found() or not wayland_scanner_dep.found() if not wayland_client_dep.found() or not wayland_protocols_dep.found() or not wayland_scanner_dep.found()
error('''The Wayland demo programs require wayland-client >= 1.2.0, wayland-protocols >= 1.7 which were not found. error('''The Wayland xkbcli programs require wayland-client >= 1.2.0, wayland-protocols >= 1.7 which were not found.
You can disable the Wayland demo programs with -Denable-wayland=false.''') You can disable the Wayland xkbcli programs with -Denable-wayland=false.''')
endif endif
wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner')) wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))

View File

@ -62,9 +62,3 @@ option(
value: true, value: true,
description: 'Enable building libxkbregistry', description: 'Enable building libxkbregistry',
) )
option(
'enable-manpages',
type: 'boolean',
value: true,
description: 'Enable building man pages',
)

View File

@ -372,15 +372,17 @@ sigintr_handler(int signum)
static void static void
usage(FILE *fp, char *progname) usage(FILE *fp, char *progname)
{ {
fprintf(fp, "Usage: %s [--rules <rules>] [--model <model>] " fprintf(fp, "Usage: %s [--rules=<rules>] [--model=<model>] "
"[--layout <layout>] [--variant <variant>] [--options <options>]\n", "[--layout=<layout>] [--variant=<variant>] [--options=<options>]\n",
progname); progname);
fprintf(fp, " or: %s --keymap <path to keymap file>\n", fprintf(fp, " or: %s --keymap <path to keymap file>\n",
progname); progname);
fprintf(fp, "For both:\n" fprintf(fp, "For both:\n"
" --report-state-changes (report changes to the state)\n" " --report-state-changes (report changes to the state)\n"
" --enable-compose (enable compose)\n" " --enable-compose (enable Compose)\n"
" --consumed-mode={gtk|xkb} (select the consumed mode)\n"); " --consumed-mode={xkb|gtk} (select the consumed modifiers mode, default: xkb)\n"
" --evdev-offset=NUM (default: 8)\n"
);
} }
int int
@ -406,6 +408,7 @@ main(int argc, char *argv[])
OPT_VARIANT, OPT_VARIANT,
OPT_OPTION, OPT_OPTION,
OPT_KEYMAP, OPT_KEYMAP,
OPT_EVDEV_OFFSET,
OPT_CONSUMED_MODE, OPT_CONSUMED_MODE,
OPT_COMPOSE, OPT_COMPOSE,
OPT_REPORT_STATE, OPT_REPORT_STATE,
@ -418,6 +421,7 @@ main(int argc, char *argv[])
{"variant", required_argument, 0, OPT_VARIANT}, {"variant", required_argument, 0, OPT_VARIANT},
{"options", required_argument, 0, OPT_OPTION}, {"options", required_argument, 0, OPT_OPTION},
{"keymap", required_argument, 0, OPT_KEYMAP}, {"keymap", required_argument, 0, OPT_KEYMAP},
{"evdev-offset", required_argument, 0, OPT_EVDEV_OFFSET},
{"consumed-mode", required_argument, 0, OPT_CONSUMED_MODE}, {"consumed-mode", required_argument, 0, OPT_CONSUMED_MODE},
{"enable-compose", no_argument, 0, OPT_COMPOSE}, {"enable-compose", no_argument, 0, OPT_COMPOSE},
{"report-state-changes", no_argument, 0, OPT_REPORT_STATE}, {"report-state-changes", no_argument, 0, OPT_REPORT_STATE},
@ -453,6 +457,15 @@ main(int argc, char *argv[])
case OPT_KEYMAP: case OPT_KEYMAP:
keymap_path = optarg; keymap_path = optarg;
break; break;
case OPT_EVDEV_OFFSET:
errno = 0;
evdev_offset = strtol(optarg, NULL, 10);
if (errno) {
fprintf(stderr, "error: --evdev-offset option expects a number\n");
usage(stderr, argv[0]);
return EXIT_INVALID_USAGE;
}
break;
case OPT_REPORT_STATE: case OPT_REPORT_STATE:
report_state_changes = true; report_state_changes = true;
break; break;
@ -465,6 +478,7 @@ main(int argc, char *argv[])
} else if (strcmp(optarg, "xkb") == 0) { } else if (strcmp(optarg, "xkb") == 0) {
consumed_mode = XKB_CONSUMED_MODE_XKB; consumed_mode = XKB_CONSUMED_MODE_XKB;
} else { } else {
fprintf(stderr, "error: invalid --consumed-mode \"%s\"\n", optarg);
usage(stderr, argv[0]); usage(stderr, argv[0]);
return EXIT_INVALID_USAGE; return EXIT_INVALID_USAGE;
} }

View File

@ -7,7 +7,7 @@
\fBxkbcli\fR compile\-keymap [\-\-help] [OPTIONS] \fBxkbcli\fR compile\-keymap [\-\-help] [OPTIONS]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli compile\-keymap\fR compiles and prints a keymap based on the given options\. \fBxkbcli compile\-keymap\fR compiles and prints a keymap based on the given options.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
@ -16,51 +16,55 @@
Print help and exit Print help and exit
. .
.TP .TP
\fB\-\-verbose\fR .B \-\-verbose
Enable verbose debugging output Enable verbose debugging output
. .
.TP .TP
\fB\-\-rmlvo\fR .B \-\-rmlvo
Print the full RMLVO with the defaults filled in for missing elements Print the full RMLVO with the defaults filled in for missing elements
. .
.TP .TP
\fB\-\-from\-xkb\fR .B \-\-from\-xkb
Load the XKB file from stdin, ignore RMLVO options\. This option must not be used with \fB\-\-kccgst\fR\. Load the XKB file from stdin, ignore RMLVO options.
This option must not be used with \fB\-\-kccgst\fR.
. .
.TP .TP
\fB\-\-include\fR .B \-\-include=PATH
Add the given path to the include path list\. This option is order\-dependent, include paths given first are searched first\. If an include path is given, the default include path list is not used\. Use \fB\-\-include\-defaults\fR to add the default include paths Add the given path to the include path list.
This option is order\-dependent, include paths given first are searched first.
If an include path is given, the default include path list is not used.
Use \fB\-\-include\-defaults\fR to add the default include paths.
. .
.TP .TP
\fB\-\-include\-defaults\fR .B \-\-include\-defaults
Add the default set of include directories\. This option is order\-dependent, include paths given first are searched first\. Add the default set of include directories.
This option is order-dependent, include paths given first are searched first.
. .
.TP .TP
\fB\-\-rules <rules>\fR .B \-\-rules=<rules>
The XKB ruleset The XKB ruleset
. .
.TP .TP
\fB\-\-model <model>\fR .B \-\-model=<model>
The XKB model The XKB model
. .
.TP .TP
\fB\-\-layout <layout>\fR: .B \-\-layout=<layout>
.
.IP
The XKB layout The XKB layout
. .
.TP .TP
\fB\-\-variant <variant>\fR: .B \-\-variant=<variant>
.
.IP
The XKB layout variant The XKB layout variant
. .
.TP .TP
\fB\-\-options <options>\fR .B \-\-options=<options>
The XKB options The XKB options
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1) \fBxkbcli\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -7,35 +7,38 @@
\fBxkbcli\fR how\-to\-type [OPTIONS] <codepoint> \fBxkbcli\fR how\-to\-type [OPTIONS] <codepoint>
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli how\-to\-type\fR prints key sequences to type the given Unicode codepoint\. \fBxkbcli how\-to\-type\fR prints key sequences to type the given Unicode codepoint.
. .
.P .P
Pipe into \fBcolumn \-ts $\'\e\et\'\fR for nicely aligned output\. Pipe into \fBcolumn \-ts $\'\e\et\'\fR for nicely aligned output.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-rules <rules>\fR .B \-\-rules=<rules>
The XKB ruleset The XKB ruleset
. .
.TP .TP
\fB\-\-model <model>\fR .B \-\-model=<model>
The XKB model The XKB model
. .
.TP .TP
\fB\-\-layout <layout>\fR .B \-\-layout=<layout>
The XKB layout The XKB layout
. .
.TP .TP
\fB\-\-variant <variant>\fR .B \-\-variant=<variant>
The XKB layout variant The XKB layout variant
. .
.TP .TP
\fB\-\-options <options>\fR .B \-\-options=<options>
The XKB options The XKB options
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1) \fBxkbcli\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -1,61 +1,73 @@
.TH "XKBCLI\-INTERACTIVE\-EVDEV" "1" "" "" "libxkbcommon manual" .TH "XKBCLI\-INTERACTIVE\-EVDEV" "1" "" "" "libxkbcommon manual"
. .
.SH "NAME" .SH "NAME"
\fBxkbcli\-interactive\-evdev\fR \- interactive debugger for XKB maps \fBxkbcli\-interactive\-evdev\fR \- interactive debugger for XKB keymaps
. .
.SH "SYNOPSIS" .SH "SYNOPSIS"
\fBxkbcli\fR interactive\-evdev [\-\-help] [OPTIONS] \fBxkbcli\fR interactive\-evdev [\-\-help] [OPTIONS]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli interactive\-evdev\fR is a commandline tool to interactively debug XKB maps by listening to \fB/dev/input/eventX\fR evdev devices\. \fBxkbcli interactive\-evdev\fR is a commandline tool to interactively debug XKB keymaps by listening to \fB/dev/input/eventX\fR evdev devices (Linux).
. .
.P .P
This is a debugging tool, its behavior or output is not guaranteed to be stable\. .B xkbcli interactive\-evdev
requires permission to open the evdev device nodes.
This usually requires being the \fBroot\fR user or belonging to the \fBinput\fR group.
.
.P
Press the Escape key to exit.
.
.P
This is a debugging tool, its behavior or output is not guaranteed to be stable.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-help\fR .B \-\-help
Print help and exit Print help and exit
. .
.TP .TP
\fB\-\-rules <rules>\fR .B \-\-rules=<rules>
The XKB ruleset The XKB ruleset
. .
.TP .TP
\fB\-\-model <model>\fR .B \-\-model=<model>
The XKB model The XKB model
. .
.TP .TP
\fB\-\-layout <layout>\fR .B \-\-layout=<layout>
The XKB layout The XKB layout
. .
.TP .TP
\fB\-\-variant <variant>\fR .B \-\-variant=<variant>
The XKB layout variant The XKB layout variant
. .
.TP .TP
\fB\-\-options <options>\fR .B \-\-options=<options>
The XKB options The XKB options
. .
.TP .TP
\fB\-\-keymap\fR .B \-\-keymap=PATH
Specify a keymap path\. This option is mutually exclusive with the rmlvo options\. Specify a keymap path.
This option is mutually exclusive with the RMLVO options.
. .
.TP .TP
\fB\-\-report\-state\-changes\fR .B \-\-report\-state\-changes
Report changes to the keyboard state Report changes to the keyboard state
. .
.TP .TP
\fB\-\-enable\-compose\fR .B \-\-enable\-compose
Enable compose functionality Enable Compose functionality
. .
.TP .TP
\fB\-\-consumed\-mode={gtk|xkb}\fR .B \-\-consumed\-mode={xkb|gtk}
Set the consumed modifiers mode (default: xkb) Set the consumed modifiers mode (default: xkb)
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1), \fBxkbcli\-interactive\-wayland\fR(1), \fBxkbcli\-interactive\-x11\fR(1) \fBxkbcli\fR(1), \fBxkbcli\-interactive\-wayland\fR(1), \fBxkbcli\-interactive\-x11\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -1,25 +1,34 @@
.TH "XKBCLI\-INTERACTIVE\-WAYLAND" "1" "" "" "libxkbcommon manual" .TH "XKBCLI\-INTERACTIVE\-WAYLAND" "1" "" "" "libxkbcommon manual"
. .
.SH "NAME" .SH "NAME"
\fBxkbcli\-interactive\-wayland\fR \- interactive debugger for XKB maps \fBxkbcli\-interactive\-wayland\fR \- interactive debugger for XKB keymaps
. .
.SH "SYNOPSIS" .SH "SYNOPSIS"
\fBxkbcli\fR interactive\-wayland [\-\-help] [OPTIONS] \fBxkbcli\fR interactive\-wayland [\-\-help] [OPTIONS]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli interactive\-wayland\fR is a commandline tool to interactively debug XKB maps by listening to wayland events\. This requires a Wayland compositor to be running\. \fBxkbcli interactive\-wayland\fR is a commandline tool to interactively debug XKB keymaps by listening to wayland events.
. .
.P .P
This is a debugging tool, its behavior or output is not guaranteed to be stable\. This requires a Wayland compositor to be running.
.
.P
Press the Escape key to exit.
.
.P
This is a debugging tool, its behavior or output is not guaranteed to be stable.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-help\fR .B \-\-help
Print help and exit Print help and exit
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-x11\fR(1) \fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-x11\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -1,25 +1,34 @@
.TH "XKBCLI\-INTERACTIVE\-X11" "1" "" "" "libxkbcommon manual" .TH "XKBCLI\-INTERACTIVE\-X11" "1" "" "" "libxkbcommon manual"
. .
.SH "NAME" .SH "NAME"
\fBxkbcli\-interactive\-x11\fR \- interactive debugger for XKB maps \fBxkbcli\-interactive\-x11\fR \- interactive debugger for XKB keymaps
. .
.SH "SYNOPSIS" .SH "SYNOPSIS"
\fBxkbcli\fR interactive\-x11 [\-\-help] [OPTIONS] \fBxkbcli\fR interactive\-x11 [\-\-help] [OPTIONS]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli interactive\-x11\fR is a commandline tool to interactively debug XKB maps by listening to X11 events\. This requires an X server to be running\. \fBxkbcli interactive\-x11\fR is a commandline tool to interactively debug XKB keymaps by listening to X11 events.
. .
.P .P
This is a debugging tool, its behavior or output is not guaranteed to be stable\. This requires an X server to be running.
.
.P
Press the Escape key to exit.
.
.P
This is a debugging tool, its behavior or output is not guaranteed to be stable.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-help\fR .B \-\-help
Print help and exit Print help and exit
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-wayland\fR(1) \fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-wayland\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -1,41 +1,44 @@
.TH "XKBCLI\-LIST" "1" "" "" "libxkbcommon manual" .TH "XKBCLI\-LIST" "1" "" "" "libxkbcommon manual"
. .
.SH "NAME" .SH "NAME"
\fBxkbcli\-list\fR \- list available XKB rules, models, layouts, variants and options \fBxkbcli\-list\fR \- list available XKB models, layouts, variants and options
. .
.SH "SYNOPSIS" .SH "SYNOPSIS"
\fBxkbcli\fR list [\-\-help] [/path/to/xkbbase [/path/to/xkbbase] \.\.\.] \fBxkbcli\fR list [\-\-help] [/path/to/xkbbase [/path/to/xkbbase] ...]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli list\fR is a commandline tool to list available model, layout, variant and option (MLVO) values from the XKB registry\. \fBxkbcli list\fR is a commandline tool to list available model, layout, variant and option (MLVO) values from the XKB registry.
. .
.P .P
Arguments provided on the commandline are treated as XKB base directory installations\. Arguments provided on the commandline are treated as XKB base directory installations.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-help\fR .B \-\-help
Print help and exit Print help and exit
. .
.TP .TP
\fB\-v, \-\-verbose\fR .B \-v, \-\-verbose
Increase verbosity, use multiple times for debugging output Increase verbosity, use multiple times for debugging output
. .
.TP .TP
\fB\-\-ruleset <name>\fR .B \-\-ruleset=<name>
Load the ruleset with the given name Load the ruleset with the given name
. .
.TP .TP
\fB\-\-skip\-default\-paths\fR .B \-\-skip\-default\-paths
Do not load the default XKB include paths Do not load the default XKB include paths
. .
.TP .TP
\fB\-\-load\-exotic\fR .B \-\-load\-exotic
Load exotic (extra) layouts Load exotic (extra) layouts
. .
.SH "SEE ALSO" .SH "SEE ALSO"
\fBxkbcli\fR(1) \fBxkbcli\fR(1)
. .
.P .P
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -7,42 +7,42 @@
\fBxkbcli\fR [\-\-help|\-\-version] <command> [\fIargs\fR] \fBxkbcli\fR [\-\-help|\-\-version] <command> [\fIargs\fR]
. .
.SH "DESCRIPTION" .SH "DESCRIPTION"
\fBxkbcli\fR is a commandline tool to query, compile and test XKB keymaps, layouts and other elements\. \fBxkbcli\fR is a commandline tool to query, compile and test XKB keymaps, layouts and other elements.
. .
.SH "OPTIONS" .SH "OPTIONS"
. .
.TP .TP
\fB\-\-help\fR .B \-\-help
Print help and exit Print help and exit
. .
.TP .TP
\fB\-\-version\fR .B \-\-version
Print the version and exit Print the version and exit
. .
.SH "COMMANDS" .SH "COMMANDS"
. .
.TP .TP
\fBhow\-to\-type\fR .B how\-to\-type
Show how to type a given unicode codepoint, see \fBxkbcli\-how\-to\-type\fR(1) Show how to type a given Unicode codepoint, see \fBxkbcli\-how\-to\-type\fR(1)
. .
.TP .TP
\fBinteractive\-x11\fR .B interactive\-x11
Interactive debugger for XKB maps for X11, see \fBxbkcli\-interactive\-x11\fR(1) Interactive debugger for XKB keymaps for X11, see \fBxbkcli\-interactive\-x11\fR(1)
. .
.TP .TP
\fBinteractive\-wayland\fR .B interactive\-wayland
Interactive debugger for XKB maps for Wayland, see \fBxkbcli\-interactive\-wayland\fR(1) Interactive debugger for XKB keymaps for Wayland, see \fBxkbcli\-interactive\-wayland\fR(1)
. .
.TP .TP
\fBinteractive\-evdev\fR .B interactive\-evdev
Interactive debugger for XKB maps for evdev, see \fBxkbcli\-interactive\-evdev\fR Interactive debugger for XKB keymaps for evdev (Linux), see \fBxkbcli\-interactive\-evdev\fR
. .
.TP .TP
\fBlist\fR .B list
List available layouts and more, see \fBxkbcli\-list\fR(1) List available layouts and more, see \fBxkbcli\-list\fR(1)
. .
.P .P
Note that not all tools may be available on your system\. Note that not all tools may be available on your system.
. .
.SH "EXIT STATUS" .SH "EXIT STATUS"
. .
@ -59,4 +59,7 @@ an error occured
program was called with invalid arguments program was called with invalid arguments
. .
.SH "SEE ALSO" .SH "SEE ALSO"
The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR The
.UR https://xkbcommon.org
libxkbcommon online documentation
.UE

View File

@ -45,22 +45,22 @@ usage(void)
#endif #endif
#if HAVE_XKBCLI_INTERACTIVE_WAYLAND #if HAVE_XKBCLI_INTERACTIVE_WAYLAND
" interactive-wayland\n" " interactive-wayland\n"
" Interactive debugger for XKB maps for wayland\n" " Interactive debugger for XKB keymaps for Wayland\n"
"\n" "\n"
#endif #endif
#if HAVE_XKBCLI_INTERACTIVE_x11 #if HAVE_XKBCLI_INTERACTIVE_x11
" interactive-x11\n" " interactive-x11\n"
" Interactive debugger for XKB maps for X11\n" " Interactive debugger for XKB keymaps for X11\n"
"\n" "\n"
#endif #endif
#if HAVE_XKBCLI_INTERACTIVE_EVDEV #if HAVE_XKBCLI_INTERACTIVE_EVDEV
" interactive-evdev\n" " interactive-evdev\n"
" Interactive debugger for XKB maps for evdev\n" " Interactive debugger for XKB keymaps for evdev (Linux)\n"
"\n" "\n"
#endif #endif
#if HAVE_XKBCLI_COMPILE_KEYMAP #if HAVE_XKBCLI_COMPILE_KEYMAP
" compile-keymap\n" " compile-keymap\n"
" Compile n XKB keymap\n" " Compile an XKB keymap\n"
"\n" "\n"
#endif #endif
#if HAVE_XKBCLI_HOW_TO_TYPE #if HAVE_XKBCLI_HOW_TO_TYPE