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
|
.\" $OpenBSD: pckbd.4,v 1.12 2002/03/27 18:10:38 millert Exp $
.\" $NetBSD: pckbd.4,v 1.3 1999/12/21 11:31:07 drochner Exp $
.\"
.Dd March 20, 1999
.Dt PCKBD 4
.Os
.Sh NAME
.Nm pckbd
.Nd PC keyboard driver for wscons
.Sh SYNOPSIS
.Cd pckbc* at isa?
.Cd pckbc* at ebus?
.Cd pckbd* at pckbc?
.Cd wskbd* at pckbd? console ?
.Cd option PCKBD_LAYOUT=XXX
.Sh DESCRIPTION
This driver supports PC/AT keyboards within the
.Xr wscons 4
console framework.
It doesn't provide direct device driver entry points but makes its
functions available via the internal
.Xr wskbd 4
interface.
.Pp
The
.Nm
driver supports a number of different key mappings which
can be chosen from with the kernel option
.Dq PCKBD_LAYOUT
at compile time or with the utility
.Xr wsconsctl 8
(variable:
.Dq keyboard.encoding
) at runtime.
Other mappings can be used if the whole keymap is replaced by means of
.Xr wsconsctl 8 .
The built-in mappings are at this time:
.Bl -hang
.It KB_DE
(
.Dq de
) German with
.Dq dead accents .
.It KB_DK
(
.Dq dk
) Danish with
.Dq dead accents .
.It KB_FR
(
.Dq fr
) French.
.It KB_IT
(
.Dq it
) Italian.
.It KB_JP
(
.Dq jp
) Japanese.
.It KB_RU
(
.Dq ru
) Russian in
.Dq KOI8 .
.It KB_SF
(
.Dq sf
) Swiss French with
.Dq dead accents .
.It KB_SG
(
.Dq sg
) Swiss German with
.Dq dead accents .
.It KB_SV
(
.Dq sv
) Swedish with
.Dq dead accents .
.It KB_PT
(
.Dq pt
) Portuguese with
.Dq dead accents .
.It KB_UA
(
.Dq ua
) Ukrainian in
.Dq KOI8 .
.It KB_UK
(
.Dq uk
) British.
.It KB_US
(for wsconsctl:
.Dq us
) English / US keyboard mapping (default).
.It KB_US | KB_DECLK
(
.Dq us.declk
) English / US mapping for
.Tn DEC
LK400-style keyboards with PC keyboard interface (eg LK461).
.It KB_US | KB_DVORAK
(
.Dq us.dvorak
) English / US keyboard with
.Dq Dvorak
layout.
.El
.Pp
The KB_DE, KB_DK and KB_SV mappings can be used in the KB_NODEAD (
.Dq .nodead
) variant.
This switches off the
.Dq dead accents .
.Pp
The KB_US, KB_JP and KB_US | KB_DVORAK mappings can be modified
to swap the left CNTL and the CAPS LOCK keys by the
KB_SWAPCTRLCAPS variant bit or the
.Dq .swapctrlcaps
suffix.
.Pp
The KB_METAESC (
.Dq .metaesc
) option can be applied to any layout.
If set, keys pressed together
with the ALT modifier are prefixed by an ESC character.
(Standard behaviour is to add 128 to the ASCII value.)
.Pp
Because PC keyboard hardware doesn't contain a beeper, requests for
.Dq keyboard beeps
cannot be handled directly.
On alpha and i386 a helper device attached to the pcppi
driver allows to use the standard ISA speaker for this purpose.
.Sh EXAMPLES
To set a german keyboard layout without
.Dq dead accents
and sending an ESC character before the key symbol if the ALT
key is pressed simultaneously, use
.Ic wsconsctl -w keyboard.encoding=de.nodead.metaesc .
To set it at kernel build time, add
.Em option PCKBD_LAYOUT="(KB_DE|KB_NODEAD|KB_METAESC)"
to the kernel configuration file.
.Sh SEE ALSO
.Xr isa 4 ,
.Xr pckbc 4 ,
.Xr wskbd 4 ,
.Xr wsconsctl 8
.Sh BUGS
The list of built-in mappings doesn't follow any logics.
It grew as people submitted what they needed.
|