keyboard(7) keyboard(7)
keyboard - keyboard specifications
The keyboard used on the 4D series, Indigo, Crimson and Onyx systems is
an up-down encoded 101-key keyboard.
The keyboard connects to the main electronics cabinet through a shielded
partially coiled cord and is detachable at the system cabinet only. The
mouse plugs into either side of the keyboard. Ports are provided on both
sides of the enclosure to allow access to left-handed and right-handed
mouse connectors. The keyboard cord contains low voltage direct current
power feeds and two serial links; one for the mouse and one for the
keyboard. The keyboard serial link is bidirectional, allowing for
control of indicator lights and other keyboard functions. Each time a
key is pressed or released, a code is sent via the keyboard serial link.
Every key has a different upcode and downcode. All keys function the
same way, allowing the system software to use keys in any manner. Autorepeat
is the only function that treats keys differently. When autorepeat
is enabled, a subset of the keys repeat when held down. Multiple
key presses/releases result in all key transitions being reported.
Electrical Interface [Toc] [Back]
The keyboard serial I/O interface uses RS423 levels and communicates
asynchronously to the system at 600 baud. The format used is one start
bit followed by eight data bits, an odd parity bit and one stop bit, with
one byte sent per key up or down transition. The idle state and true
data bits for the interface are Mark level or -5V, whereas false data
bits and the start bit are spaces or +5V.
The pin assignments for the keyboard connector on machines with DB-15
connectors are shown in the following table:
KEYBOARD CONNECTOR PINOUT
________________________________
____|________|__________________
1 | GND | Ground
2 | GND | Ground
3 | GND | Ground
4 | KTXD | Keyboard Transmit
5 | KRCD | Keyboard Receive
7 | +12Vdc | Power
8 | +12Vdc | Power
9 | +12Vdc | Power
10 | MTXD | Mouse Transmit
11 | NC | Reserved
12 | NC | Reserved
15 | -12Vdc | Power
The pin assignments for the DB-9 keyboard connector on the Personal IRIS
4D/20 and 4D/25 machines are shown in the following table for both the
CPU connector and the connectors on the keyboard itself. The connectors
Page 1
keyboard(7) keyboard(7)
on each side of the keyboard are identical, so the mouse can be attached
on either side.
KEYBOARD CABLE PINOUT
____________________________________________________
____|____________|_________________|________________
1 | NC | +5Vdc | Power
2 | KRCD | KTXD | Keyboard to CPU
3 | NC | -5Vdc | Power
4 | -12Vdc | -12Vdc | Power
5 | MRCD | MTXD | Mouse to CPU
6 | GND | GND | Ground
7 | +12Vdc | +12Vdc | Power
8 | KTXD | KRCD | CPU to Keyboard
9 | GND | GND | Ground
The pin assignments for the DIN-6 keyboard connector on the CPU board of
some of the newer systems are shown in the following table:
KEYBOARD CABLE PINOUT
________________________________
____|________|__________________
1 | KRCD | Keyboard Receive
2 | MRCD | Mouse Receive
3 | GND | Ground
4 | +8Vdc | Power
5 | KTXD | Keyboard Transmit
6 | -8Vdc | Power
The pin assignments for the mouse port connector (on the keyboard, not on
the CPU) for keyboards with DB9 connector are shown in the following
table; either connector on the keyboard can be used for the mouse or for
the keyboard cable.
MOUSE PORT
____________________________
____|________|______________
1 | +5V | Power
3 | -5V | Power
5 | MTXD | Transmit Data
9 | GND | Ground
For machines whose keyboards have the DIN-6 connector on the keyboard, as
well as on the CPU, the pinout is shown in the following table. The
connectors on both sides of the keyboard have identical pinout, either
can be used for the mouse and the cable to the CPU.
KEYBOARD CONNECTOR PINOUT
____|________|__________________
____|________|__________________
Page 2
keyboard(7) keyboard(7)
1 KTXD Keyboard Transmit
2 | MTXD | Mouse Transmit
3 | GND | Ground
4 | +8Vdc | Power
5 | KRCD | Keyboard Receive
6 | NC | Not Connected
Software Interface [Toc] [Back]
The interface between the keyboard and the system is 600 baud
asynchronous. The format used is one start bit followed by eight data
bits, an odd parity bit and one stop bit, with one byte sent per key up
or down transition. The MSB of the byte is a 0 for a downstroke and a 1
for an upstroke. Control bytes are sent to the keyboard with the same
speed and format. The system software does all the processing needed to
support functions such as capitalization, control characters, and numeric
lock. Auto-repeat for a specified set of characters can be turned on or
off by the system software by sending a control byte to the keyboard.
When auto-repeat is enabled, a pressed key begins auto-repeating after
0.65 seconds and repeats 28 times per second. The keyboard initializes
upon power-up. The configuration request control byte causes the
keyboard to send a two-byte sequence to the system. The second byte
contains the eight-bit value set on a DIP switch in the keyboard. All
keyboard lights (if any; some newer systems have keyboards without user
controllable lights) are controlled by the system software by sending
control bytes to the keyboard to turn them on or off. Control bytes are
also used for long and short beep control and key click disable. When
key click is enabled, the keys click when they are pressed. The long
beep duration is 1 second and the short beep duration is 0.2 second.
There are three lights labeled NUM LOCK, CAPS LOCK, and SCROLL LOCK that
are under software control. On older keyboards there are also four
general-purpose keyboard lights labeled L1 through L4. The required
keycode mappings and control byte formats are shown in the following
tables. Note that the legend names prefixed by two asterisks are
reserved and not implemented on the keyboard. Legend names prefixed by
two exclamation marks do NOT have the auto-repeat enable capability.
Legend names prefixed by two dollar signs do NOT have the key click
enable capability.
LEGENDS VS KEYCODES IN DECIMAL
_____________________________________________
________________________|____________________
AKEY | 10
BKEY | 35
CKEY | 27
DKEY | 17
EKEY | 16
FKEY | 18
GKEY | 25
HKEY | 26
IKEY | 39
Page 3
keyboard(7) keyboard(7)
JKEY 33
KKEY | 34
LKEY | 41
MKEY | 43
NKEY | 36
OKEY | 40
PKEY | 47
QKEY | 9
RKEY | 23
SKEY | 11
TKEY | 24
UKEY | 32
VKEY | 28
WKEY | 15
XKEY | 20
YKEY | 31
ZKEY | 19
ZEROKEY | 45
ONEKEY | 7
TWOKEY | 13
THREEKEY | 14
FOURKEY | 21
FIVEKEY | 22
SIXKEY | 29
SEVENKEY | 30
EIGHTKEY | 37
NINEKEY | 38
LEGENDS VS KEYCODES IN DECIMAL
____________________________________
________________________|___________
**!!BREAKKEY | 0
**!!SETUPKEY | 1
$$!!LEFTCTRL | 2
$$!!CAPSLOCKKEY | 3
$$!!RIGHTSHIFTKEY | 4
$$!!LEFTSHIFTKEY | 5
**!!NOSCRLKEY | 12
!!ESCKEY | 6
!!TABKEY | 8
RETURN.ENTER | 50
SPACEKEY | 82
**LINEFEEDKEY | 59
BACKSPACEKEY | 60
DELKEY | 61
SEMICOLONKEY | 42
PERIODKEY | 51
COMMAKEY | 44
QUOTEKEY" | 49
ACCENTGRAVEKEY~ | 54
Page 4
keyboard(7) keyboard(7)
MINUSKEY 46
VIRGULEKEY? | 52
BACKSLASHKEY | 56
EQUALKEY | 53
LEFTBRACKETKEY | 48
RIGHTBRACKETKEY | 55
LEFTARROWKEY | 72
DOWNARROWKEY | 73
RIGHTARROWKEY | 79
UPARROWKEY | 80
PAD0 | 58
PAD1 | 57
PAD2 | 63
PAD3 | 64
PAD4 | 62
PAD5 | 68
PAD6 | 69
LEGENDS VS KEYCODES IN DECIMAL
______________________________________
________________________|_____________
PAD7 | 66
PAD8 | 67
PAD9 | 74
**PADPF1 | 71
**PADPF2 | 70
**PADPF3 | 78
**PADPF4 | 77
PADPERIOD | 65
PADMINUS | 75
**PADCOMMA | 76
!!PADENTER | 81
$$!!LEFTALT | 83
$$!!RIGHTALT | 84
$$!!RIGHTCTRL | 85
F1 | 86
F2 | 87
F3 | 88
F4 | 89
F5 | 90
F6 | 91
F7 | 92
F8 | 93
F9 | 94
F10 | 95
F11 | 96
F12 | 97
!!PRINT.SCREEN | 98
$$!!SCROLL.LOCK | 99
!!PAUSE | 100
Page 5
keyboard(7) keyboard(7)
!!INSERT 101
!!HOME | 102
!!PAGEUP | 103
!!END | 104
!!PAGEDOWN | 105
$$!!NUM.LOCK | 106
PAD.BKSLASH/ | 107
LEGENDS VS KEYCODES IN DECIMAL
____________________________________
____________________________|_______
PAD.ASTER* | 108
PAD.PLUS+ | 109
config byte(1st of 2 bytes) | 110
config byte(2nd of 2 bytes) | DIP SW
GERlessThan | 111
spare1 | 112
spare2 | 113
spare3 | 114
spare4 | 115
spare6 | 117
spare7 | 118
spare8 | 119
spare9 | 120
spare10 | 121
KEYCODES IN DECIMAL VS LEGENDS
____________________________________
___________|________________________
0 | **BREAKKEY
1 | **!!SETUPKEY
2 | $$!!LEFTCTRL
3 | $$!!CAPSLOCKKEY
4 | $$!!RIGHTSHIFTKEY
5 | $$!!LEFTSHIFTKEY
6 | !!ESCKEY
7 | ONEKEY
8 | !!TABKEY
9 | QKEY
10 | AKEY
11 | SKEY
12 | **!!NOSCRLKEY
13 | TWOKEY
14 | THREEKEY
15 | WKEY
16 | EKEY
17 | DKEY
18 | FKEY
19 | ZKEY
20 | XKEY
Page 6
keyboard(7) keyboard(7)
21 FOURKEY
22 | FIVEKEY
23 | RKEY
24 | TKEY
25 | GKEY
26 | HKEY
27 | CKEY
28 | VKEY
29 | SIXKEY
30 | SEVENKEY
31 | YKEY
32 | UKEY
33 | JKEY
34 | KKEY
35 | BKEY
KEYCODES IN DECIMAL VS LEGENDS
______________________________________
_____________|________________________
36 | NKEY
37 | EIGHTKEY
38 | NINEKEY
39 | IKEY
40 | OKEY
41 | LKEY
42 | SEMICOLONKEY
43 | MKEY
44 | COMMAKEY
45 | ZEROKEY
46 | MINUSKEY
47 | PKEY
48 | LEFTBRACKET
49 | QUOTEKEY
50 | RETURN.ENTER
51 | PERIODKEY
52 | VIRGULEKEY
53 | EQUALKEY
54 | ACCENTGRAVEKEY
55 | RIGHTBRACKETKEY
56 | BACKSLASHKEY
57 | PADONEKEY
58 | PADZEROKEY
59 | **LINEFEEDKEY
60 | BACKSPACEKEY
61 | DELETEKEY
62 | PADFOURKEY
63 | PADTWOKEY
64 | PADTHREEKEY
65 | PADPERIODKEY
66 | PADSEVENKEY
Page 7
keyboard(7) keyboard(7)
67 PADEIGHTKEY
68 | PADFIVEKEY
69 | PADSIXKEY
70 | **PADPF2KEY
71 | **PADPF1KEY
KEYCODES IN DECIMAL VS LEGENDS
______________________________________
_____________|________________________
72 | LEFTARROWKEY
73 | DOWNARROWKEY
74 | PADNINEKEY
75 | PADMINUSKEY
76 | **PADCOMMAKEY
77 | **PADPF4KEY
78 | **PADPF3KEY
79 | RIGHTARROWKEY
80 | UPARROWKEY
81 | !!PADENTERKEY
82 | SPACEKEY
83 | $$!!LEFTALT
84 | $$!!RIGHTALT
85 | $$!!RIGHTCTRL
86 | F1
87 | F2
88 | F3
89 | F4
90 | F5
91 | F6
92 | F7
93 | F8
94 | F9
95 | F10
96 | F11
97 | F12
98 | !!PRINT.SCREEN
99 | $$!!SCROLL.LOCK
100 | !!PAUSE
101 | !!INSERT
102 | !!HOME
103 | !!PAGEUP
104 | !!END
105 | !!PAGEDOWN
106 | $$!!NUM.LOCK
107 | PAD.BKSLASH/
KEYCODES IN DECIMAL VS LEGENDS
____________________________________
_______|____________________________
108 | PAD.ASTER*
Page 8
keyboard(7) keyboard(7)
109 PAD.PLUS+
110 | config byte(1st of 2 bytes)
DIP SW | config byte(2nd of 2 bytes)
CONTROL BYTES RECOGNIZED BY KEYBOARD
_________________________________________________________
BIT | DESCRIPTION
_____|___________________________|_______________________
1 | short beep | complement ds1 and ds2
2 | long beep | ds3
3 | click disable | ds4
4 | return configuration byte | ds5
5 | ds1 | ds6
6 | ds2 | ds7
7 | enable auto-repeat | not used
DISPLAY LABELS
_________________________________
____________________|____________
ds1 | NUM LOCK
ds2 | CAPS LOCK
ds3 | SCROLL LOCK
ds4 | L1
ds5 | L2
ds6 | L3
ds7 | L4
Indy, Indigo2, O2, OCTANE and Onyx2 use a PS/2 style keyboard (detailed
in pckeyboard(7)) that uses a different scan code set. This difference
may break compatibility for some programs that operate with raw scan
codes.
keyboard(1), mouse(7), pckeyboard(7), pcmouse(7).
PPPPaaaaggggeeee 9999 [ Back ]
|