Add ability to generate man page describing key code names & values

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2017-03-03 12:43:51 +00:00
parent 02fb15fb60
commit e6c3b59c19
5 changed files with 64 additions and 4 deletions

4
.gitignore vendored
View File

@ -1,7 +1,7 @@
*#*#
*.#*#
*.[18]
*.[18].in
*.[187]
*.[187].in
*.a
*.cov
*.exe

View File

@ -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

View File

@ -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

View File

@ -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 && \

View File

@ -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<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,
@ -2094,22 +2098,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.
@ -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<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
@ -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<virkeycode-rfb(7)>
=back
B<Examples>