manual: rewrite in BSD-style mdoc(7) semantic markup

Providing greatly enhanced manual searching on all supported platforms.

+ adapt to xorg autoconfiguration and only four supported platforms
+ crossreference setxkbmap, as that's likely what most readers want
+ mention Xorg server in description for apropos(1) clarity
+ remove platform structure macros as use case has narrowed
+ remove HAL/FDI, that hasn't existed in awhile

With love from Worthington, Ohio, and from the FreeBSD community.
This commit is contained in:
Alexander Ziaee
2024-06-07 00:17:50 -04:00
committed by Enrico Weigelt, metux IT consult
parent d65e33572b
commit 2a0cd036a2

View File

@@ -1,136 +1,135 @@
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH KBD __drivermansuffix__ __vendorversion__
.SH NAME
kbd \- Keyboard input driver
.SH SYNOPSIS
.nf
.B "Section \*qInputDevice\*q"
.BI " Identifier \*q" idevname \*q
.B " Driver \*qkbd\*q"
\ \ ...
.B EndSection
.fi
.SH DESCRIPTION
.B kbd
is an __xservername__ input driver for keyboards. The driver supports the standard
OS-provided keyboard interface, but these are currently only available to
this driver module for GNU Hurd, BSD, and Solaris. This driver is the
replacement for the built-in
.B keyboard
driver formerly included in __xservername__.
.PP
The
.B kbd
driver functions as a keyboard input device.
.SH CONFIGURATION DETAILS
.PP
Depending on the X server version in use, input device options may be set
in either a __xconfigfile__ file, an xorg.conf.d snippet, or in the
configuration files read by the Hardware Abstraction Layer (HAL) daemon,
hald(1).
.PP
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details and for options that can be used with all input drivers. This
section only covers configuration details specific to this driver.
.PP
The following driver
.B Options
are supported:
.TP 7
.BI "Option \*qDevice\*q \*q" string \*q
Specify the keyboard device. Default: the OS's default console keyboard
input source. Property: "Device Node" (read-only).
.TP 7
.BI "Option \*qProtocol\*q \*q" string \*q
Specify the keyboard protocol. Valid protocol types include:
.PP
.RS 12
Standard, Xqueue.
.RE
.PP
.RS 7
Not all protocols are supported on all platforms. Default: "Standard".
.RE
.TP 7
.BI "Option \*qXLeds\*q \*q" ledlist \*q
makes the keyboard LEDs specified in
.I ledlist
available for client use instead of their traditional function
(Scroll Lock, Caps Lock and Num Lock). The numbers in the list are
in the range 1 to 3. Default: empty list.
.TP 7
.BI "Option \*qXkbRules\*q \*q" rules \*q
specifies which XKB rules file to use for interpreting the
.BR XkbModel ,
.BR XkbLayout ,
.BR XkbVariant ,
and
.B XkbOptions
settings. Default: "base" for most platforms.
If you use the "base" value then you can
find listing of all valid values for these four options in the
.I
__xkb_path__/rules/base.lst
file.
.TP 7
.BI "Option \*qXkbModel\*q \*q" modelname \*q
specifies the XKB keyboard model name. Default: "pc105" for most platforms.
.TP 7
.BI "Option \*qXkbLayout\*q \*q" layoutname \*q
specifies the XKB keyboard layout name. This is usually the country or
language type of the keyboard. Default: "us" for most platforms.
.TP 7
.BI "Option \*qXkbVariant\*q \*q" variants \*q
specifies the XKB keyboard variant components. These can be used to
enhance the keyboard layout details. Default: not set.
.TP 7
.BI "Option \*qXkbOptions\*q \*q" options \*q
specifies the XKB keyboard option components. These can be used to
enhance the keyboard behaviour. Default: not set.
.PP
For a list of available XKB options, see
.B xkeyboard-config(__miscmansuffix__).
.SH EXAMPLE
The following xorg.conf fragment ensures that user will be able to switch between
.I us
and
.I sk
layouts by pressing the "menu" key. The scroll lock LED shows which layout
is currently active.
.PP
The
.B XkbVariant
option defines which variants of the two layouts should be used. In case of the
.I us
layout
its default variant is used. In case of the
.I sk
layout
its
.I qwerty
variant is used.
.PP
.nf
.RS 4
Section \*qInputDevice\*q
.RS 4
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "base"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,sk"
Option "XkbVariant" ",qwerty"
Option "XkbOptions" "grp:menu_toggle,grp_led:scroll"
.RE
.Dd June 8, 2024
.Dt KBD 4
.Os
.Sh NAME
.Nm kbd
.Nd Xorg keyboard input driver
.Sh SYNOPSIS
.Bd -literal
Section "InputDevice"
Identifier "idevname"
Driver "kbd"
...
EndSection
.RE
.fi
.SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__),
Xserver(__appmansuffix__), X(__miscmansuffix__).
hal(__miscmansuffix__), hald(__adminmansuffix__), fdi(__filemansuffix__).
xkeyboard-config(__miscmansuffix__).
.Ed
.Sh DESCRIPTION
.Nm
is an
.Xr Xorg 1
server input driver for keyboards.
The driver provides a keyboard input device supporting the standard
OS-provided keyboard interface on BSD, Hurd, illumos, and Solaris.
.Ss CONFIGURATION
The
.Xr Xorg 1
server automatically configures itself if no configuration is set.
If desired, input device options may be set in either a
.Xr xorg.conf 5
file, or an
.Pa xorg.conf.d
snippet.
.Pp
Please refer to
.Xr xorg.conf 5
for general configuration details and for
options that can be used with all input drivers.
This section only covers configuration details specific to this driver.
.Pp
The following driver options are supported:
.Bl -tag -width indent
.It Ic Option Do Cm Device Dc Do Ar string Dc
Specify the keyboard device.
Default: the OS's default console keyboard input source.
Property:
.Dq Device Node
.Pq read-only .
.It Ic Option Do Cm Protocol Dc Do Ar string Dc
Specify the keyboard protocol.
Valid protocol types include:
.Pp
.Dv Standard , Dv Xqueue .
.Pp
Not all protocols are supported on all platforms.
Default:
.Dq Dv Standard .
.It Ic Option Do Cm XLeds Dc Do Ar ledlist Dc
Make the keyboard LEDs specified in ledlist available for client use
instead of their traditional functions
.Pq Scroll Lock, Caps Lock, and Num Lock .
The numbers in this list are in the range of 1 to 3.
Default: empty list.
.It Ic Option Do Cm XkbRules Dc Do Ar rules Dc
Specify which XKB rules file to use for interpreting the
.Cm XkbModel , Cm XkbLayout , Cm XkbVariant , No and Cm XkbOptions
settings.
Default:
.Dq Dv base
for most platforms.
If you use the
.Dq Dv base
value then you can find listing of all valid values
for these four options in the
.Pa __xkb_path__/rules/base.lst
file.
.It Ic Option Do Cm XkbModel Dc Do Ar modelname Dc
Specify the XKB keyboard model name.
Default:
.Dq Dv pc105
for most platforms.
.It Ic Option Do Cm XkbLayout Dc Do Ar Layoutname Dc
Specify the XKB kayboard layout name.
This is usually the country or language type of the keyboard.
Default:
.Dq Dv us
for most platforms.
.It Ic Option Do Cm XkbOptions Dc Do Ar options Dc
Specify the XKB keyboard option componenets.
These can be used to enhance the keyboard behavior.
Default: not set.
.El
.Pp
For a list of available xkb options, see
.Xr xkeyboard-config 7 .
.Sh EXAMPLES
The following
.Xr xorg.conf 5
fragment ensures that user will be able to switch between
.Dv us
and
.Dv sk
layouts by pressing the
.Dq menu
key.
The Scroll Lock LED shows which layout is currently active.
.Pp
The
.Cm XkbVariant
option defines which variants of the two layouts should be used.
In case of the us layout its default variant is used.
In case of the sk layout its qwerty variant is used.
.Bd -literal
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "base"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,sk"
Option "XkbVariant" ",qwerty"
Option "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection
.Ed
.Sh SEE ALSO
.Xr setxkbmap 1 ,
.Xr Xorg 1 ,
.Xr xorg.conf 5 ,
.Xr X 7 ,
.Xr xkeyboard-config 7
.Sh HISTORY
The
.Nm
driver is a replacement for the built-in
.Sy keyboard
driver formerly included in the
.Sy XFree86
server.