xref: /qemu/docs/system/devices/keyboard.rst (revision 47d183b7a8db1693e9cb342fb66b61809765872b)
1*6b90a4cdSHenrik Carlqvist.. _keyboard:
2*6b90a4cdSHenrik Carlqvist
3*6b90a4cdSHenrik CarlqvistSparc32 keyboard
4*6b90a4cdSHenrik Carlqvist----------------
5*6b90a4cdSHenrik CarlqvistSUN Type 4, 5 and 5c keyboards have dip switches to choose the language layout
6*6b90a4cdSHenrik Carlqvistof the keyboard. Solaris makes an ioctl to query the value of the dipswitches
7*6b90a4cdSHenrik Carlqvistand uses that value to select keyboard layout. Also the SUN bios like the one
8*6b90a4cdSHenrik Carlqvistin the file ss5.bin uses this value to support at least some keyboard layouts.
9*6b90a4cdSHenrik CarlqvistHowever, the OpenBIOS provided with qemu is hardcoded to always use an
10*6b90a4cdSHenrik CarlqvistUS keyboard layout.
11*6b90a4cdSHenrik Carlqvist
12*6b90a4cdSHenrik CarlqvistWith the escc.chnA-sunkbd-layout driver property it is possible to select
13*6b90a4cdSHenrik Carlqvistkeyboard layout. Example:
14*6b90a4cdSHenrik Carlqvist
15*6b90a4cdSHenrik Carlqvist-global escc.chnA-sunkbd-layout=de
16*6b90a4cdSHenrik Carlqvist
17*6b90a4cdSHenrik CarlqvistDepending on type of keyboard, the keyboard can have 6 or 5 dip-switches to
18*6b90a4cdSHenrik Carlqvistselect keyboard layout, giving up to 64 different layouts. Not all
19*6b90a4cdSHenrik Carlqvistcombinations are supported by Solaris and even less by Sun OpenBoot BIOS.
20*6b90a4cdSHenrik Carlqvist
21*6b90a4cdSHenrik CarlqvistThe dip switch settings can be given as hexadecimal number, decimal number
22*6b90a4cdSHenrik Carlqvistor in some cases as a language string. Examples:
23*6b90a4cdSHenrik Carlqvist
24*6b90a4cdSHenrik Carlqvist-global escc.chnA-sunkbd-layout=0x2b
25*6b90a4cdSHenrik Carlqvist
26*6b90a4cdSHenrik Carlqvist-global escc.chnA-sunkbd-layout=43
27*6b90a4cdSHenrik Carlqvist
28*6b90a4cdSHenrik Carlqvist-global escc.chnA-sunkbd-layout=sv
29*6b90a4cdSHenrik Carlqvist
30*6b90a4cdSHenrik CarlqvistThe above 3 examples all select a swedish keyboard layout. Table 3-15 at
31*6b90a4cdSHenrik Carlqvisthttps://docs.oracle.com/cd/E19683-01/806-6642/new-43/index.html explains which
32*6b90a4cdSHenrik Carlqvistkeytable file is used for different dip switch settings. The information
33*6b90a4cdSHenrik Carlqvistin that table can be summarized in this table:
34*6b90a4cdSHenrik Carlqvist
35*6b90a4cdSHenrik Carlqvist.. list-table:: Language selection values for escc.chnA-sunkbd-layout
36*6b90a4cdSHenrik Carlqvist   :widths: 10 10 10
37*6b90a4cdSHenrik Carlqvist   :header-rows: 1
38*6b90a4cdSHenrik Carlqvist
39*6b90a4cdSHenrik Carlqvist   * - Hexadecimal value
40*6b90a4cdSHenrik Carlqvist     - Decimal value
41*6b90a4cdSHenrik Carlqvist     - Language code
42*6b90a4cdSHenrik Carlqvist   * - 0x21
43*6b90a4cdSHenrik Carlqvist     - 33
44*6b90a4cdSHenrik Carlqvist     - en-us
45*6b90a4cdSHenrik Carlqvist   * - 0x23
46*6b90a4cdSHenrik Carlqvist     - 35
47*6b90a4cdSHenrik Carlqvist     - fr
48*6b90a4cdSHenrik Carlqvist   * - 0x24
49*6b90a4cdSHenrik Carlqvist     - 36
50*6b90a4cdSHenrik Carlqvist     - da
51*6b90a4cdSHenrik Carlqvist   * - 0x25
52*6b90a4cdSHenrik Carlqvist     - 37
53*6b90a4cdSHenrik Carlqvist     - de
54*6b90a4cdSHenrik Carlqvist   * - 0x26
55*6b90a4cdSHenrik Carlqvist     - 38
56*6b90a4cdSHenrik Carlqvist     - it
57*6b90a4cdSHenrik Carlqvist   * - 0x27
58*6b90a4cdSHenrik Carlqvist     - 39
59*6b90a4cdSHenrik Carlqvist     - nl
60*6b90a4cdSHenrik Carlqvist   * - 0x28
61*6b90a4cdSHenrik Carlqvist     - 40
62*6b90a4cdSHenrik Carlqvist     - no
63*6b90a4cdSHenrik Carlqvist   * - 0x29
64*6b90a4cdSHenrik Carlqvist     - 41
65*6b90a4cdSHenrik Carlqvist     - pt
66*6b90a4cdSHenrik Carlqvist   * - 0x2a
67*6b90a4cdSHenrik Carlqvist     - 42
68*6b90a4cdSHenrik Carlqvist     - es
69*6b90a4cdSHenrik Carlqvist   * - 0x2b
70*6b90a4cdSHenrik Carlqvist     - 43
71*6b90a4cdSHenrik Carlqvist     - sv
72*6b90a4cdSHenrik Carlqvist   * - 0x2c
73*6b90a4cdSHenrik Carlqvist     - 44
74*6b90a4cdSHenrik Carlqvist     - fr-ch
75*6b90a4cdSHenrik Carlqvist   * - 0x2d
76*6b90a4cdSHenrik Carlqvist     - 45
77*6b90a4cdSHenrik Carlqvist     - de-ch
78*6b90a4cdSHenrik Carlqvist   * - 0x2e
79*6b90a4cdSHenrik Carlqvist     - 46
80*6b90a4cdSHenrik Carlqvist     - en-gb
81*6b90a4cdSHenrik Carlqvist   * - 0x2f
82*6b90a4cdSHenrik Carlqvist     - 47
83*6b90a4cdSHenrik Carlqvist     - ko
84*6b90a4cdSHenrik Carlqvist   * - 0x30
85*6b90a4cdSHenrik Carlqvist     - 48
86*6b90a4cdSHenrik Carlqvist     - tw
87*6b90a4cdSHenrik Carlqvist   * - 0x31
88*6b90a4cdSHenrik Carlqvist     - 49
89*6b90a4cdSHenrik Carlqvist     - ja
90*6b90a4cdSHenrik Carlqvist   * - 0x32
91*6b90a4cdSHenrik Carlqvist     - 50
92*6b90a4cdSHenrik Carlqvist     - fr-ca
93*6b90a4cdSHenrik Carlqvist   * - 0x33
94*6b90a4cdSHenrik Carlqvist     - 51
95*6b90a4cdSHenrik Carlqvist     - hu
96*6b90a4cdSHenrik Carlqvist   * - 0x34
97*6b90a4cdSHenrik Carlqvist     - 52
98*6b90a4cdSHenrik Carlqvist     - pl
99*6b90a4cdSHenrik Carlqvist   * - 0x35
100*6b90a4cdSHenrik Carlqvist     - 53
101*6b90a4cdSHenrik Carlqvist     - cz
102*6b90a4cdSHenrik Carlqvist   * - 0x36
103*6b90a4cdSHenrik Carlqvist     - 54
104*6b90a4cdSHenrik Carlqvist     - ru
105*6b90a4cdSHenrik Carlqvist   * - 0x37
106*6b90a4cdSHenrik Carlqvist     - 55
107*6b90a4cdSHenrik Carlqvist     - lv
108*6b90a4cdSHenrik Carlqvist   * - 0x38
109*6b90a4cdSHenrik Carlqvist     - 56
110*6b90a4cdSHenrik Carlqvist     - tr
111*6b90a4cdSHenrik Carlqvist   * - 0x39
112*6b90a4cdSHenrik Carlqvist     - 57
113*6b90a4cdSHenrik Carlqvist     - gr
114*6b90a4cdSHenrik Carlqvist   * - 0x3a
115*6b90a4cdSHenrik Carlqvist     - 58
116*6b90a4cdSHenrik Carlqvist     - ar
117*6b90a4cdSHenrik Carlqvist   * - 0x3b
118*6b90a4cdSHenrik Carlqvist     - 59
119*6b90a4cdSHenrik Carlqvist     - lt
120*6b90a4cdSHenrik Carlqvist   * - 0x3c
121*6b90a4cdSHenrik Carlqvist     - 60
122*6b90a4cdSHenrik Carlqvist     - nl-be
123*6b90a4cdSHenrik Carlqvist   * - 0x3c
124*6b90a4cdSHenrik Carlqvist     - 60
125*6b90a4cdSHenrik Carlqvist     - be
126*6b90a4cdSHenrik Carlqvist
127*6b90a4cdSHenrik CarlqvistNot all dip switch values have a corresponding language code and both "be" and
128*6b90a4cdSHenrik Carlqvist"nl-be" correspond to the same dip switch value. By default, if no value is
129*6b90a4cdSHenrik Carlqvistgiven to escc.chnA-sunkbd-layout 0x21 (en-us) will be used.
130