summaryrefslogtreecommitdiff
path: root/man/man.xsl
blob: 9e0f3bfe5f33e7288c223dbc36ea267b12931736 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?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 7 @vendorversion@
.SH NAME
xkeyboard-config \- XKB data description files
.SH DESCRIPTION
xkeyboard-config provides the description files for the X Keyboard
Extension (XKB) and for libxkbcommon. Typically it is
the task of the desktop environment to apply the
requested configuration. Users running an X server can also use the
setxkbmap(1) tool to apply keyboard configuration at runtime or configure XKB
settings in the xorg.conf(5).

.SH XKB DATA FILES LOAD PATHS

xkeyboard-config provides the XKB data files installed in
@xkb_base@. User-specific data files may be elsewhere but it depends on
the tool whether those files are loaded. For example, the libxkbcommon
library will by default load XKB data files from the user's home directory.
See the libxkbcommon documentation for details.

.SH THE "CUSTOM" LAYOUT

The "custom" layout is a layout that is listed as available to tools
reading the data files but is not actually provided by xkeyboard-config.
A user may save a layout specification in the @xkb_base@/symbols/custom file
and that layout will be available to most tools interacting with the
xkeyboard-config data files. This is primarily aimed at systems running X
where additional lookup paths cannot easily be added.
.PP
Because the "custom" layout is merely listed as available but not
provided by xkeyboard-config, the layout will not be overwritten on updates.

.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(1)
]]></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>&#9;</xsl:text><xsl:value-of select="configItem/description"/>
            <xsl:text>&#10;</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>&#9;</xsl:text>
            <xsl:value-of select="configItem/description"/>
            <xsl:text>&#10;</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>&#9;</xsl:text>
                <xsl:value-of select="configItem/description"/>
                <xsl:text>&#10;</xsl:text>
            </xsl:for-each>
            <xsl:text>&#10;</xsl:text>
            <xsl:text>_&#10;</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>&#10;</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>&#9;</xsl:text>
                <xsl:value-of select="configItem/description"/>
                <xsl:text>&#10;</xsl:text>
            </xsl:for-each>
            <xsl:text><![CDATA[
.TE

]]></xsl:text>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>