Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
libvirt.spec.in | 1 +
mingw-libvirt.spec.in | 2 ++
src/Makefile.am | 42 +++++++++++++++++++++++++++++++++++++++---
tools/virsh.pod | 20 ++++++++++++++++++++
4 files changed, 62 insertions(+), 3 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 7f3d18f..374d37f 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1759,6 +1759,7 @@ exit 0
%{_mandir}/man8/libvirtd.8*
%{_mandir}/man8/virtlogd.8*
%{_mandir}/man8/virtlockd.8*
+%{_mandir}/man7/virkey*.7*
%doc examples/polkit/*.rules
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index e088dc2..dec799b 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -259,6 +259,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw32_mandir}/man1/virt-admin.1*
%{mingw32_mandir}/man1/virt-xml-validate.1*
%{mingw32_mandir}/man1/virt-pki-validate.1*
+%{mingw32_mandir}/man7/virkey*.7*
%files -n mingw32-libvirt-static
%{mingw32_libdir}/libvirt.a
@@ -343,6 +344,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw64_mandir}/man1/virt-admin.1*
%{mingw64_mandir}/man1/virt-xml-validate.1*
%{mingw64_mandir}/man1/virt-pki-validate.1*
+%{mingw64_mandir}/man7/virkey*.7*
%files -n mingw64-libvirt-static
%{mingw64_libdir}/libvirt.a
diff --git a/src/Makefile.am b/src/Makefile.am
index 24c1a0e..a2b1b24 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -50,6 +50,8 @@ AM_LDFLAGS = $(DRIVER_MODULES_LDFLAGS) \
$(MINGW_EXTRA_LDFLAGS) \
$(NULL)
+POD2MAN = pod2man -c "Virtualization Support" -r
"$(PACKAGE)-$(VERSION)"
+
EXTRA_DIST = $(conf_DATA)
BUILT_SOURCES =
@@ -212,15 +214,51 @@ util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
$@-tmp && mv $@-tmp $@ || rm $@-tmp
+util/virkeycode-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
+ $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
+ $(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycode-,,' \
+ -e 's,\.pod,,'` && \
+ $(MKDIR_P) util/ && \
+ $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
+ --lang pod --varname "Key code values for $$NAME" code-docs \
+ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
+ $@-tmp && mv $@-tmp $@ || rm $@-tmp
+
+util/virkeyname-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
+ $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
+ $(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeyname-,,' \
+ -e 's,\.pod,,'` && \
+ $(MKDIR_P) util/ && \
+ $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
+ --lang pod --varname "Key name values for $$NAME" name-docs \
+ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
+ $@-tmp && mv $@-tmp $@ || rm $@-tmp
+
+util/virkey%.7: util/virkey%.pod
+ $(AM_V_GEN)$(POD2MAN) --section=7 $< $@-t1 && \
+ if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
+ sed \
+ -e 's|SYSCONFDIR|\@sysconfdir\@|g' \
+ -e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
+ < $@-t1 > $@-t2 && \
+ rm -f $@-t1 && \
+ mv $@-t2 $@
+
KEYCODES = linux osx atset1 atset2 atset3 xt xtkbd usb win32 rfb
KEYNAMES = linux osx win32
KEYTABLES = $(KEYCODES:%=util/virkeycodetable_%.h) \
$(KEYNAMES:%=util/virkeynametable_%.h)
+KEYPODS = $(KEYCODES:%=util/virkeycode-%.pod) \
+ $(KEYNAMES:%=util/virkeyname-%.pod)
+KEYMANS = $(KEYPODS:%.pod=%.7)
+
+man7_MANS = $(KEYMANS)
+
UTIL_SOURCES += $(KEYTABLES)
BUILT_SOURCES += $(KEYTABLES)
-MAINTAINERCLEANFILES += $(KEYTABLES)
+MAINTAINERCLEANFILES += $(KEYTABLES) $(KEYMANS) $(KEYPODS)
# Internal generic driver infrastructure
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
@@ -2797,8 +2835,6 @@ virtlogd.init: logging/virtlogd.init.in
$(top_builddir)/config.status
chmod a+x $@-t && \
mv $@-t $@
-POD2MAN = pod2man -c "Virtualization Support" -r
"$(PACKAGE)-$(VERSION)"
-
virtlockd.8.in: locking/virtlockd.pod
$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 6c06ee0..c1a6015 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -2062,11 +2062,15 @@ The numeric values are those defined by the Linux generic input
event subsystem. The symbolic names match the corresponding
Linux key constant macro names.
+See L<virkeycode-linux(7)> and L<virkeyname-linux(7)>
+
=item B<xt>
The numeric values are those defined by the original XT keyboard
controller. No symbolic names are provided
+See L<virkeycode-xt(7)>
+
=item B<atset1>
The numeric values are those defined by the AT keyboard controller,
@@ -2074,22 +2078,30 @@ set 1 (aka XT compatible set). Extended keycoes from
B<atset1>
may differ from extended keycodes in the B<xt> codeset. No symbolic
names are provided
+See L<virkeycode-atset1(7)>
+
=item B<atset2>
The numeric values are those defined by the AT keyboard controller,
set 2. No symbolic names are provided
+See L<virkeycode-atset2(7)>
+
=item B<atset3>
The numeric values are those defined by the AT keyboard controller,
set 3 (aka PS/2 compatible set). No symbolic names are provided
+See L<virkeycode-atset3(7)>
+
=item B<os_x>
The numeric values are those defined by the OS-X keyboard input
subsystem. The symbolic names match the corresponding OS-X key
constant macro names
+See L<virkeycode-osx(7)> and L<virkeyname-osx(7)>
+
=item B<xt_kbd>
The numeric values are those defined by the Linux KBD device.
@@ -2097,17 +2109,23 @@ These are a variant on the original XT codeset, but often with
different encoding for extended keycodes. No symbolic names are
provided.
+See L<virkeycode-xtkbd(7)>
+
=item B<win32>
The numeric values are those defined by the Win32 keyboard input
subsystem. The symbolic names match the corresponding Win32 key
constant macro names
+See L<virkeycode-win32(7)> and L<virkeyname-win32(7)>
+
=item B<usb>
The numeric values are those defined by the USB HID specification
for keyboard input. No symbolic names are provided
+See L<virkeycode-usb(7)>
+
=item B<rfb>
The numeric values are those defined by the RFB extension for sending
@@ -2115,6 +2133,8 @@ raw keycodes. These are a variant on the XT codeset, but extended
keycodes have the low bit of the second byte set, instead of the high
bit of the first byte. No symbolic names are provided.
+See L<virkeycode-rfb(7)>
+
=back
B<Examples>
--
2.9.3