diff options
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/xkeyboard-config/Makefile.am | 2 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/configure.in | 10 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/man/Makefile.am | 17 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/man/man.xsl | 137 |
4 files changed, 165 insertions, 1 deletions
diff --git a/xorg-server/xkeyboard-config/Makefile.am b/xorg-server/xkeyboard-config/Makefile.am index e98117e8e..943539fc6 100644 --- a/xorg-server/xkeyboard-config/Makefile.am +++ b/xorg-server/xkeyboard-config/Makefile.am @@ -1,6 +1,6 @@ AUTOMAKE_OPTIONS = foreign -SUBDIRS = compat geometry keycodes keymap po rules semantics symbols types docs +SUBDIRS = compat geometry keycodes keymap po rules semantics symbols types docs man pkgconfigdir = $(datadir)/pkgconfig pkgconfig_DATA = xkeyboard-config.pc diff --git a/xorg-server/xkeyboard-config/configure.in b/xorg-server/xkeyboard-config/configure.in index dab1b82d0..4604aee0e 100644 --- a/xorg-server/xkeyboard-config/configure.in +++ b/xorg-server/xkeyboard-config/configure.in @@ -3,6 +3,15 @@ AC_CONFIG_SRCDIR(rules/base.xml.in) AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
+# Require X.Org macros 1.12 or later for XORG_WITH_XSLTPROC
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.12 or later before
+ running autoconf/autogen])])
+XORG_MACROS_VERSION(1.12)
+XORG_MANPAGE_SECTIONS
+XORG_WITH_XSLTPROC
+AC_PROG_SED
+
AC_SUBST(VERSION)
AC_PATH_PROG([XKBCOMP], [xkbcomp], [not_found])
@@ -104,6 +113,7 @@ types/Makefile xkeyboard-config.pc
xkeyboard-config.spec
docs/Makefile
+man/Makefile
])
echo '***********************************************************'
diff --git a/xorg-server/xkeyboard-config/man/Makefile.am b/xorg-server/xkeyboard-config/man/Makefile.am new file mode 100644 index 000000000..2e9deaa48 --- /dev/null +++ b/xorg-server/xkeyboard-config/man/Makefile.am @@ -0,0 +1,17 @@ +EXTRA_DIST = man.xsl + +if HAVE_XSLTPROC +miscmandir = $(MISC_MAN_DIR) +miscman_PRE = xkeyboard-config.man +miscman_DATA = $(miscman_PRE:man=@MISC_MAN_SUFFIX@) +CLEANFILES = $(miscman_DATA) $(miscman_PRE) +SUFFIXES = .$(MISC_MAN_SUFFIX) .man +MAN_SUBSTS += -e 's|__xkb_base__|$(xkb_base)|g' + +xkeyboard-config.man: $(top_builddir)/rules/evdev.xml $(srcdir)/man.xsl + $(XSLTPROC) -nonet $(srcdir)/man.xsl $(top_builddir)/rules/evdev.xml > $@ + +.man.$(MISC_MAN_SUFFIX): + $(SED) $(MAN_SUBSTS) < $< > $@ + +endif diff --git a/xorg-server/xkeyboard-config/man/man.xsl b/xorg-server/xkeyboard-config/man/man.xsl new file mode 100644 index 000000000..a5bd14d01 --- /dev/null +++ b/xorg-server/xkeyboard-config/man/man.xsl @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > + <xsl:output method="text" encoding="UTF-8" doctype-system="xkb.dtd"/> + <xsl:template match="/xkbConfigRegistry"> + <xsl:text><![CDATA[.\" WARNING: this man page is autogenerated. Do not edit or you will lose all your changes. +.TH XKEYBOARD-CONFIG __miscmansuffix__ __vendorversion__ +.SH NAME +xkeyboard-config \- XKB data description files +.SH DESCRIPTION +xkeyboard-config provides the description files for the X Keyboard +Extension (XKB). The configuration options below are usually applied with +setxkbmap(__appmansuffix__). +.SH MODELS +.TS +left,box; +lB lB +___ +lB l. +Model Description +]]></xsl:text> + <xsl:apply-templates select="modelList"/> + <xsl:text><![CDATA[ +.TE +.SH LAYOUTS +.TS +left,box; +lB lB +____ +lB l. +Layout(Variant) Description +]]></xsl:text> + <xsl:apply-templates select="layoutList"/> + <xsl:text><![CDATA[ +.TE +.SH OPTIONS +]]></xsl:text> + <xsl:apply-templates select="optionList"/> + <xsl:text><![CDATA[ +.SH FILES +__xkb_base__/compat + +__xkb_base__/compiled + +__xkb_base__/geometry + +__xkb_base__/keycodes + +__xkb_base__/keymap + +__xkb_base__/rules + +__xkb_base__/semantics + +__xkb_base__/symbols + +__xkb_base__/types + +.SH SEE ALSO +setxkbmap(__appmansuffix__) +]]></xsl:text> + </xsl:template> + +<!-- split model/description into a normal table --> + <xsl:template match="modelList"> + <xsl:for-each select="model"> + <xsl:value-of select="configItem/name"/><xsl:text>	</xsl:text><xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:template> + +<!-- split layout/variant/description into a table like this + + layout1 description + layout1(variant1) description + layout1(variant2) description + layout2 description + layout2(variant1) description +--> + <xsl:template match="layoutList"> + <xsl:for-each select="layout"> + <xsl:value-of select="configItem/name"/> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + <xsl:for-each select="variantList/variant"> + <xsl:value-of select="../../configItem/name"/> + <xsl:text>(</xsl:text> + <xsl:value-of select="configItem/name"/> + <xsl:text>)</xsl:text> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + <xsl:text>_ </xsl:text> + </xsl:for-each> + </xsl:template> + +<!-- split option into a table like this + +option description: + optarg description + optarg description + optarg description + +option2 description: + optarg description + optarg description +--> + <xsl:template match="optionList"> + <xsl:for-each select="group"> + <xsl:text><![CDATA[ +.SS]]></xsl:text> + <xsl:text> </xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text><![CDATA[ +.BR +.TS +left,box; +lB lB +___ +lB l. +Option Description +]]></xsl:text> + <xsl:for-each select="option"> + <xsl:value-of select="configItem/name"/> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text><![CDATA[ +.TE + +]]></xsl:text> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> |