130 lines
2.6 KiB
ReStructuredText
130 lines
2.6 KiB
ReStructuredText
|
.. _keyboard:
|
||
|
|
||
|
Sparc32 keyboard
|
||
|
----------------
|
||
|
SUN Type 4, 5 and 5c keyboards have dip switches to choose the language layout
|
||
|
of the keyboard. Solaris makes an ioctl to query the value of the dipswitches
|
||
|
and uses that value to select keyboard layout. Also the SUN bios like the one
|
||
|
in the file ss5.bin uses this value to support at least some keyboard layouts.
|
||
|
However, the OpenBIOS provided with qemu is hardcoded to always use an
|
||
|
US keyboard layout.
|
||
|
|
||
|
With the escc.chnA-sunkbd-layout driver property it is possible to select
|
||
|
keyboard layout. Example:
|
||
|
|
||
|
-global escc.chnA-sunkbd-layout=de
|
||
|
|
||
|
Depending on type of keyboard, the keyboard can have 6 or 5 dip-switches to
|
||
|
select keyboard layout, giving up to 64 different layouts. Not all
|
||
|
combinations are supported by Solaris and even less by Sun OpenBoot BIOS.
|
||
|
|
||
|
The dip switch settings can be given as hexadecimal number, decimal number
|
||
|
or in some cases as a language string. Examples:
|
||
|
|
||
|
-global escc.chnA-sunkbd-layout=0x2b
|
||
|
|
||
|
-global escc.chnA-sunkbd-layout=43
|
||
|
|
||
|
-global escc.chnA-sunkbd-layout=sv
|
||
|
|
||
|
The above 3 examples all select a swedish keyboard layout. Table 3-15 at
|
||
|
https://docs.oracle.com/cd/E19683-01/806-6642/new-43/index.html explains which
|
||
|
keytable file is used for different dip switch settings. The information
|
||
|
in that table can be summarized in this table:
|
||
|
|
||
|
.. list-table:: Language selection values for escc.chnA-sunkbd-layout
|
||
|
:widths: 10 10 10
|
||
|
:header-rows: 1
|
||
|
|
||
|
* - Hexadecimal value
|
||
|
- Decimal value
|
||
|
- Language code
|
||
|
* - 0x21
|
||
|
- 33
|
||
|
- en-us
|
||
|
* - 0x23
|
||
|
- 35
|
||
|
- fr
|
||
|
* - 0x24
|
||
|
- 36
|
||
|
- da
|
||
|
* - 0x25
|
||
|
- 37
|
||
|
- de
|
||
|
* - 0x26
|
||
|
- 38
|
||
|
- it
|
||
|
* - 0x27
|
||
|
- 39
|
||
|
- nl
|
||
|
* - 0x28
|
||
|
- 40
|
||
|
- no
|
||
|
* - 0x29
|
||
|
- 41
|
||
|
- pt
|
||
|
* - 0x2a
|
||
|
- 42
|
||
|
- es
|
||
|
* - 0x2b
|
||
|
- 43
|
||
|
- sv
|
||
|
* - 0x2c
|
||
|
- 44
|
||
|
- fr-ch
|
||
|
* - 0x2d
|
||
|
- 45
|
||
|
- de-ch
|
||
|
* - 0x2e
|
||
|
- 46
|
||
|
- en-gb
|
||
|
* - 0x2f
|
||
|
- 47
|
||
|
- ko
|
||
|
* - 0x30
|
||
|
- 48
|
||
|
- tw
|
||
|
* - 0x31
|
||
|
- 49
|
||
|
- ja
|
||
|
* - 0x32
|
||
|
- 50
|
||
|
- fr-ca
|
||
|
* - 0x33
|
||
|
- 51
|
||
|
- hu
|
||
|
* - 0x34
|
||
|
- 52
|
||
|
- pl
|
||
|
* - 0x35
|
||
|
- 53
|
||
|
- cz
|
||
|
* - 0x36
|
||
|
- 54
|
||
|
- ru
|
||
|
* - 0x37
|
||
|
- 55
|
||
|
- lv
|
||
|
* - 0x38
|
||
|
- 56
|
||
|
- tr
|
||
|
* - 0x39
|
||
|
- 57
|
||
|
- gr
|
||
|
* - 0x3a
|
||
|
- 58
|
||
|
- ar
|
||
|
* - 0x3b
|
||
|
- 59
|
||
|
- lt
|
||
|
* - 0x3c
|
||
|
- 60
|
||
|
- nl-be
|
||
|
* - 0x3c
|
||
|
- 60
|
||
|
- be
|
||
|
|
||
|
Not all dip switch values have a corresponding language code and both "be" and
|
||
|
"nl-be" correspond to the same dip switch value. By default, if no value is
|
||
|
given to escc.chnA-sunkbd-layout 0x21 (en-us) will be used.
|