pckeyboard(7)pckeyboard(7)NAMEpckeyboard - keyboard specifications
DESCRIPTION
The Indy, Indigo2, O2, OCTANE and Onyx2 systems use an industry-standard
PC-compatible keyboard with a PS/2 style (6 pin mini-DIN) connector.
The keyboard connects to the back of the system unit with a shielded
partially coiled cord and is detachable at the system cabinet only. The
system communicates with the keyboard via a clocked serial protocol. SGI
uses keyboard scan code set 3, which sends a scan code on key press and a
"break" code followed by repeating the scan code. Every key has a unique
scan code. All keys function the same way, allowing the system software
to use keys in any manner.
Compatibility
Most PC keyboards work out of the box (they may require a 5 pin DIN to 6
pin mini-DIN) if they match the normal 101-key layout. Keyboards with
different or extra keys may require tuning of keyboard map. The
following keyboards have been tested (some only briefly) and seem to
function correctly:
SGI Indigo2 keyboards (US and several international models)
SGI Indy keyboards (US and several international models)
Kinesis ergonomic keyboard, Model 100, 110, 120 and 130
Comfort Keyboard System
IBM PS/2 Model M (P/N 1391401)
IBM 101 Key Keyboard with Trackpoint II - PS Style (P/N 92G7461)
Microsoft Natural Keyboard
Compaq enhanced II keyboard, domestic/101
Qtronix QX-601R
Some keyboards that are known not to work, or require minor changes:
Lexmark M13 (Select_ease) - Does not always power-on correctly.
See nogfxkbd option in prom(1m).
Data Hand - Newer versions are reported to work, but older
ones do not.
PC Concepts Ergonomic - does not implement scan code set 3.
Electrical Interface
The PC keyboard uses a clocked serial I/O interface. The format used is
one start bit (always false) followed by eight data bits, an odd parity
bit and one stop bit (always true). The true data bits are at least
+2.4V and less than +5.5V, while the false data bits are at least 0V and
less than +0.7V. While inactive, the clock and data lines are held high,
which indicates the keyboard has the right to send data. When the system
wishes to send data to the keyboard it holds the clock low and then
proceeds with its transmission.
Page 1
pckeyboard(7)pckeyboard(7)
The pin assignments for the system keyboard connector are shown in the
following table:
------
/ 5 3 \
| --- 1 |
| --- 2 |
\ 6 4 /
------
Pin Assignments
___________________
Pin Description
___________________
1 Data
2 Reserved
3 Signal Ground
4 Power +5V
5 Clock
6 Reserved
|
Software Interface
System software interfaces to a PC keyboard controller that maintains the
clocked serial protocol with keyboard. SGI uses keyboard scan code set
3, which sends a scan code on key press and a "break" code followed by
repeating the scan code. The system software does all the processing
needed to support functions such as capitalization, control characters,
and numeric lock. Variable speed hardware auto-repeat for a specified
set of characters is supported and is used in standalone mode, while IRIX
manages auto-repeat in software. The default hardware auto-repeat begins
after 500 milliseconds and repeats at a rate of 10.9 characters per
second. There are three lights labeled NUM LOCK, CAPS LOCK, and SCROLL
LOCK that are under software control. The scan codes sent by the
standard 101 key American keyboard are in the following tables. Note
that the legend names prefixed by two asterisks are only found on 102 key
International keyboards.
LEGENDS VS KEYCODES IN HEXADECIMAL
_____________________________________________________
Legend Code
_____________________________________________________
AKEY 1C
BKEY 32
CKEY 21
DKEY 23
EKEY 24
FKEY 2B
GKEY 34
HKEY 33
IKEY 43
JKEY 3B
KKEY 42
|
Page 2
pckeyboard(7)pckeyboard(7)
LKEY 4B
MKEY 3A
NKEY 31
OKEY 44
PKEY 4D
QKEY 15
RKEY 2D
SKEY 1B
TKEY 2C
UKEY 3C
VKEY 2A
WKEY 1D
XKEY 22
YKEY 35
ZKEY 1A
ZEROKEY 45
ONEKEY 16
TWOKEY 1E
THREEKEY 26
FOURKEY 25
FIVEKEY 2E
SIXKEY 36
SEVENKEY 3D
EIGHTKEY 3E
NINEKEY 46
|
LEGENDS VS KEYCODES IN DECIMAL
______________________________________
Legend Code
______________________________________
LEFTCTRL 11
CAPSLOCKKEY 14
RIGHTSHIFTKEY 59
LEFTSHIFTKEY 12
ESCKEY 08
TABKEY 0D
ENTER 5A
SPACEKEY 29
BACKSPACEKEY 66
DELKEY 64
SEMICOLONKEY 4C
PERIODKEY 49
COMMAKEY 41
QUOTEKEY" 52
ACCENTGRAVEKEY~ 0E
MINUSKEY 4E
SLASHKEY 4A
BACKSLASHKEY 5C
EQUALKEY 55
LEFTBRACKETKEY 54
RIGHTBRACKETKEY 5B
|
Page 3
pckeyboard(7)pckeyboard(7)
LEFTARROWKEY 61
DOWNARROWKEY 60
RIGHTARROWKEY 6A
UPARROWKEY 63
PAD0 70
PAD1 69
PAD2 72
PAD3 7A
PAD4 6B
PAD5 73
PAD6 74
PAD7 6C
PAD8 75
PAD9 7D
|
LEGENDS VS KEYCODES IN DECIMAL
_________________________________________
Legend Code
_________________________________________
PADPERIOD 71
PADMINUS 84
PADENTER 79
LEFTALT 19
RIGHTALT 39
RIGHTCTRL 58
F1 07
F2 0F
F3 17
F4 1F
F5 27
F6 2F
F7 37
F8 3F
F9 47
F10 4F
F11 56
F12 5E
PRINT.SCREEN 57
SCROLL.LOCK 5F
PAUSE 62
INSERT 67
HOME 6E
PAGEUP 6F
END 65
PAGEDOWN 6D
NUM.LOCK 76
PAD.SLASH 77
PAD.ASTER 7E
PAD.PLUS 7C
**INTL.left 13
**INTL.right 53
|
Page 4
pckeyboard(7)pckeyboard(7)
|
KEYCODES IN HEXADECIMAL VS LEGENDS
_______________________________________________
Code Legend
_______________________________________________
07 F1
08 ESCKEY
0D TABKEY
0E ACCENTGRAVEKEY
0F F2
11 LEFTCTRL
12 LEFTSHIFTKEY
13 **INTL.left
14 CAPSLOCKKEY
15 QKEY
16 ONEKEY
17 F3
19 LEFTALT
1A ZKEY
1B SKEY
1C AKEY
1D WKEY
1E TWOKEY
1F F4
21 CKEY
22 XKEY
23 DKEY
24 EKEY
25 FOURKEY
26 THREEKEY
27 F5
29 SPACEKEY
2A VKEY
2B FKEY
2C TKEY
2D RKEY
2E FIVEKEY
2F F6
31 NKEY
32 BKEY
33 HKEY
|
KEYCODES IN DECIMAL VS LEGENDS
______________________________________
Code Legend
______________________________________
34 GKEY
35 YKEY
36 SIXKEY
37 F7
39 RIGHTALT
|
Page 5
pckeyboard(7)pckeyboard(7)
3A MKEY
3B JKEY
3C UKEY
3D SEVENKEY
3E EIGHTKEY
3F F8
41 COMMAKEY
42 KKEY
43 IKEY
44 OKEY
45 ZEROKEY
46 NINEKEY
47 F9
49 PERIODKEY
4A SLASHKEY
4B LKEY
4C SEMICOLONKEY
4D PKEY
4E MINUSKEY
4F F10
52 QUOTEKEY"
53 **INTL.right
54 LEFTBRACKETKEY
55 EQUALKEY
56 F11
57 PRINT.SCREEN
58 RIGHTCTRL
59 RIGHTSHIFTKEY
5A ENTER
5B RIGHTBRACKETKEY
5C BACKSLASHKEY
|
KEYCODES IN DECIMAL VS LEGENDS
________________________________________
Code Legend
________________________________________
5E F12
5F SCROLL.LOCK
60 DOWNARROWKEY
61 LEFTARROWKEY
62 PAUSE
63 UPARROWKEY
64 DELKEY
65 END
66 BACKSPACEKEY
67 INSERT
69 PAD1
6A RIGHTARROWKEY
6B PAD4
6C PAD7
6D PAGEDOWN
|
Page 6
pckeyboard(7)pckeyboard(7)
6E HOME
6F PAGEUP
70 PAD0
71 PADPERIOD
72 PAD2
73 PAD5
74 PAD6
75 PAD8
76 NUM.LOCK
77 PAD.SLASH
79 PADENTER
7A PAD3
7C PAD.PLUS
7D PAD9
7E PAD.ASTER
84 PADMINUS
|
CONTROL BYTES RECOGNIZED BY KEYBOARD
_______________________________________________________________
Byte Command Additional Data
_______________________________________________________________
0xED Set Status Indicators LED bitmask
0xEE Echo
0xEF Invalid Command
0xF0 Select Alternate Scan Codes Scan code set
0xF1 Invalid Command
0xF2 Read ID
0xF3 Set Typematic Rate/Delay Encoded rate/delay
0xF4 Enable
0xF5 Default Disable
0xF6 Set Default
0xF7 Set All Keys - Typematic
0xF8 Set All Keys - Make/Break
0xF8 Set All Keys - Make
0xFA Set All Keys - Typematic/Make/Break Scan code
0xFB Set All Key Type - Typematic Scan code
0xFC Set All Key Type - Make/Break Scan code
0xFD Set All Key Type - Make
0xFE Resend
0xFF Reset
|
|
CONTROL BYTES SENT BY KEYBOARD
_________________________________________________
DISPLAY DESIGNATION LABEL
_________________________________________________
0x00 Key Detection Error/Overrun
0x83 0xAB Keyboard ID
0xAA BAT Completion Code
0xFC BAT Failure Code
0xEE Echo
0xF0 Break (key-up)
0xFA Acknowledge (ACK)
|
Page 7
pckeyboard(7)pckeyboard(7)
0xFE Resend
0xFF Key Detection Error/Overrun
|
NOTE
Some Silicon Graphics systems use a serial keyboard interface (detailed
in keyboard(7)) that uses a different scan code set. This difference may
break compatibility for some programs that operate with raw scan codes.
SEE ALSOkeyboard(1), xmodmap(1), prom(1m), keyboard(7), pcmouse(7).
Page 8