summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/main.yml6
-rw-r--r--meson.build31
-rw-r--r--tools/tools-common.c8
-rw-r--r--tools/xkbcli-compile-keymap.170
-rw-r--r--tools/xkbcli-compile-keymap.1.ronn63
-rw-r--r--tools/xkbcli-how-to-type.141
-rw-r--r--tools/xkbcli-how-to-type.1.ronn36
-rw-r--r--tools/xkbcli-interactive-evdev.161
-rw-r--r--tools/xkbcli-interactive-evdev.1.ronn56
-rw-r--r--tools/xkbcli-interactive-wayland.125
-rw-r--r--tools/xkbcli-interactive-wayland.1.ronn28
-rw-r--r--tools/xkbcli-interactive-x11.125
-rw-r--r--tools/xkbcli-interactive-x11.1.ronn28
-rw-r--r--tools/xkbcli-list.141
-rw-r--r--tools/xkbcli-list.1.ronn36
-rw-r--r--tools/xkbcli.162
-rw-r--r--tools/xkbcli.1.ronn53
17 files changed, 334 insertions, 336 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 72bf0e9..f23e77a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -23,7 +23,7 @@ jobs:
sudo apt update -y
sudo env DEBIAN_FRONTEND=noninteractive apt install -y \
doxygen libxcb-xkb-dev valgrind ninja-build \
- libwayland-dev wayland-protocols bison graphviz ruby-ronn
+ libwayland-dev wayland-protocols bison graphviz
- name: Setup
run: |
meson setup build
@@ -40,14 +40,12 @@ jobs:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-ruby@v1
- uses: actions/setup-python@v1
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip meson
- gem install ronn
brew install doxygen bison ninja
brew link bison --force
env:
@@ -67,7 +65,6 @@ jobs:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-ruby@v1
- uses: actions/setup-python@v1
with:
python-version: '3.7'
@@ -81,7 +78,6 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip meson
- gem install ronn
choco install ninja winflexbison3 -y --no-progress --stop-on-first-failure
- name: Setup
shell: cmd
diff --git a/meson.build b/meson.build
index f6e9a49..8c809f4 100644
--- a/meson.build
+++ b/meson.build
@@ -13,7 +13,6 @@ pkgconfig = import('pkgconfig')
cc = meson.get_compiler('c')
dir_libexec = join_paths(get_option('prefix'), get_option('libexecdir'), 'xkbcommon')
-dir_man = join_paths(get_option('prefix'), get_option('mandir'))
# Compiler flags.
foreach cflag: [
@@ -543,21 +542,21 @@ if build_tools
executable('xkbcli', 'tools/xkbcli.c',
dependencies: tools_dep, install: true)
- man_pages += 'tools/xkbcli.1.ronn'
+ install_man('tools/xkbcli.1')
executable('xkbcli-compile-keymap',
'tools/compile-keymap.c',
dependencies: tools_dep,
install: true,
install_dir: dir_libexec)
- man_pages += 'tools/xkbcli-compile-keymap.1.ronn'
+ install_man('tools/xkbcli-compile-keymap.1')
configh_data.set10('HAVE_XKBCLI_COMPILE_KEYMAP', true)
executable('xkbcli-how-to-type',
'tools/how-to-type.c',
dependencies: tools_dep,
install: true,
install_dir: dir_libexec)
- man_pages += 'tools/xkbcli-how-to-type.1.ronn'
+ install_man('tools/xkbcli-how-to-type.1')
configh_data.set10('HAVE_XKBCLI_HOW_TO_TYPE', true)
if cc.has_header('linux/input.h')
executable('xkbcli-interactive-evdev',
@@ -566,7 +565,7 @@ if build_tools
install: true,
install_dir: dir_libexec)
configh_data.set10('HAVE_XKBCLI_INTERACTIVE_EVDEV', true)
- man_pages += 'tools/xkbcli-interactive-evdev.1.ronn'
+ install_man('tools/xkbcli-interactive-evdev.1')
endif
if get_option('enable-x11')
x11_tools_dep = declare_dependency(
@@ -582,7 +581,7 @@ if build_tools
dependencies: x11_tools_dep,
install: true,
install_dir: dir_libexec)
- man_pages += 'tools/xkbcli-interactive-x11.1.ronn'
+ install_man('tools/xkbcli-interactive-x11.1')
configh_data.set10('HAVE_XKBCLI_INTERACTIVE_X11', true)
endif
if get_option('enable-wayland')
@@ -617,7 +616,7 @@ if build_tools
dependencies: [tools_dep, wayland_client_dep],
install: true,
install_dir: dir_libexec)
- man_pages += 'tools/xkbcli-interactive-wayland.1.ronn'
+ install_man('tools/xkbcli-interactive-wayland.1')
configh_data.set10('HAVE_XKBCLI_INTERACTIVE_WAYLAND', true)
endif
@@ -628,7 +627,7 @@ if build_tools
dependencies: dep_libxkbregistry,
install: true,
install_dir: dir_libexec)
- man_pages += 'tools/xkbcli-list.1.ronn'
+ install_man('tools/xkbcli-list.1')
endif
# pytest finds files named test_foo_bar.py but not
@@ -644,22 +643,6 @@ if build_tools
args: [tool_option_test, '-n', 'auto'])
endif
-if get_option('enable-manpages')
- prog_ronn = find_program('ronn', required: true)
- foreach manpage : man_pages
- # man page filenames adhere to directory/topic.section.ronn
- topic = manpage.split('/')[-1].split('.')[-3]
- section = manpage.split('.')[-2]
- output = '@0@.@1@'.format(topic, section)
- custom_target(output,
- input: manpage,
- output: output,
- command: [prog_ronn, '--manual=libxkbcommon manual', '--pipe', '--roff', files(manpage)],
- capture: true,
- install: true,
- install_dir: join_paths(dir_man, section))
- endforeach
-endif
# xkeyboard-config "verifier"
xkct_config = configuration_data()
diff --git a/tools/tools-common.c b/tools/tools-common.c
index a78bc9a..db17880 100644
--- a/tools/tools-common.c
+++ b/tools/tools-common.c
@@ -219,15 +219,9 @@ tools_exec_command(const char *prefix, int real_argc, char **real_argv)
}
command = real_argv[0];
-#ifdef _MSC_VER
-#define PATH_SEP '\\'
-#else
-#define PATH_SEP '/'
-#endif
if (!snprintf_safe(executable, sizeof(executable),
- "%s%c%s-%s", LIBXKBCOMMON_TOOL_PATH, PATH_SEP,
- prefix, command)) {
+ "%s/%s-%s", LIBXKBCOMMON_TOOL_PATH, prefix, command)) {
fprintf(stderr, "Failed to assemble command\n");
return EXIT_FAILURE;
}
diff --git a/tools/xkbcli-compile-keymap.1 b/tools/xkbcli-compile-keymap.1
new file mode 100644
index 0000000..eb4b0d3
--- /dev/null
+++ b/tools/xkbcli-compile-keymap.1
@@ -0,0 +1,70 @@
+.TH "XKBCLI\-COMPILE\-KEYMAP" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-compile\-keymap\fR \- compile an XKB keymap
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR compile\-keymap [\-\-help] [OPTIONS]
+.
+.SH "DESCRIPTION"
+\fBxkbcli compile\-keymap\fR compiles and prints a keymap based on the given options\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.TP
+\fB\-\-verbose\fR
+Enable verbose debugging output
+.
+.TP
+\fB\-\-kccgst\fR
+Print a keymap which only includes the KcCGST component names instead of the full keymap
+.
+.TP
+\fB\-\-rmlvo\fR
+Print the full RMLVO with the defaults filled in for missing elements
+.
+.TP
+\fB\-\-from\-xkb\fR
+Load the XKB file from stdin, ignore RMLVO options\. This option must not be used with \fB\-\-kccgst\fR\.
+.
+.TP
+\fB\-\-include\fR
+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
+\fB\-\-include\-defaults\fR
+Add the default set of include directories\. This option is order\-dependent, include paths given first are searched first\.
+.
+.TP
+\fB\-\-rules <rules>\fR
+The XKB ruleset
+.
+.TP
+\fB\-\-model <model>\fR
+The XKB model
+.
+.TP
+\fB\-\-layout <layout>\fR:
+.
+.IP
+The XKB layout
+.
+.TP
+\fB\-\-variant <variant>\fR:
+.
+.IP
+The XKB layout variant
+.
+.TP
+\fB\-\-options <options>\fR
+The XKB options
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-compile-keymap.1.ronn b/tools/xkbcli-compile-keymap.1.ronn
deleted file mode 100644
index 8b0c74a..0000000
--- a/tools/xkbcli-compile-keymap.1.ronn
+++ /dev/null
@@ -1,63 +0,0 @@
-# xkbcli-compile-keymap(1) - compile an XKB keymap
-
-## SYNOPSIS
-
-**xkbcli** compile-keymap \[--help\] \[OPTIONS\]
-
-## DESCRIPTION
-
-**xkbcli compile-keymap** compiles and prints a keymap based on the given
-options.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
- * `--verbose`:
- Enable verbose debugging output
-
- * `--kccgst`:
- Print a keymap which only includes the KcCGST component names instead of
- the full keymap
-
- * ` --rmlvo`:
- Print the full RMLVO with the defaults filled in for missing elements
-
- * ` --from-xkb`:
- Load the XKB file from stdin, ignore RMLVO options. This option must not
- be used with `--kccgst`.
-
- * ` --include`:
- 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 `--include-defaults` to add the default include
- paths
-
- * ` --include-defaults`:
- Add the default set of include directories.
- This option is order-dependent, include paths given first
- are searched first.
-
- * ` --rules <rules>`:
- The XKB ruleset
-
- * ` --model <model>`:
- The XKB model
- * ` --layout <layout>`:
-
- The XKB layout
- * ` --variant <variant>`:
-
- The XKB layout variant
-
- * ` --options <options>`:
- The XKB options
-
-## SEE ALSO
-
-**xkbcli**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
-
diff --git a/tools/xkbcli-how-to-type.1 b/tools/xkbcli-how-to-type.1
new file mode 100644
index 0000000..60d42ff
--- /dev/null
+++ b/tools/xkbcli-how-to-type.1
@@ -0,0 +1,41 @@
+.TH "XKBCLI\-HOW\-TO\-TYPE" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-how\-to\-type\fR \- query how to type a given Unicode codepoint
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR how\-to\-type [OPTIONS] <codepoint>
+.
+.SH "DESCRIPTION"
+\fBxkbcli how\-to\-type\fR prints key sequences to type the given Unicode codepoint\.
+.
+.P
+Pipe into \fBcolumn \-ts $\'\e\et\'\fR for nicely aligned output\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-rules <rules>\fR
+The XKB ruleset
+.
+.TP
+\fB\-\-model <model>\fR
+The XKB model
+.
+.TP
+\fB\-\-layout <layout>\fR
+The XKB layout
+.
+.TP
+\fB\-\-variant <variant>\fR
+The XKB layout variant
+.
+.TP
+\fB\-\-options <options>\fR
+The XKB options
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-how-to-type.1.ronn b/tools/xkbcli-how-to-type.1.ronn
deleted file mode 100644
index fc3faa4..0000000
--- a/tools/xkbcli-how-to-type.1.ronn
+++ /dev/null
@@ -1,36 +0,0 @@
-# xkbcli-how-to-type(1) - query how to type a given Unicode codepoint
-
-## SYNOPSIS
-
-**xkbcli** how-to-type \[OPTIONS\] &lt;codepoint&gt;
-
-## DESCRIPTION
-
-**xkbcli how-to-type** prints key sequences to type the given Unicode
-codepoint.
-
-Pipe into `column -ts $'\\t'` for nicely aligned output.
-
-## OPTIONS
-
- * `--rules <rules>`:
- The XKB ruleset
-
- * `--model <model>`:
- The XKB model
-
- * `--layout <layout>`:
- The XKB layout
-
- * `--variant <variant>`:
- The XKB layout variant
-
- * `--options <options>`:
- The XKB options
-
-## SEE ALSO
-
-**xkbcli**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
-
diff --git a/tools/xkbcli-interactive-evdev.1 b/tools/xkbcli-interactive-evdev.1
new file mode 100644
index 0000000..8b76dc7
--- /dev/null
+++ b/tools/xkbcli-interactive-evdev.1
@@ -0,0 +1,61 @@
+.TH "XKBCLI\-INTERACTIVE\-EVDEV" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-interactive\-evdev\fR \- interactive debugger for XKB maps
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR interactive\-evdev [\-\-help] [OPTIONS]
+.
+.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\.
+.
+.P
+This is a debugging tool, its behavior or output is not guaranteed to be stable\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.TP
+\fB\-\-rules <rules>\fR
+The XKB ruleset
+.
+.TP
+\fB\-\-model <model>\fR
+The XKB model
+.
+.TP
+\fB\-\-layout <layout>\fR
+The XKB layout
+.
+.TP
+\fB\-\-variant <variant>\fR
+The XKB layout variant
+.
+.TP
+\fB\-\-options <options>\fR
+The XKB options
+.
+.TP
+\fB\-\-keymap\fR
+Specify a keymap path\. This option is mutually exclusive with the rmlvo options\.
+.
+.TP
+\fB\-\-report\-state\-changes\fR
+Report changes to the keyboard state
+.
+.TP
+\fB\-\-enable\-compose\fR
+Enable compose functionality
+.
+.TP
+\fB\-\-consumed\-mode={gtk|xkb}\fR
+Set the consumed modifiers mode (default: xkb)
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1), \fBxkbcli\-interactive\-wayland\fR(1), \fBxkbcli\-interactive\-x11\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-interactive-evdev.1.ronn b/tools/xkbcli-interactive-evdev.1.ronn
deleted file mode 100644
index 6b81837..0000000
--- a/tools/xkbcli-interactive-evdev.1.ronn
+++ /dev/null
@@ -1,56 +0,0 @@
-# xkbcli-interactive-evdev(1) - interactive debugger for XKB maps
-
-## SYNOPSIS
-
-**xkbcli** interactive-evdev \[--help\] \[OPTIONS\]
-
-## DESCRIPTION
-
-**xkbcli interactive-evdev** is a commandline tool to interactively
-debug XKB maps by listening to `/dev/input/eventX` evdev devices.
-
-This is a debugging tool, its behavior or output is not guaranteed to be
-stable.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
- * `--rules <rules>`:
- The XKB ruleset
-
- * `--model <model>`:
- The XKB model
-
- * `--layout <layout>`:
- The XKB layout
-
- * `--variant <variant>`:
- The XKB layout variant
-
- * `--options <options>`:
- The XKB options
-
- * `--keymap`:
- Specify a keymap path. This option is mutually exclusive with the rmlvo
- options.
-
- * `--report-state-changes`:
- Report changes to the keyboard state
-
- * `--enable-compose`:
- Enable compose functionality
-
- * `--consumed-mode={gtk|xkb}`:
- Set the consumed modifiers mode (default: xkb)
-
-
-## SEE ALSO
-
-**xkbcli**(1),
-**xkbcli-interactive-wayland**(1), **xkbcli-interactive-x11**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
-
-
diff --git a/tools/xkbcli-interactive-wayland.1 b/tools/xkbcli-interactive-wayland.1
new file mode 100644
index 0000000..3d1aec3
--- /dev/null
+++ b/tools/xkbcli-interactive-wayland.1
@@ -0,0 +1,25 @@
+.TH "XKBCLI\-INTERACTIVE\-WAYLAND" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-interactive\-wayland\fR \- interactive debugger for XKB maps
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR interactive\-wayland [\-\-help] [OPTIONS]
+.
+.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\.
+.
+.P
+This is a debugging tool, its behavior or output is not guaranteed to be stable\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-x11\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-interactive-wayland.1.ronn b/tools/xkbcli-interactive-wayland.1.ronn
deleted file mode 100644
index 929f766..0000000
--- a/tools/xkbcli-interactive-wayland.1.ronn
+++ /dev/null
@@ -1,28 +0,0 @@
-# xkbcli-interactive-wayland(1) - interactive debugger for XKB maps
-
-## SYNOPSIS
-
-**xkbcli** interactive-wayland \[--help\] \[OPTIONS\]
-
-## DESCRIPTION
-
-**xkbcli interactive-wayland** is a commandline tool to interactively
-debug XKB maps by listening to wayland events. This requires a Wayland
-compositor to be running.
-
-This is a debugging tool, its behavior or output is not guaranteed to be
-stable.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
-## SEE ALSO
-
-**xkbcli**(1), **xkbcli-interactive-evdev**(1),
-**xkbcli-interactive-x11**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
-
-
diff --git a/tools/xkbcli-interactive-x11.1 b/tools/xkbcli-interactive-x11.1
new file mode 100644
index 0000000..36e58e1
--- /dev/null
+++ b/tools/xkbcli-interactive-x11.1
@@ -0,0 +1,25 @@
+.TH "XKBCLI\-INTERACTIVE\-X11" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-interactive\-x11\fR \- interactive debugger for XKB maps
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR interactive\-x11 [\-\-help] [OPTIONS]
+.
+.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\.
+.
+.P
+This is a debugging tool, its behavior or output is not guaranteed to be stable\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1), \fBxkbcli\-interactive\-evdev\fR(1), \fBxkbcli\-interactive\-wayland\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-interactive-x11.1.ronn b/tools/xkbcli-interactive-x11.1.ronn
deleted file mode 100644
index f7b27f0..0000000
--- a/tools/xkbcli-interactive-x11.1.ronn
+++ /dev/null
@@ -1,28 +0,0 @@
-# xkbcli-interactive-x11(1) - interactive debugger for XKB maps
-
-## SYNOPSIS
-
-**xkbcli** interactive-x11 \[--help\] \[OPTIONS\]
-
-## DESCRIPTION
-
-**xkbcli interactive-x11** is a commandline tool to interactively
-debug XKB maps by listening to X11 events. This requires an X server to be
-running.
-
-This is a debugging tool, its behavior or output is not guaranteed to be
-stable.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
-## SEE ALSO
-
-**xkbcli**(1), **xkbcli-interactive-evdev**(1),
-**xkbcli-interactive-wayland**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
-
-
diff --git a/tools/xkbcli-list.1 b/tools/xkbcli-list.1
new file mode 100644
index 0000000..3211efb
--- /dev/null
+++ b/tools/xkbcli-list.1
@@ -0,0 +1,41 @@
+.TH "XKBCLI\-LIST" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\-list\fR \- list available XKB rules, models, layouts, variants and options
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR list [\-\-help] [/path/to/xkbbase [/path/to/xkbbase] \.\.\.]
+.
+.SH "DESCRIPTION"
+\fBxkbcli list\fR is a commandline tool to list available model, layout, variant and option (MLVO) values from the XKB registry\.
+.
+.P
+Arguments provided on the commandline are treated as XKB base directory installations\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.TP
+\fB\-v, \-\-verbose\fR
+Increase verbosity, use multiple times for debugging output
+.
+.TP
+\fB\-\-ruleset <name>\fR
+Load the ruleset with the given name
+.
+.TP
+\fB\-\-skip\-default\-paths\fR
+Do not load the default XKB include paths
+.
+.TP
+\fB\-\-load\-exotic\fR
+Load exotic (extra) layouts
+.
+.SH "SEE ALSO"
+\fBxkbcli\fR(1)
+.
+.P
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli-list.1.ronn b/tools/xkbcli-list.1.ronn
deleted file mode 100644
index 7681df0..0000000
--- a/tools/xkbcli-list.1.ronn
+++ /dev/null
@@ -1,36 +0,0 @@
-# xkbcli-list(1) - list available XKB rules, models, layouts, variants and options
-
-## SYNOPSIS
-
-**xkbcli** list [--help] [/path/to/xkbbase [/path/to/xkbbase] ...]
-
-## DESCRIPTION
-
-**xkbcli list** is a commandline tool to list available model, layout, variant
-and option (MLVO) values from the XKB registry.
-
-Arguments provided on the commandline are treated as XKB base directory
-installations.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
- * `-v, --verbose`:
- Increase verbosity, use multiple times for debugging output
-
- * `--ruleset <name>`:
- Load the ruleset with the given name
-
- * `--skip-default-paths`:
- Do not load the default XKB include paths
-
- * `--load-exotic`:
- Load exotic (extra) layouts
-
-## SEE ALSO
-
-**xkbcli**(1)
-
-The libxkbcommon online documentation at <https://xkbcommon.org>
diff --git a/tools/xkbcli.1 b/tools/xkbcli.1
new file mode 100644
index 0000000..6cfe4a4
--- /dev/null
+++ b/tools/xkbcli.1
@@ -0,0 +1,62 @@
+.TH "XKBCLI" "1" "" "" "libxkbcommon manual"
+.
+.SH "NAME"
+\fBxkbcli\fR \- tool to interact with XKB keymaps
+.
+.SH "SYNOPSIS"
+\fBxkbcli\fR [\-\-help|\-\-version] <command> [\fIargs\fR]
+.
+.SH "DESCRIPTION"
+\fBxkbcli\fR is a commandline tool to query, compile and test XKB keymaps, layouts and other elements\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-\-help\fR
+Print help and exit
+.
+.TP
+\fB\-\-version\fR
+Print the version and exit
+.
+.SH "COMMANDS"
+.
+.TP
+\fBhow\-to\-type\fR
+Show how to type a given unicode codepoint, see \fBxkbcli\-how\-to\-type\fR(1)
+.
+.TP
+\fBinteractive\-x11\fR
+Interactive debugger for XKB maps for X11, see \fBxbkcli\-interactive\-x11\fR(1)
+.
+.TP
+\fBinteractive\-wayland\fR
+Interactive debugger for XKB maps for Wayland, see \fBxkbcli\-interactive\-wayland\fR(1)
+.
+.TP
+\fBinteractive\-evdev\fR
+Interactive debugger for XKB maps for evdev, see \fBxkbcli\-interactive\-evdev\fR
+.
+.TP
+\fBlist\fR
+List available layouts and more, see \fBxkbcli\-list\fR(1)
+.
+.P
+Note that not all tools may be available on your system\.
+.
+.SH "EXIT STATUS"
+.
+.TP
+0
+exited successfully
+.
+.TP
+1
+an error occured
+.
+.TP
+2
+program was called with invalid arguments
+.
+.SH "SEE ALSO"
+The libxkbcommon online documentation at \fIhttps://xkbcommon\.org\fR
diff --git a/tools/xkbcli.1.ronn b/tools/xkbcli.1.ronn
deleted file mode 100644
index b6a98f0..0000000
--- a/tools/xkbcli.1.ronn
+++ /dev/null
@@ -1,53 +0,0 @@
-# xkbcli(1) - tool to interact with XKB keymaps
-
-## SYNOPSIS
-
-**xkbcli** [--help|--version] &lt;command&gt; [<args>]
-
-## DESCRIPTION
-
-**xkbcli** is a commandline tool to query, compile and test XKB keymaps,
-layouts and other elements.
-
-## OPTIONS
-
- * `--help`:
- Print help and exit
-
- * `--version`:
- Print the version and exit
-
-## COMMANDS
-
- * `how-to-type`:
- Show how to type a given unicode codepoint, see
- `xkbcli-how-to-type`(1)
-
- * `interactive-x11`:
- Interactive debugger for XKB maps for X11, see `xbkcli-interactive-x11`(1)
-
- * `interactive-wayland`:
- Interactive debugger for XKB maps for Wayland, see
- `xkbcli-interactive-wayland`(1)
-
- * `interactive-evdev`:
- Interactive debugger for XKB maps for evdev, see
- `xkbcli-interactive-evdev`
-
- * `list`:
- List available layouts and more, see `xkbcli-list`(1)
-
-Note that not all tools may be available on your system.
-
-## EXIT STATUS
-
- * 0:
- exited successfully
- * 1:
- an error occured
- * 2:
- program was called with invalid arguments
-
-## SEE ALSO
-
-The libxkbcommon online documentation at <https://xkbcommon.org>