From e6c3b59c193ec1d17d72b65d460a951227c12a72 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 3 Mar 2017 12:43:51 +0000 Subject: [PATCH] Add ability to generate man page describing key code names & values Signed-off-by: Daniel P. Berrange --- .gitignore | 4 ++-- libvirt.spec.in | 1 + mingw-libvirt.spec.in | 2 ++ src/Makefile.am | 41 +++++++++++++++++++++++++++++++++++++++-- tools/virsh.pod | 20 ++++++++++++++++++++ 5 files changed, 64 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 7a1b44ab46..9c475dafa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ *#*# *.#*# -*.[18] -*.[18].in +*.[187] +*.[187].in *.a *.cov *.exe diff --git a/libvirt.spec.in b/libvirt.spec.in index 78c3c28e16..b249224289 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1777,6 +1777,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 e088dc22a5..dec799b40a 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 ebe822d9da..f68fc1de2d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -52,6 +52,8 @@ AM_LDFLAGS = $(DRIVER_MODULES_LDFLAGS) \ $(MINGW_EXTRA_LDFLAGS) \ $(NULL) +POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)" + EXTRA_DIST = $(conf_DATA) BUILT_SOURCES = @@ -219,6 +221,36 @@ util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \ mv $@-tmp $@ || rm -f $@-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 @@ -227,9 +259,16 @@ KEYTABLES = \ $(KEYNAMES:%=util/virkeynametable_%.h) \ $(NULL) +KEYPODS = $(KEYCODES:%=util/virkeycode-%.pod) \ + $(KEYNAMES:%=util/virkeyname-%.pod) +KEYMANS = $(KEYPODS:%.pod=%.7) + +man7_MANS = $(KEYMANS) + UTIL_SOURCES += $(KEYTABLES) BUILT_SOURCES += $(KEYTABLES) MAINTAINERCLEANFILES += $(KEYTABLES) +CLEANFILES += $(KEYMANS) $(KEYPODS) # Internal generic driver infrastructure DATATYPES_SOURCES = datatypes.h datatypes.c @@ -2834,8 +2873,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 e16f62f1ba..bba5fed375 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -2082,11 +2082,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 and L + =item B The numeric values are those defined by the original XT keyboard controller. No symbolic names are provided +See L + =item B The numeric values are those defined by the AT keyboard controller, @@ -2094,22 +2098,30 @@ set 1 (aka XT compatible set). Extended keycoes from B may differ from extended keycodes in the B codeset. No symbolic names are provided +See L + =item B The numeric values are those defined by the AT keyboard controller, set 2. No symbolic names are provided +See L + =item B 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 + =item B 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 and L + =item B The numeric values are those defined by the Linux KBD device. @@ -2117,17 +2129,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 + =item B 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 and L + =item B The numeric values are those defined by the USB HID specification for keyboard input. No symbolic names are provided +See L + =item B The numeric values are those defined by the RFB extension for sending @@ -2135,6 +2153,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 + =back B -- 2.47.2