Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

keyboard(1)

mouse(7)

pckeyboard(7)

pcmouse(7)



keyboard(7)                                                        keyboard(7)



NAME
     keyboard - keyboard specifications

DESCRIPTION
     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.  Auto-
     repeat is the only function that treats keys differently.  When auto-
     repeat is enabled, a subset of the keys repeat when held down.  Multiple
     key presses/releases result in all key transitions being reported.

   Electrical Interface
     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
________________________________
Pin | Signal | Description
________________________________
| |
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
____________________________________________________
Pin | CPU Signal | Keyboard Signal | Description
____________________________________________________
| | |
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
________________________________
Pin | Signal | Description
________________________________
| |
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
____________________________
Pin | Signal | Description
____________________________
| |
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
________________________________
| |
Pin Signal Description
____|________|__________________
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 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
_____________________________________________
Legend | Code
_____________________________________________
|
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
____________________________________
Legend | Code
____________________________________
|
**!!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
______________________________________
Legend | Code
______________________________________
|
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
____________________________________
Legend | Code
____________________________________
|
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
____________________________________
Code | Legend
____________________________________
|
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
______________________________________
Code | Legend
______________________________________
|
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
______________________________________
Code | Legend
______________________________________
|
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
____________________________________
Code | Legend
____________________________________
|
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
TRUE | BIT 0 = 0 BIT 0 = 1
_________________________________|_______________________
|
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
_________________________________
DISPLAY DESIGNATION | LABEL
_________________________________
|
ds1 NUM LOCK
|
ds2 CAPS LOCK
|
ds3 SCROLL LOCK
|
ds4 L1
|
ds5 L2
|
ds6 L3
|
ds7 | L4
NOTE 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. SEE ALSO keyboard(1), mouse(7), pckeyboard(7), pcmouse(7). Page 9

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026