pckeyboard(7) pckeyboard(7)
pckeyboard - keyboard specifications
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 [Toc] [Back]
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 [Toc] [Back]
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
___________________
____|______________
1 | Data
2 | Reserved
3 | Signal Ground
4 | Power +5V
5 | Clock
6 | Reserved
Software Interface [Toc] [Back]
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
_____________________________________________________
____________________________|________________________
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
______________________________________
________________________|_____________
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
_________________________________________
________________________|________________
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
_______________________________________________
__________________|____________________________
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
______________________________________
_____________|________________________
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
________________________________________
_______________|________________________
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
_______________________________________________________________
_____|_____________________________________|___________________
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
_________________________________________________
____________________|____________________________
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
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.
keyboard(1), xmodmap(1), prom(1m), keyboard(7), pcmouse(7).
PPPPaaaaggggeeee 8888 [ Back ]
|