KB(4M) — DEVICES AND NETWORK INTERFACES
NAME
kb − Sun keyboard STREAMS module
CONFIG
pseudo-device kbnumber
SYNOPSIS
#include <sys/stream.h>
#include <sys/stropt.h>
#include <sundev/vuid_event.h>
#include <sundev/kbio.h>
#include <sundev/kbd.h>
ioctl(fd, I_PUSH, “kb”);
DESCRIPTION
The kb STREAMS module processes byte streams generated by Sun keyboards attached to a CPU serial or parallel port. Definitions for altering keyboard translation, and reading events from the keyboard, are in <sundev/kbio.h> and <sundev/kbd.h>. number specifies the maximum number of keyboards supported by the system.
kb recognizes which keys have been typed using a set of tables for each known type of keyboard. Each translation table is an array of 128 bytes (unsigned characters). If a character value is less than 0x80, it is treated as an ASCII character (perhaps with the META bit included). Higher values indicate special characters that invoke more complicated actions.
Keyboard Translation State
The keyboard can be in one of the following translation modes:
TR_NONE Keyboard translation is turned off and up/down key codes are reported.
TR_ASCII ASCII codes are reported.
TR_EVENT firm_events (see The SunView System Programmer’s Guide — Appendix: Writing a Virtual User Input Device Driver) are reported.
TR_UNTRANS_EVENT
firm_events containing unencoded keystation codes are reported for all input events within the window system.
Keyboard Translation-Table Entries
All instances of the kb module share five translation tables used to convert raw keystation codes to event values. The tables are:
Unshifted Used when a key is depressed and no shifts are in effect.
Shifted Used when a key is depressed and a Shift key is being held down.
Caps Lock Used when a key is depressed and Caps Lock is in effect.
Controlled Used when a key is depressed and the Control key is being held down (regardless of whether a Shift key is being held down or Caps Lock is in effect).
Key Up Used when a key is released.
Each key on the keyboard has a “key station” code which is a number from 0 to 127. This number is used as an index into the translation table that is currently in effect. If the corresponding entry in that translation table is a value from 0 to 127, this value is treated as an ASCII character, and that character is the result of the translation.
If the entry is a value from 128 to 255, it is a “special” entry. Special entry values are classified according to the value of the high-order bits. The high-order value for each class is defined as a constant, as shown in the list below. The value of the low-order bits, when added to this constant, distinguishes between keys within each class:
SHIFTKEYS 0x80 A shift key. The value of the particular shift key is added to determine which shift mask to apply:
CAPSLOCK 0 “Caps Lock” key.
SHIFTLOCK 1 “Shift Lock” key.
LEFTSHIFT 2 Left-hand “Shift” key.
RIGHTSHIFT 3 Right-hand “Shift” key.
LEFTCTRL 4 Left-hand (or only) “Control” key.
RIGHTCTRL 5 Right-hand “Control” key.
BUCKYBITS 0x90 Used to toggle mode-key-up/down status without altering the value of an accompanying ASCII character. (The actual bit-position value, minus 7, is added.)
METABIT 0 The “Meta” key was pressed along with the key. This is the only user-accessible bucky bit.
SYSTEMBIT 1 The “System” key was pressed. This is a place holder to indicate which key is the system-abort key.
FUNNY 0xA0 Performs various functions depending on the value of the low 4 bits:
NOP 0xA0 Does nothing.
OOPS 0xA1 Exists, but is undefined.
HOLE 0xA2 There is no key in this position on the keyboard, and the position-code should not be used.
NOSCROLL 0xA3 Alternately sends ^S and ^Q.
CTRLS 0xA4 Sends ^S and toggles NOSCROLL key.
CTRLQ 0xA5 Sends ^Q and toggles NOSCROLL key.
RESET 0xA6 Keyboard reset.
ERROR 0xA7 The keyboard driver detected an internal error.
IDLE 0xA8 The keyboard is idle (no keys down).
0xA9 — 0xAF Reserved for nonparameterized functions.
STRING 0xB0 The low-order bits index a table of strings. When a key with a STRING entry is depressed, the characters in the null-terminated string for that key are sent, character by character. The maximum length is defined as:
KTAB_STRLEN 10
Individual string numbers are defined as:
HOMEARROW 0x00
UPARROW 0x01
DOWNARROW 0x02
LEFTARROW 0x03
RIGHTARROW 0x04
String numbers 0x05 — 0x0F are available for custom entries.
LEFTFUNC 0xC0
RIGHTFUNC 0xD0
TOPFUNC 0xE0
BOTTOMFUNC 0xF0 Function keys. The low 4 bits indicate the function key number within the group:
LF(n) (LEFTFUNC+(n)-1)
RF(n) (RIGHTFUNC+(n)-1)
TF(n) (TOPFUNC+(n)-1)
BF(n) (BOTTOMFUNC+(n)-1)
There are 64 keys reserved for function keys. The actual positions may not be on left/right/top/bottom of the keyboard, although they usually are.
In TR_ASCII mode, when a function key is pressed, the following escape sequence is sent:
<ESC>[0....9z
where <ESC> is a single escape character and “0...9” indicates the decimal representation of the function-key value. For example, function key R1 sends the sequence:
<ESC>[208z
because the decimal value of RF(1) is 208. In TR_EVENT mode, if there is a VUID event code for the function key in question, an event with that event code is generated; otherwise, individual events for the characters of the escape sequence are generated.
IOCTLS
Two ioctls set and retrieve the current translation mode of a keyboard:
KIOCTRANS The argument is a pointer to an int. The translation mode is set to the value in the int pointed to by the argument.
KIOCGTRANS
The argument is a pointer to an int. The current translation mode is stored in the int pointed to by the argument.
ioctls for changing and retrieving entries from the keyboard translation table use the kiockey structure:
structkiockey {
intkio_tablemask;/∗ Translation table (one of: 0, CAPSMASK,
SHIFTMASK, CTRLMASK, UPMASK) ∗/
#define KIOCABORT1-1/∗ Special “mask”: abort1 keystation ∗/
#define KIOCABORT2-2/∗ Special “mask”: abort2 keystation ∗/
u_charkio_station;/∗ Physical keyboard key station (0-127) ∗/
u_charkio_entry;/∗ Translation table station’s entry ∗/
charkio_string[10];/∗ Value for STRING entries (null terminated) ∗/
};
KIOCSETKEY The argument is a pointer to a kiockey structure. The translation table entry referred to by the values in that structure is changed.
kio_tablemask specifies which of the five translation tables contains the entry to be modified:
UPMASK 0x0080 “Key Up” translation table.
CTRLMASK 0x0030 “Controlled” translation table.
SHIFTMASK 0x000E “Shifted” translation table.
CAPSMASK 0x0001 “Caps Lock” translation table.
(No shift keys pressed or locked)
“Unshifted” translation table.
kio_station specifies the keystation code for the entry to be modified. The value of kio_entry is stored in the entry in question. If kio_entry is between STRING and STRING+15, the string contained in kio_string is copied to the appropriate string table entry. This call may return EINVAL if there are invalid arguments.
There are a couple special values of kio_tablemask that affect the two step “break to the PROM monitor” sequence. The usual sequence is SETUP−a or L1−a. If kio_tablemask is KIOCABORT1 then the value of kio_station is set to be the first keystation in the sequence. If kio_tablemask is KIOCABORT2 then the value of kio_station is set to be the second keystation in the sequence.
KIOCGETKEY
The argument is a pointer to a kiockey structure. The current value of the keyboard translation table entry specified by kio_tablemask and kio_station is stored in the structure pointed to by the argument. This call may return EINVAL if there are invalid arguments.
KIOCTYPE The argument is a pointer to an int. A code indicating the type of the keyboard is stored in the int pointed to by the argument:
KB_KLUNK Micro Switch 103SD32-2
KB_VT100 Keytronics VT100 compatible
KB_SUN2 Sun-2 keyboard
KB_SUN3 Type 3 keyboard
KB_SUN4 Type 4 keyboard
KB_ASCII ASCII terminal masquerading as keyboard
−1 is stored in the int pointed to by the argument if the keyboard type is unknown.
KIOCCMD The argument is a pointer to an int. The command specifed by the value of the int pointed to by the argument is sent to the keyboard. The commands that can be sent are:
Commands to the Sun-2, Type 3, and Type 4 keyboard:
KBD_CMD_RESET
Reset keyboard as if power-up.
KBD_CMD_BELL Turn on the bell.
KBD_CMD_NOBELL
Turn off the bell
Commands to the Type 3 and Type 4 keyboard:
KBD_CMD_CLICK
Turn on the click annunciator.
KBD_CMD_NOCLICK
Turn off the click annunciator.
Inappropriate commands for particular keyboard types are ignored. Since there is no reliable way to get the state of the bell or click (because we cannot query the keyboard, and also because a process could do writes to the appropriate serial driver — thus going around this ioctl) we do not provide an equivalent ioctl to query its state.
KIOCSDIRECT
KIOCGDIRECT
These ioctls are supported for compatibility with the system keyboard device /dev/kbd. KIOCSDIRECT has no effect, and KIOCGDIRECT always returns 1.
INDEX STRUCTURES
There is a hierarchy of structures for accessing keyboard translation data. The array keytables contains pointers to the translation data for each of the known keyboard types:
struct keyboard ∗keytables[] = {
&keyindex_ms,
&keyindex_vt,
&keyindex_s2,
&keyindex_s3,
};
Each keyboard type is described by a struct keyboard that contains pointers to the five translation-tables (“Unshifted”, “Shifted”, “Caps Locked” “Controlled”, and “Key Up”) associated with that type, plus bit-masks that indicate what state can persist with no keys pressed, and the key-pair used as the abort sequence for the system.
An array keystringtab contains the strings sent by various keys, and can be accessed by any translation:
#define kstescinit(c) {’\033’, ’[’, ’c’, ’\0’}
char keystringtab[16][KTAB_STRLEN] = {
kstescinit(H),/∗home∗/
kstescinit(A),/∗up∗/
kstescinit(B),/∗down∗/
kstescinit(D),/∗left∗/
kstescinit(C),/∗right∗/
};
Index Structure for the Type 4 Keyboard
/∗ Index to keymaps for Type 4 keyboard ∗/
static struct keyboard keyindex_s4 = {
&keytab_s4_lc,
&keytab_s4_uc,
&keytab_s4_cl,
&keytab_s4_ct,
&keytab_s4_up,
0x0000,/∗ Shift bits which stay on with idle keyboard ∗/
0x0000,/∗ Bucky bits which stay on with idle keyboard ∗/
1,77, /∗ abort keys ∗/
CAPSMASK,/∗ Shift bits which toggle on down event ∗/
};
Index Structure for the Type 3 Keyboard
static struct keyboard keyindex_s3 = {
&keytab_s3_lc,
&keytab_s3_uc,
&keytab_s3_cl,
&keytab_s3_ct,
&keytab_s3_up,
0x0000, /∗ Shift bits that stay on with idle keyboard ∗/
0x0000, /∗ Bucky bits that stay on with idle keyboard ∗/
0x01, 0x4d, /∗ Abort sequence L1-A ∗/
CAPSMASK,/∗ Shift bits that toggle on down event ∗/
};
Index Structure for the Sun-2 Keyboard
static struct keyboard keyindex_s2 = {
&keytab_s2_lc,
&keytab_s2_uc,
&keytab_s2_cl,
&keytab_s2_ct,
&keytab_s2_up,
CAPSMASK,/∗ Shift bits that stay on with idle keyboard ∗/
0x0000, /∗ Bucky bits that stay on with idle keyboard ∗/
0x01, 0x4d, /∗ Abort sequence L1-A ∗/
0x0000, /∗ Shift bits that toggle on down event ∗/
};
Index Structure for the Micro Switch 103SD32-2 Keyboard
static struct keyboard keyindex_ms = {
&keytab_ms_lc,
&keytab_ms_uc,
&keytab_ms_cl,
&keytab_ms_ct,
&keytab_ms_up,
CTLSMASK,/∗ Shift bits that stay on with idle keyboard ∗/
0x0000, /∗ Bucky bits that stay on with idle keyboard ∗/
0x01, 0x4d, /∗ Abort sequence L1-A ∗/
0x0000, /∗ Shift bits that toggle on down event ∗/
};
Index Structure for the VT100-Style Keyboard
static struct keyboard keyindex_vt = {
&keytab_vt_lc,
&keytab_vt_uc,
&keytab_vt_cl,
&keytab_vt_ct,
&keytab_vt_up,
CAPSMASK+CTLSMASK,/∗ Shift keys that stay on with idle keyboard ∗/
0x0000, /∗ Bucky bits that stay on with idle keyboard ∗/
0x01, 0x3b, /∗ Abort sequence SETUP-A ∗/
0x0000, /∗ Shift bits that toggle on down event ∗/
};
DEFAULT TRANSLATION TABLES
Type 4 Keyboard
Unshifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (10) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | TF(11) | 0A | TF(4) | 0B | TF(12) | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’1’ | 1F | ’2’ |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’-’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | BF(13) | 31 | LF(5) | 32 | BF(10) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’q’ | 37 | ’w’ |
| 38 | ’e’ | 39 | ’r’ | 3A | ’t’ | 3B | ’y’ | 3C | ’u’ | 3D | ’i’ | 3E | ’o’ | 3F | ’p’ |
| 40 | ’[’ | 41 | ’]’ | 42 | 0x7F | 43 | OOPS | 44 | RF(7) | 45 | STRING+ | 46 | RF(9) | 47 | BF (15) |
| (temp) | UPARROW | ||||||||||||||
| 48 | LF(7) | 49 | LF (8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’a’ | 4E | ’s’ | 4F | ’d’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’f’ | 51 | ’g’ | 52 | ’h’ | 53 | ’j’ | 54 | ’k’ | 55 | ’l’ | 56 | ’;’ | 57 | ’\” |
| 58 | ’\\’ | 59 | ’\r’ | 5A | BF(11) | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | BF(8) | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | HOLE | 61 | LF(10) | 62 | BF (16) | 63 | SHIFTKEYS+ | 64 | ’z’ | 65 | ’x’ | 66 | ’c’ | 67 | ’v’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’b’ | 69 | ’n’ | 6A | ’m’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF(15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | LF (16) | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | BF (14) | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 4 Keyboard
Shifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (10) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | TF(11) | 0A | TF(4) | 0B | TF(12) | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’!’ | 1F | ’@’ |
| 20 | ’#’ | 21 | ’$’ | 22 | ’%’ | 23 | ’^’ | 24 | ’&’ | 25 | ’∗’ | 26 | ’ (’ | 27 | ’)’ |
| 28 | ’_’ | 29 | ’+’ | 2A | ’~’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | BF(13) | 31 | LF(5) | 32 | BF(10) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’{’ | 41 | ’}’ | 42 | 0x7F | 43 | OOPS | 44 | RF(7) | 45 | STRING+ | 46 | RF(9) | 47 | BF (15) |
| (temp) | UPARROW | ||||||||||||||
| 48 | LF(7) | 49 | LF (8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’:’ | 57 | ’"’ |
| 58 | ’|’ | 59 | ’\r’ | 5A | BF(11) | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | BF(8) | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | HOLE | 61 | LF(10) | 62 | BF (16) | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’<’ | 6C | ’>’ | 6D | ’?’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF(15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | LF (16) | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | BF (14) | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 4 Keyboard
Caps Locked
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (10) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | TF(11) | 0A | TF(4) | 0B | TF(12) | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’1’ | 1F | ’2’ |
| 21 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’-’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | BF(23) | 32 | LF(5) | 32 | BF(20) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’[’ | 41 | ’]’ | 43 | 0x7F | 43 | OOPS | 44 | RF(7) | 45 | STRING+ | 46 | RF(9) | 47 | BF (15) |
| (temp) | UPARROW | ||||||||||||||
| 48 | LF(7) | 49 | LF (8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’;’ | 57 | ’\” |
| 58 | ’\\’ | 59 | ’\r’ | 5A | BF(11) | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | BF(8) | 5F | LF (9) |
| LEFTARROW | RIGHTARRROW | ||||||||||||||
| 60 | HOLE | 61 | LF(10) | 62 | BF (16) | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF(15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | LF (16) | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | BF (14) | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 4 Keyboard
Controlled
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (10) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | TF(11) | 0A | TF(4) | 0B | TF(12) | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c(’[’) | 1E | ’1’ | 1F | c (’@’) |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | c (’^’) | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | c(’_’) | 29 | ’=’ | 2A | c(’^’) | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | BF(13) | 31 | LF(5) | 32 | BF(10) | 33 | LF(6) | 34 | HOLE | 35 | ’\t’ | 36 | c(’q’) | 37 | c (’w’) |
| 38 | c(’e’) | 39 | c(’r’) | 3A | c(’t’) | 3B | c(’y’) | 3C | c(’u’) | 3D | c(’i’) | 3E | c(’o’) | 3F | c (’p’) |
| 40 | c(’[’) | 41 | c(’]’) | 42 | 0x7F | 43 | OOPS | 44 | RF(7) | 45 | STRING+ | 46 | RF(9) | 47 | BF (15) |
| (temp) | UPARROW | ||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | c(’a’) | 4E | c(’s’) | 4F | c (’d’) |
| LEFTCTRL | |||||||||||||||
| 50 | c(’f’) | 51 | c(’g’) | 52 | c(’h’) | 53 | c(’j’) | 54 | c(’k’) | 55 | c (’l’) | 56 | ’;’ | 57 | ’\” |
| 58 | c(’\\’) | 59 | ’\r’ | 5A | BF(11) | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | BF(8) | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | HOLE | 61 | LF(10) | 62 | BF(16) | 63 | SHIFTKEYS+ | 64 | c(’z’) | 65 | c(’x’) | 66 | c(’c’) | 67 | c (’v’) |
| LEFTSHIFT | |||||||||||||||
| 68 | c(’b’) | 69 | c(’n’) | 6A | c(’m’) | 6B | ’,’ | 6C | ’.’ | 6D | c (’_’) | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF(15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | LF (16) | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | c(’ ’) | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | BF (14) | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 4 Keyboard
Key Up
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | OOPS | 04 | HOLE | 05 | OOPS | 06 | OOPS | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | OOPS | 09 | HOLE | 0A | OOPS | 0B | HOLE | 0C | OOPS | 0D | HOLE | 0E | OOPS | 0F | HOLE |
| 10 | OOPS | 11 | OOPS | 12 | OOPS | 13 | OOPS | 14 | HOLE | 15 | OOPS | 16 | OOPS | 17 | NOP |
| 18 | HOLE | 19 | OOPS | 1A | OOPS | 1B | HOLE | 1C | HOLE | 1D | NOP | 1E | NOP | 1F | NOP |
| 20 | NOP | 21 | NOP | 22 | NOP | 23 | NOP | 24 | NOP | 25 | NOP | 26 | NOP | 27 | NOP |
| 28 | NOP | 29 | NOP | 2A | NOP | 2B | NOP | 2C | HOLE | 2D | OOPS | 2E | OOPS | 2F | NOP |
| 30 | HOLE | 31 | OOPS | 32 | HOLE | 33 | OOPS | 34 | HOLE | 35 | NOP | 36 | NOP | 37 | NOP |
| 38 | NOP | 39 | NOP | 3A | NOP | 3B | NOP | 3C | NOP | 3D | NOP | 3E | NOP | 3F | NOP |
| 40 | NOP | 41 | NOP | 42 | NOP | 43 | HOLE | 44 | OOPS | 45 | OOPS | 46 | NOP | 47 | HOLE |
| 48 | OOPS | 49 | OOPS | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | NOP | 4E | NOP | 4F | NOP |
| LEFTCTRL | |||||||||||||||
| 50 | NOP | 51 | NOP | 52 | NOP | 53 | NOP | 54 | NOP | 55 | NOP | 56 | NOP | 57 | NOP |
| 58 | NOP | 59 | NOP | 5A | HOLE | 5B | OOPS | 5C | OOPS | 5D | NOP | 5E | HOLE | 5F | OOPS |
| 60 | OOPS | 61 | OOPS | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | NOP | 65 | NOP | 66 | NOP | 67 | NOP |
| LEFTSHIFT | |||||||||||||||
| 68 | NOP | 69 | NOP | 6A | NOP | 6B | NOP | 6C | NOP | 6D | NOP | 6E | SHIFTKEYS+ | 6F | NOP |
| RIGHTSHIFT | |||||||||||||||
| 70 | OOPS | 71 | OOPS | 72 | NOP | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | NOP |
| 78 | BUCKYBITS+ | 79 | NOP | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | RESET |
| METABIT | METABIT |
Type 3 Keyboard
Unshifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF (2) | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | HOLE | 0A | TF(4) | 0B | HOLE | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’1’ | 1F | ’2’ |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | HOLE | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’q’ | 37 | ’w’ |
| 38 | ’e’ | 39 | ’r’ | 3A | ’t’ | 3B | ’y’ | 3C | ’u’ | 3D | ’i’ | 3E | ’o’ | 3F | ’p’ |
| 40 | ’[’ | 41 | ’]’ | 42 | 0x7F | 43 | HOLE | 45 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | LF (40) | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’a’ | 4E | ’s’ | 4F | ’d’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’f’ | 51 | ’g’ | 52 | ’h’ | 53 | ’j’ | 54 | ’k’ | 55 | ’l’ | 56 | ’;’ | 57 | ’\´’ |
| 58 | ’\’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’z’ | 65 | ’x’ | 66 | ’c’ | 67 | ’v’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’b’ | 69 | ’n’ | 6A | ’m’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 3 Keyboard
Shifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF (2) | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | HOLE | 0A | TF(4) | 0B | HOLE | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’!’ | 1F | ’@’ |
| 20 | ’#’ | 21 | ’$’ | 22 | ’%’ | 23 | ’^’ | 24 | ’&’ | 25 | ’∗’ | 26 | ’ (’ | 27 | ’)’ |
| 28 | ’_’ | 29 | ’+’ | 2A | ’~’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | HOLE | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’{’ | 41 | ’}’ | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF (8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’:’ | 57 | ’"’ |
| 58 | ’|’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’<’ | 6C | ’>’ | 6D | ’?’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 3 Keyboard
Caps Locked
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF (2) | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | HOLE | 0A | TF(4) | 0B | HOLE | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c (’[’) | 1E | ’1’ | 1F | ’2’ |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | HOLE | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’[’ | 41 | ’]’ | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF (8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’;’ | 57 | ’\´’ |
| 58 | ’\’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 3 Keyboard
Controlled
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF (2) | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(3) | 09 | HOLE | 0A | TF(4) | 0B | HOLE | 0C | TF(5) | 0D | HOLE | 0E | TF (6) | 0F | HOLE |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | ALT | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | HOLE | 1C | HOLE | 1D | c(’[’) | 1E | ’1’ | 1F | c (’@’) |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | c (’^’) | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | c(’_’) | 29 | ’=’ | 2A | c(’^’) | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | HOLE | 33 | LF(6) | 34 | HOLE | 35 | ’\t’ | 36 | c(’q’) | 37 | c (’w’) |
| 38 | c(’e’) | 39 | c(’r’) | 3A | c(’t’) | 3B | c(’y’) | 3C | c(’u’) | 3D | c(’i’) | 3E | c(’o’) | 3F | c (’p’) |
| 40 | c(’[’) | 41 | c(’]’) | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | c(’a’) | 4E | c(’s’) | 4F | c (’d’) |
| LEFTCTRL | |||||||||||||||
| 50 | c(’f’) | 51 | c(’g’) | 52 | c(’h’) | 53 | c(’j’) | 54 | c(’k’) | 55 | c (’l’) | 56 | ’;’ | 57 | ’\´’ |
| 58 | c(’\’) | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF(10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | c(’z’) | 65 | c(’x’) | 66 | c(’c’) | 67 | c (’v’) |
| LEFTSHIFT | |||||||||||||||
| 68 | c(’b’) | 69 | c(’n’) | 6A | c(’m’) | 6B | ’,’ | 6C | ’.’ | 6D | c (’_’) | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | SHIFTKEYS+ |
| DOWNARROW | CAPSLOCK | ||||||||||||||
| 78 | BUCKYBITS+ | 79 | c (’ ’) | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Type 3 Keyboard
Key Up
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | OOPS | 04 | HOLE | 05 | OOPS | 06 | OOPS | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | OOPS | 09 | HOLE | 0A | OOPS | 0B | HOLE | 0C | OOPS | 0D | HOLE | 0E | OOPS | 0F | HOLE |
| 10 | OOPS | 11 | OOPS | 12 | OOPS | 13 | OOPS | 14 | HOLE | 15 | OOPS | 16 | OOPS | 17 | NOP |
| 18 | HOLE | 19 | OOPS | 1A | OOPS | 1B | HOLE | 1C | HOLE | 1D | NOP | 1E | NOP | 1F | NOP |
| 20 | NOP | 21 | NOP | 22 | NOP | 23 | NOP | 24 | NOP | 25 | NOP | 26 | NOP | 27 | NOP |
| 28 | NOP | 29 | NOP | 2A | NOP | 2B | NOP | 2C | HOLE | 2D | OOPS | 2E | OOPS | 2F | NOP |
| 30 | HOLE | 31 | OOPS | 32 | HOLE | 33 | OOPS | 34 | HOLE | 35 | NOP | 36 | NOP | 37 | NOP |
| 38 | NOP | 39 | NOP | 3A | NOP | 3B | NOP | 3C | NOP | 3D | NOP | 3E | NOP | 3F | NOP |
| 40 | NOP | 41 | NOP | 42 | NOP | 43 | HOLE | 44 | OOPS | 45 | OOPS | 46 | NOP | 47 | HOLE |
| 48 | OOPS | 49 | OOPS | 4A | HOLE | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | NOP | 4E | NOP | 4F | NOP |
| LEFTCTRL | |||||||||||||||
| 50 | NOP | 51 | NOP | 52 | NOP | 53 | NOP | 54 | NOP | 55 | NOP | 56 | NOP | 57 | NOP |
| 58 | NOP | 59 | NOP | 5A | HOLE | 5B | OOPS | 5C | OOPS | 5D | NOP | 5E | HOLE | 5F | OOPS |
| 60 | OOPS | 61 | OOPS | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | NOP | 65 | NOP | 66 | NOP | 67 | NOP |
| LEFTSHIFT | |||||||||||||||
| 68 | NOP | 69 | NOP | 6A | NOP | 6B | NOP | 6C | NOP | 6D | NOP | 6E | SHIFTKEYS+ | 6F | NOP |
| RIGHTSHIFT | |||||||||||||||
| 70 | OOPS | 71 | OOPS | 72 | NOP | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | NOP |
| 78 | BUCKYBITS+ | 79 | NOP | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | RESET |
| METABIT | METABIT |
Sun-2 Keyboard
Unshifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(11) | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (11) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF (3) | 09 | TF(12) | 0A | TF(4) | 0B | TF(13) | 0C | TF(5) | 0D | TF(14) | 0E | TF(6) | 0F | TF(15) |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | TF(10) | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | LF(12) | 1C | HOLE | 1D | c(’[’) | 1E | ’1’ | 1F | ’2’ |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | LF(13) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’q’ | 37 | ’w’ |
| 38 | ’e’ | 39 | ’r’ | 3A | ’t’ | 3B | ’y’ | 3C | ’u’ | 3D | ’i’ | 3E | ’o’ | 3F | ’p’ |
| 40 | ’[’ | 41 | ’]’ | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | LF (14) | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’a’ | 4E | ’s’ | 4F | ’d’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’f’ | 51 | ’g’ | 52 | ’h’ | 53 | ’j’ | 54 | ’k’ | 55 | ’l’ | 56 | ’;’ | 57 | ’\´’ |
| 58 | ’\’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’z’ | 65 | ’x’ | 66 | ’c’ | 67 | ’v’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’b’ | 69 | ’n’ | 6A | ’m’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| DOWNARROW | |||||||||||||||
| 70 | BUCKYBITS+ | 71 | ’ ’ | 72 | BUCKYBITS+ | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | ERROR | 77 | IDLE |
| METABIT | METABIT |
Sun-2 Keyboard
Shifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(11) | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (11) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF (3) | 00 | TF(12) | 0A | TF(4) | 0B | TF(13) | 0C | TF(5) | 0D | TF(14) | 0E | TF(6) | 0F | TF(15) |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | TF(10) | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | LF(12) | 1C | HOLE | 1D | c(’[’) | 1E | ’!’ | 1F | ’@’ |
| 20 | ’#’ | 21 | ’$’ | 22 | ’%’ | 23 | ’^’ | 24 | ’&’ | 25 | ’∗’ | 26 | ’ (’ | 27 | ’)’ |
| 28 | ’_’ | 29 | ’+’ | 2A | ’~’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | LF(13) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’{’ | 41 | ’}’ | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | LF (14) | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’:’ | 57 | ’"’ |
| 58 | ’|’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’<’ | 6C | ’>’ | 6D | ’?’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| DOWNARROW | |||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Sun-2 Keyboard
Caps Locked
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(11) | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (11) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF (3) | 09 | TF(12) | 0A | TF(4) | 0B | TF(13) | 0C | TF(5) | 0D | TF(14) | 0E | TF(6) | 0F | TF(15) |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | TF(10) | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | LF(12) | 1C | HOLE | 1D | c(’[’) | 1E | ’1’ | 1F | ’2’ |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’=’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | LF(13) | 33 | LF (6) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’[’ | 41 | ’]’ | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | LF (14) | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTCTRL | |||||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’;’ | 57 | ’\” |
| 58 | ’\’ | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF (10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | ’Z’ | 65 | ’X’ | 66 | ’C’ | 67 | ’V’ |
| LEFTSHIFT | |||||||||||||||
| 68 | ’B’ | 69 | ’N’ | 6A | ’M’ | 6B | ’,’ | 6C | ’.’ | 6D | ’/’ | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| DOWNARROW | |||||||||||||||
| 78 | BUCKYBITS+ | 79 | ’ ’ | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Sun-2 Keyboard
Controlled
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(11) | 03 | LF(2) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (11) |
| 08 | TF(3) | 09 | TF(12) | 0A | TF(4) | 0B | TF(13) | 0C | TF(5) | 0D | TF(14) | 0E | TF(6) | 0F | TF (15) |
| 10 | TF(7) | 11 | TF(8) | 12 | TF(9) | 13 | TF(10) | 14 | HOLE | 15 | RF(1) | 16 | RF(2) | 17 | RF (3) |
| 18 | HOLE | 19 | LF(3) | 1A | LF(4) | 1B | LF(12) | 1C | HOLE | 1D | c(’[’) | 1E | ’1’ | 1F | c(’@’) |
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | c (’^’) | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | c(’_’) | 29 | ’=’ | 2A | c(’^’) | 2B | ’\b’ | 2C | HOLE | 2D | RF(4) | 2E | RF(5) | 2F | RF (6) |
| 30 | HOLE | 31 | LF(5) | 32 | LF(13) | 33 | LF(6) | 34 | HOLE | 35 | ’\t’ | 36 | c(’q’) | 37 | c (’w’) |
| 38 | c(’e’) | 39 | c(’r’) | 3A | c(’t’) | 3B | c(’y’) | 3C | c(’u’) | 3D | c(’i’) | 3E | c(’o’) | 3F | c (’p’) |
| 40 | c(’[’) | 41 | c(’]’) | 42 | 0x7F | 43 | HOLE | 44 | RF(7) | 45 | STRING+ | 46 | RF (9) | 47 | HOLE |
| UPARROW | |||||||||||||||
| 48 | LF(7) | 49 | LF(8) | 4A | LF(14) | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | c(’a’) | 4E | c(’s’) | 4F | c (’d’) |
| LEFTCTRL | |||||||||||||||
| 50 | c(’f’) | 51 | c(’g’) | 52 | c(’h’) | 53 | c(’j’) | 54 | c(’k’) | 55 | c (’l’) | 56 | ’;’ | 57 | ’\´’ |
| 58 | c(’\’) | 59 | ’\r’ | 5A | HOLE | 5B | STRING+ | 5C | RF(11) | 5D | STRING+ | 5E | HOLE | 5F | LF (9) |
| LEFTARROW | RIGHTARROW | ||||||||||||||
| 60 | LF(15) | 61 | LF(10) | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | c(’z’) | 65 | c(’x’) | 66 | c(’c’) | 67 | c (’v’) |
| LEFTSHIFT | |||||||||||||||
| 68 | c(’b’) | 69 | c(’n’) | 6A | c(’m’) | 6B | ’,’ | 6C | ’.’ | 6D | c (’_’) | 6E | SHIFTKEYS+ | 6F | ’\n’ |
| RIGHTSHIFT | |||||||||||||||
| 70 | RF(13) | 71 | STRING+ | 72 | RF (15) | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| DOWNARROW | |||||||||||||||
| 78 | BUCKYBITS+ | 79 | c (’ ’) | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | ERROR | 7F | IDLE |
| METABIT | METABIT |
Sun-2 Keyboard
Key Up
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | OOPS | 03 | OOPS | 04 | HOLE | 05 | OOPS | 06 | OOPS | 07 | OOPS |
| SYSTEMBIT | |||||||||||||||
| 08 | OOPS | 09 | OOPS | 0A | OOPS | 0B | OOPS | 0C | OOPS | 0D | OOPS | 0E | OOPS | 0F | OOPS |
| 10 | OOPS | 11 | OOPS | 12 | OOPS | 13 | OOPS | 14 | HOLE | 15 | OOPS | 16 | OOPS | 17 | NOP |
| 18 | HOLE | 19 | OOPS | 1A | OOPS | 1B | OOPS | 1C | HOLE | 1D | NOP | 1E | NOP | 1F | NOP |
| 20 | NOP | 21 | NOP | 22 | NOP | 23 | NOP | 24 | NOP | 25 | NOP | 26 | NOP | 27 | NOP |
| 28 | NOP | 29 | NOP | 2A | NOP | 2B | NOP | 2C | HOLE | 2D | OOPS | 2E | OOPS | 2F | NOP |
| 30 | HOLE | 31 | OOPS | 32 | OOPS | 33 | OOPS | 34 | HOLE | 35 | NOP | 36 | NOP | 37 | NOP |
| 38 | NOP | 39 | NOP | 3A | NOP | 3B | NOP | 3C | NOP | 3D | NOP | 3E | NOP | 3F | NOP |
| 40 | NOP | 41 | NOP | 42 | NOP | 43 | HOLE | 44 | OOPS | 45 | OOPS | 46 | NOP | 47 | HOLE |
| 48 | OOPS | 49 | OOPS | 4A | OOPS | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | NOP | 4e | NOP | 4F | NOP |
| LEFTCTRL | |||||||||||||||
| 50 | NOP | 51 | NOP | 52 | NOP | 53 | NOP | 54 | NOP | 55 | NOP | 56 | NOP | 57 | NOP |
| 58 | NOP | 59 | NOP | 5A | HOLE | 5B | OOPS | 5C | OOPS | 5D | NOP | 5E | HOLE | 5F | OOPS |
| 60 | OOPS | 61 | OOPS | 62 | HOLE | 63 | SHIFTKEYS+ | 64 | NOP | 65 | NOP | 66 | NOP | 67 | NOP |
| LEFTSHIFT | |||||||||||||||
| 68 | NOP | 69 | NOP | 6A | NOP | 6B | NOP | 6C | NOP | 6D | NOP | 6E | SHIFTKEYS+ | 6F | NOP |
| RIGHTSHIFT | |||||||||||||||
| 70 | OOPS | 71 | OOPS | 72 | NOP | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | BUCKYBITS+ | 79 | NOP | 7A | BUCKYBITS+ | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | RESET |
| METABIT | METABIT |
Micro Switch 103SD32-2 Keyboard
Unshifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(2) | 03 | LF(3) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (3) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(4) | 09 | TF(5) | 0A | TF(6) | 0B | TF(7) | 0C | TF(8) | 0D | TF(9) | 0E | TF(10) | 0F | TF (11) |
| 10 | TF(12) | 11 | TF(13) | 12 | TF(14) | 13 | c(’[’) | 14 | HOLE | 15 | RF (1) | 16 | ’+’ | 17 | ’−’ |
| 18 | HOLE | 19 | LF(4) | 1A | ’\f’ | 1B | LF (6) | 1C | HOLE | 1D | SHIFTKEYS+ | 1E | ’1’ | 1F | ’2’ |
| CAPSLOCK | |||||||||||||||
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’~’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | ’7’ | 2E | ’8’ | 2F | ’9’ |
| 30 | HOLE | 31 | LF(7) | 32 | STRING+ | 33 | LF (9) | 34 | HOLE | 35 | ’\t’ | 36 | ’q’ | 37 | ’w’ |
| UPARROW | |||||||||||||||
| 38 | ’e’ | 39 | ’r’ | 3A | ’t’ | 3B | ’y’ | 3C | ’u’ | 3D | ’i’ | 3E | ’o’ | 3F | ’p’ |
| 40 | ’{’ | 41 | ’}’ | 42 | ’_’ | 43 | HOLE | 44 | ’4’ | 45 | ’5’ | 46 | ’6’ | 47 | HOLE |
| 48 | STRING+ | 49 | STRING+ | 4A | STRING+ | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’a’ | 4E | ’s’ | 4F | ’d’ |
| LEFTARROW | HOMEARROW | RIGHTARROW | SHIFTLOCK | ||||||||||||
| 50 | ’f’ | 51 | ’g’ | 52 | ’h’ | 53 | ’j’ | 54 | ’k’ | 55 | ’l’ | 56 | ’;’ | 57 | ’:’ |
| 58 | ’|’ | 59 | ’\r’ | 5A | HOLE | 5B | ’1’ | 5C | ’2’ | 5D | ’3’ | 5E | HOLE | 5F | NOSCROLL |
| 60 | STRING+ | 61 | LF (15) | 62 | HOLE | 63 | HOLE | 64 | SHIFTKEYS+ | 65 | ’z’ | 66 | ’x’ | 67 | ’c’ |
| DOWNARROW | LEFTSHIFT | ||||||||||||||
| 68 | ’v’ | 69 | ’b’ | 6A | ’n’ | 6B | ’m’ | 6C | ’,’ | 6D | ’.’ | 6E | ’/’ | 6F | SHIFTKEYS+ |
| RIGHTSHIFT | |||||||||||||||
| 70 | NOP | 71 | 0x7F | 72 | ’0’ | 73 | NOP | 74 | ’.’ | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | SHIFTKEYS+ | 7B | ’ ’ | 7C | SHIFTKEYS+ | 7D | HOLE | 7E | HOLE | 7F | IDLE |
| LEFTCTRL | RIGHTCTRL |
Micro Switch 103SD32-2 Keyboard
Shifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS | 02 | LF(2) | 03 | LF(3) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (3) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(4) | 09 | TF(5) | 0A | TF(6) | 0B | TF(7) | 0C | TF(8) | 0D | TF(9) | 0E | TF(10) | 0F | TF (11) |
| 10 | TF(12) | 11 | TF(13) | 12 | TF(14) | 13 | c(’[’) | 14 | HOLE | 15 | RF (1) | 16 | ’+’ | 17 | ’−’ |
| 18 | HOLE | 19 | LF(4) | 1A | ’\f’ | 1B | LF (6) | 1C | HOLE | 1D | SHIFTKEYS+ | 1E | ’!’ | 1F | ’"’ |
| CAPSLOCK | |||||||||||||||
| 20 | ’#’ | 21 | ’$’ | 22 | ’%’ | 23 | ’&’ | 24 | ’\´’ | 25 | ’ (’ | 26 | ’)’ | 27 | ’0’ |
| 28 | ’=’ | 29 | ’^’ | 2A | ’@’ | 2B | ’\b’ | 2C | HOLE | 2D | ’7’ | 2E | ’8’ | 2F | ’9’ |
| 30 | HOLE | 31 | LF(7) | 32 | STRING+ | 33 | LF (9) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| UPARROW | |||||||||||||||
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’[’ | 41 | ’]’ | 42 | ’_’ | 43 | HOLE | 44 | ’4’ | 45 | ’5’ | 46 | ’6’ | 47 | HOLE |
| 48 | STRING+ | 49 | STRING+ | 4A | STRING+ | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTARROW | HOMEARROW | RIGHTARROW | SHIFTLOCK | ||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’+’ | 57 | ’∗’ |
| 58 | ’\’ | 59 | ’\r’ | 5A | HOLE | 5B | ’1’ | 5C | ’2’ | 5D | ’3’ | 5E | HOLE | 5F | NOSCROLL |
| 60 | STRING+ | 61 | LF (15) | 62 | HOLE | 63 | HOLE | 64 | SHIFTKEYS+ | 65 | ’Z’ | 66 | ’X’ | 67 | ’C’ |
| DOWNARROW | LEFTSHIFT | ||||||||||||||
| 68 | ’V’ | 69 | ’B’ | 6A | ’N’ | 6B | ’M’ | 6C | ’<’ | 6D | ’>’ | 6E | ’?’ | 6F | SHIFTKEYS+ |
| RIGHTSHIFT | |||||||||||||||
| 70 | NOP | 71 | 0x7F | 72 | ’0’ | 73 | NOP | 74 | ’.’ | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | SHIFTKEYS+ | 7B | ’ ’ | 7C | SHIFTKEYS+ | 7D | HOLE | 7E | HOLE | 7F | IDLE |
| RIGHTSHIFT | LEFTCTRL |
Micro Switch 103SD32-2 Keyboard
Caps Locked
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(2) | 03 | LF(3) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (3) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF(4) | 09 | TF (5) | 0A | TF(6) | 0B | TF(7) | 0C | TF(8) | 0D | TF(9) | 0E | TF(10) | 0F | TF(11) |
| 10 | TF(12) | 11 | TF(13) | 12 | TF(14) | 13 | c(’[’) | 14 | HOLE | 15 | RF (1) | 16 | ’+’ | 17 | ’−’ |
| 18 | HOLE | 19 | LF(4) | 1A | ’\f’ | 1B | LF(6) | 1C | HOLE | 1D | SHIFTKEYS+ | 1E | ’1’ | 1F | ’2’ |
| CAPSLOCK | |||||||||||||||
| 20 | ’3’ | 21 | ’4’ | 22 | ’5’ | 23 | ’6’ | 24 | ’7’ | 25 | ’8’ | 26 | ’9’ | 27 | ’0’ |
| 28 | ’−’ | 29 | ’~’ | 2A | ’‘’ | 2B | ’\b’ | 2C | HOLE | 2D | ’7’ | 2E | ’8’ | 2F | ’9’ |
| 30 | HOLE | 31 | LF(7) | 32 | STRING+ | 33 | LF (9) | 34 | HOLE | 35 | ’\t’ | 36 | ’Q’ | 37 | ’W’ |
| UPARROW | |||||||||||||||
| 38 | ’E’ | 39 | ’R’ | 3A | ’T’ | 3B | ’Y’ | 3C | ’U’ | 3D | ’I’ | 3E | ’O’ | 3F | ’P’ |
| 40 | ’{’ | 41 | ’}’ | 42 | ’_’ | 43 | HOLE | 44 | ’4’ | 45 | ’5’ | 46 | ’6’ | 47 | HOLE |
| 48 | STRING+ | 49 | STRING+ | 4A | STRING+ | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | ’A’ | 4E | ’S’ | 4F | ’D’ |
| LEFTARROW | HOMEARROW | RIGHTARROW | SHIFTLOCK | ||||||||||||
| 50 | ’F’ | 51 | ’G’ | 52 | ’H’ | 53 | ’J’ | 54 | ’K’ | 55 | ’L’ | 56 | ’;’ | 57 | ’:’ |
| 58 | ’|’ | 59 | ’\r’ | 5A | HOLE | 5B | ’1’ | 5C | ’2’ | 5D | ’3’ | 5E | HOLE | 5F | NOSCROLL |
| 60 | STRING+ | 61 | LF (15) | 62 | HOLE | 63 | HOLE | 64 | SHIFTKEYS+ | 65 | ’Z’ | 66 | ’X’ | 67 | ’C’ |
| DOWNARROW | LEFTSHIFT | ||||||||||||||
| 68 | ’V’ | 69 | ’B’ | 6A | ’N’ | 6B | ’M’ | 6C | ’,’ | 6D | ’.’ | 6E | ’/’ | 6F | SHIFTKEYS+ |
| RIGHTSHIFT | |||||||||||||||
| 70 | NOP | 71 | 0x7F | 72 | ’0’ | 73 | NOP | 74 | ’.’ | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | SHIFTKEYS+ | 7B | ’ ’ | 7C | SHIFTKEYS | 7D | HOLE | 7E | HOLE | 7F | IDLE |
| LEFTCTRL | RIGHTCTRL |
Micro Switch 103SD32-2 Keyboard
Controlled
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | LF(2) | 03 | LF(3) | 04 | HOLE | 05 | TF(1) | 06 | TF(2) | 07 | TF (3) |
| SYSTEMBIT | |||||||||||||||
| 08 | TF (4) | 09 | TF(5) | 0A | TF(6) | 0B | TF(7) | 0C | TF(8) | 0D | TF(9) | 0E | TF(10) | 0F | TF(11) |
| 10 | TF(02) | 11 | TF(03) | 12 | TF(04) | 13 | c(’[’) | 14 | HOLE | 15 | RF (0) | 16 | OOPS | 17 | OOPS |
| 18 | HOLE | 19 | LF(4) | 1A | ’\f’ | 1B | LF (6) | 1C | HOLE | 1D | SHIFTKEYS+ | 1E | OOPS | 1F | OOPS |
| CAPSLOCK | |||||||||||||||
| 20 | OOPS | 21 | OOPS | 22 | OOPS | 23 | OOPS | 24 | OOPS | 25 | OOPS | 26 | OOPS | 27 | OOPS |
| 28 | OOPS | 29 | c(’^’) | 2A | c (’@’) | 2B | ’\b’ | 2C | HOLE | 2D | OOPS | 2E | OOPS | 2F | OOPS |
| 30 | HOLE | 31 | LF(7) | 32 | STRING+ | 33 | F(9) | 34 | HOLE | 35 | ’\t’ | 36 | CTRLQ | 37 | c (’W’) |
| UPARROW | |||||||||||||||
| 38 | c(’E’) | 39 | c(’R’) | 3A | c(’T’) | 3B | c(’Y’) | 3C | c(’U’) | 3D | c(’I’) | 3E | c(’O’) | 3F | c (’P’) |
| 40 | c(’[’) | 41 | c(’]’) | 42 | c (’_’) | 43 | HOLE | 44 | OOPS | 45 | OOPS | 46 | OOPS | 47 | HOLE |
| 48 | STRING+ | 49 | STRING+ | 4A | STRING+ | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | c(’A’) | 4E | CTRLS | 4F | c(’D’) |
| LEFTARROW | HOMEARROW | RIGHTARROW | SHIFTLOCK | ||||||||||||
| 50 | c(’F’) | 51 | c(’G’) | 52 | c(’H’) | 53 | c(’J’) | 54 | c(’K’) | 55 | c (’L’) | 56 | OOPS | 57 | OOPS |
| 58 | c (’\’) | 59 | ’\r’ | 5A | HOLE | 5B | OOPS | 5C | OOPS | 5D | OOPS | 5E | HOLE | 5F | NOSCROLL |
| 60 | STRING+ | 61 | LF(15) | 62 | HOLE | 63 | HOLE | 64 | SHIFTKEYS+ | 65 | c(’Z’) | 66 | c(’X’) | 67 | c(’C’) |
| DOWNARROW | LEFTSHIFT | ||||||||||||||
| 68 | c(’V’) | 69 | c(’B’) | 6A | c(’N’) | 6B | c (’M’) | 6C | OOPS | 6D | OOPS | 6E | OOPS | 6F | SHIFTKEYS+ |
| RIGHTSHIFT | |||||||||||||||
| 70 | NOP | 71 | 0x7F | 72 | OOPS | 73 | NOP | 74 | OOPS | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | SHIFTKEYS+ | 7B | ’\0’ | 7C | SHIFTKEYS+ | 7D | HOLE | 7E | HOLE | 7F | IDLE |
| LEFTCTRL | RIGHTCTRL |
Micro Switch 103SD32-2 Keyboard
Key Up
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | OOPS | 03 | OOPS | 04 | HOLE | 05 | OOPS | 06 | OOPS | 07 | OOPS |
| SYSTEMBIT | |||||||||||||||
| 08 | OOPS | 09 | OOPS | 0A | OOPS | 0B | OOPS | 0C | OOPS | 0D | OOPS | 0E | OOPS | 0F | OOPS |
| 10 | OOPS | 11 | OOPS | 12 | OOPS | 13 | NOP | 14 | HOLE | 15 | OOPS | 16 | NOP | 17 | NOP |
| 18 | HOLE | 19 | OOPS | 1A | NOP | 1B | OOPS | 1C | HOLE | 1D | SHIFTKEYS+ | 1E | NOP | 1F | NOP |
| CAPSLOCK | |||||||||||||||
| 20 | NOP | 21 | NOP | 22 | NOP | 23 | NOP | 24 | NOP | 25 | NOP | 26 | NOP | 27 | NOP |
| 28 | NOP | 29 | NOP | 2A | NOP | 2B | NOP | 2C | HOLE | 2D | NOP | 2E | NOP | 2F | NOP |
| 30 | HOLE | 31 | OOPS | 32 | NOP | 33 | OOPS | 34 | HOLE | 35 | NOP | 36 | NOP | 37 | NOP |
| 38 | NOP | 39 | NOP | 3A | NOP | 3B | NOP | 3C | NOP | 3D | NOP | 3E | NOP | 3F | NOP |
| 40 | NOP | 41 | NOP | 42 | NOP | 43 | HOLE | 44 | NOP | 45 | NOP | 46 | NOP | 47 | HOLE |
| 48 | NOP | 49 | NOP | 4A | NOP | 4B | HOLE | 4C | SHIFTKEYS+ | 4D | NOP | 4E | NOP | 4F | NOP |
| SHIFTLOCK | |||||||||||||||
| 50 | NOP | 51 | NOP | 52 | NOP | 53 | NOP | 54 | NOP | 55 | NOP | 56 | NOP | 57 | NOP |
| 58 | NOP | 59 | NOP | 5A | HOLE | 5B | NOP | 5C | NOP | 5D | NOP | 5E | HOLE | 5F | NOP |
| 60 | NOP | 61 | OOPS | 62 | HOLE | 63 | HOLE | 64 | SHIFTKEYS+ | 65 | NOP | 66 | NOP | 67 | NOP |
| LEFTSHIFT | |||||||||||||||
| 68 | NOP | 69 | NOP | 6A | NOP | 6B | NOP | 6C | NOP | 6D | NOP | 6E | NOP | 6F | SHIFTKEYS+ |
| RIGHTSHIFT | |||||||||||||||
| 70 | NOP | 71 | NOP | 72 | NOP | 73 | NOP | 74 | NOP | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | SHIFTKEYS+ | 7B | NOP | 7C | SHIFTKEYS+ | 7D | HOLE | 7E | HOLE | 7F | RESET |
| LEFTCTRL | RIGHTCTRL |
VT100-Style Keyboard
Unshifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | HOLE | 04 | HOLE | 05 | HOLE | 06 | HOLE | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | HOLE | 09 | HOLE | 0A | STRING+ | 0B | STRING+ | 0C | STRING+ | 0D | STRING+ | 0E | HOLE | 0F | TF(1) |
| UPARROW | DOWNARROW | LEFTARROW | RIGHTARROW | ||||||||||||
| 10 | TF(2) | 11 | TF(3) | 12 | TF(4) | 13 | c (’[’) | 14 | ’1’ | 15 | ’2’ | 16 | ’3’ | 17 | ’4’ |
| 18 | ’5’ | 19 | ’6’ | 1A | ’7’ | 1B | ’8’ | 1C | ’9’ | 1D | ’0’ | 1E | ’−’ | 1F | ’=’ |
| 20 | ’‘’ | 21 | c (’H’) | 22 | BUCKYBITS+ | 23 | ’7’ | 24 | ’8’ | 25 | ’9’ | 26 | ’−’ | 27 | ’\t’ |
| METABIT | |||||||||||||||
| 28 | ’q’ | 29 | ’w’ | 2A | ’e’ | 2B | ’r’ | 2C | ’t’ | 2D | ’y’ | 2E | ’u’ | 2F | ’i’ |
| 30 | ’o’ | 31 | ’p’ | 32 | ’[’ | 33 | ’]’ | 34 | 0x7F | 35 | ’4’ | 36 | ’5’ | 37 | ’6’ |
| 38 | ’,’ | 39 | SHIFTKEYS+ | 3A | SHIFTKEYS+ | 3B | ’a’ | 3C | ’s’ | 3D | ’d’ | 3E | ’f’ | 3F | ’g’ |
| LEFTCTRL | CAPSLOCK | ||||||||||||||
| 40 | ’h’ | 41 | ’j’ | 42 | ’k’ | 43 | ’l’ | 44 | ’;’ | 45 | ’\´’ | 46 | ’\r’ | 47 | ’\’ |
| 48 | ’1’ | 49 | ’2’ | 4A | ’3’ | 4B | NOP | 4C | NOSCROLL | 4D | SHIFTKEYS+ | 4E | ’z’ | 4F | ’x’ |
| LEFTSHIFT | |||||||||||||||
| 50 | ’c’ | 51 | ’v’ | 52 | ’b’ | 53 | ’n’ | 54 | ’m’ | 55 | ’,’ | 56 | ’.’ | 57 | ’/’ |
| 58 | SHIFTKEYS+ | 59 | ’\n’ | 5A | ’0’ | 5B | HOLE | 5C | ’.’ | 5D | ’\r’ | 5E | HOLE | 5F | HOLE |
| RIGHTSHIFT | |||||||||||||||
| 60 | HOLE | 61 | HOLE | 62 | ’ ’ | 63 | HOLE | 64 | HOLE | 65 | HOLE | 66 | HOLE | 67 | HOLE |
| 68 | HOLE | 69 | HOLE | 6A | HOLE | 6B | HOLE | 6C | HOLE | 6D | HOLE | 6E | HOLE | 6F | HOLE |
| 70 | HOLE | 71 | HOLE | 72 | HOLE | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | HOLE | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | IDLE |
VT100-Style Keyboard
Shifted
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | HOLE | 04 | HOLE | 05 | HOLE | 06 | HOLE | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | HOLE | 09 | HOLE | 0A | STRING+ | 0B | STRING+ | 0C | STRING+ | 0D | STRING+ | 0E | HOLE | 0F | TF(1) |
| UPARROW | DOWNARROW | LEFTARROW | RIGHTARROW | ||||||||||||
| 10 | TF(2) | 11 | TF(3) | 12 | TF(4) | 13 | c (’[’) | 14 | ’!’ | 15 | ’@’ | 16 | ’#’ | 17 | ’$’ |
| 18 | ’%’ | 19 | ’^’ | 1A | ’&’ | 1B | ’∗’ | 1C | ’(’ | 1D | ’)’ | 1E | ’_’ | 1F | ’+’ |
| 20 | ’~’ | 21 | c (’H’) | 22 | BUCKYBITS+ | 23 | ’7’ | 24 | ’8’ | 25 | ’9’ | 26 | ’−’ | 27 | ’\t’ |
| METABIT | |||||||||||||||
| 28 | ’Q’ | 29 | ’W’ | 2A | ’E’ | 2B | ’R’ | 2C | ’T’ | 2D | ’Y’ | 2E | ’U’ | 2F | ’I’ |
| 30 | ’O’ | 31 | ’P’ | 32 | ’{’ | 33 | ’}’ | 34 | 0x7F | 35 | ’4’ | 36 | ’5’ | 37 | ’6’ |
| 38 | ’,’ | 39 | SHIFTKEYS+ | 3A | SHIFTKEYS+ | 3B | ’A’ | 3C | ’S’ | 3D | ’D’ | 3E | ’F’ | 3F | ’G’ |
| LEFTCTRL | CAPSLOCK | ||||||||||||||
| 40 | ’H’ | 41 | ’J’ | 42 | ’K’ | 43 | ’L’ | 44 | ’:’ | 45 | ’"’ | 46 | ’\r’ | 47 | ’|’ |
| 48 | ’1’ | 49 | ’2’ | 4A | ’3’ | 4B | NOP | 4C | NOSCROLL | 4D | SHIFTKEYS+ | 4E | ’Z’ | 4F | ’X’ |
| LEFTSHIFT | |||||||||||||||
| 50 | ’C’ | 51 | ’V’ | 52 | ’B’ | 53 | ’N’ | 54 | ’M’ | 55 | ’<’ | 56 | ’>’ | 57 | ’?’ |
| 58 | SHIFTKEYS+ | 59 | ’\n’ | 5A | ’0’ | 5B | HOLE | 5C | ’.’ | 5D | ’\r’ | 5E | HOLE | 5F | HOLE |
| RIGHTSHIFT | |||||||||||||||
| 60 | HOLE | 61 | HOLE | 62 | ’ ’ | 63 | HOLE | 64 | HOLE | 65 | HOLE | 66 | HOLE | 67 | HOLE |
| 68 | HOLE | 69 | HOLE | 6A | HOLE | 6B | HOLE | 6C | HOLE | 6D | HOLE | 6E | HOLE | 6F | HOLE |
| 70 | HOLE | 71 | HOLE | 72 | HOLE | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | HOLE | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | IDLE |
VT100-Style Keyboard
Caps Locked
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | HOLE | 04 | HOLE | 05 | HOLE | 06 | HOLE | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | HOLE | 09 | HOLE | 0A | STRING+ | 0B | STRING+ | 0C | STRING+ | 0D | STRING+ | 0E | HOLE | 0F | TF(1) |
| UPARROW | DOWNARROW | LEFTARROW | RIGHTARROW | ||||||||||||
| 10 | TF(2) | 11 | TF(3) | 12 | TF(4) | 13 | c (’[’) | 14 | ’1’ | 15 | ’2’ | 16 | ’3’ | 17 | ’4’ |
| 18 | ’5’ | 19 | ’6’ | 1A | ’7’ | 1B | ’8’ | 1C | ’9’ | 1D | ’0’ | 1E | ’−’ | 1F | ’=’ |
| 20 | ’‘’ | 21 | c (’H’) | 22 | BUCKYBITS+ | 23 | ’7’ | 24 | ’8’ | 25 | ’9’ | 26 | ’−’ | 27 | ’\t’ |
| METABIT | |||||||||||||||
| 28 | ’Q’ | 29 | ’W’ | 2A | ’E’ | 2B | ’R’ | 2C | ’T’ | 2D | ’Y’ | 2E | ’U’ | 2F | ’I’ |
| 30 | ’O’ | 31 | ’P’ | 32 | ’[’ | 33 | ’]’ | 34 | 0x7F | 35 | ’4’ | 36 | ’5’ | 37 | ’6’ |
| 38 | ’,’ | 39 | SHIFTKEYS+ | 3A | SHIFTKEYS+ | 3B | ’A’ | 3C | ’S’ | 3D | ’D’ | 3E | ’F’ | 3F | ’G’ |
| LEFTCTRL | CAPSLOCK | ||||||||||||||
| 40 | ’H’ | 41 | ’J’ | 42 | ’K’ | 43 | ’L’ | 44 | ’;’ | 45 | ’\´’ | 46 | ’\r’ | 47 | ’\’ |
| 48 | ’1’ | 49 | ’2’ | 4A | ’3’ | 4B | NOP | 4C | NOSCROLL | 4D | SHIFTKEYS+ | 4E | ’Z’ | 4F | ’X’ |
| LEFTSHIFT | |||||||||||||||
| 50 | ’C’ | 51 | ’V’ | 52 | ’B’ | 53 | ’N’ | 54 | ’M’ | 55 | ’,’ | 56 | ’.’ | 57 | ’/’ |
| 58 | SHIFTKEYS+ | 59 | ’\n’ | 5A | ’0’ | 5B | HOLE | 5C | ’.’ | 5D | ’\r’ | 5E | HOLE | 5F | HOLE |
| RIGHTSHIFT | |||||||||||||||
| 60 | HOLE | 61 | HOLE | 62 | ’ ’ | 63 | HOLE | 64 | HOLE | 65 | HOLE | 66 | HOLE | 67 | HOLE |
| 68 | HOLE | 69 | HOLE | 6A | HOLE | 6B | HOLE | 6C | HOLE | 6D | HOLE | 6E | HOLE | 6F | HOLE |
| 70 | HOLE | 71 | HOLE | 72 | HOLE | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | HOLE | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | IDLE |
VT100-Style Keyboard
Controlled
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | HOLE | 04 | HOLE | 05 | HOLE | 06 | HOLE | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | HOLE | 09 | HOLE | 0A | STRING+ | 0B | STRING+ | 0C | STRING+ | 0D | STRING+ | 0E | HOLE | 0F | TF(1) |
| UPARROW | DOWNARROW | LEFTARROW | RIGHTARROW | ||||||||||||
| 10 | TF(2) | 11 | TF(3) | 12 | TF(4) | 13 | c(’[’) | 14 | ’1’ | 15 | c (’@’) | 16 | ’3’ | 17 | ’4’ |
| 18 | ’5’ | 19 | c(’^’) | 1A | ’7’ | 1B | ’8’ | 1C | ’9’ | 1D | ’0’ | 1E | c (’_’) | 1F | ’=’ |
| 20 | c(’^’) | 21 | c (’H’) | 22 | BUCKYBITS+ | 23 | ’7’ | 24 | ’8’ | 25 | ’9’ | 26 | ’−’ | 27 | ’\t’ |
| METABIT | |||||||||||||||
| 28 | CTRLQ | 29 | c(’W’) | 2A | c(’E’) | 2B | c(’R’) | 2C | c(’T’) | 2D | c(’Y’) | 2E | c(’U’) | 2F | c (’I’) |
| 30 | c(’O’) | 31 | c(’P’) | 32 | c(’[’) | 33 | c (’]’) | 34 | 0x7F | 35 | ’4’ | 36 | ’5’ | 37 | ’6’ |
| 38 | ’,’ | 39 | SHIFTKEYS+ | 3A | SHIFTKEYS+ | 3B | c(’A’) | 3C | CTRLS | 3D | c(’D’) | 3E | c(’F’) | 3F | c (’G’) |
| LEFTCTRL | CAPSLOCK | ||||||||||||||
| 40 | c(’H’) | 41 | c(’J’) | 42 | c(’K’) | 43 | c(’L’) | 44 | ’:’ | 45 | ’"’ | 46 | ’\r’ | 47 | c (’\’) |
| 48 | ’1’ | 49 | ’2’ | 4A | ’3’ | 4B | NOP | 4C | NOSCROLL | 4D | SHIFTKEYS+ | 4E | c(’Z’) | 4F | c (’X’) |
| LEFTSHIFT | |||||||||||||||
| 50 | c(’C’) | 51 | c(’V’) | 52 | c(’B’) | 53 | c(’N’) | 54 | c(’M’) | 55 | ’,’ | 56 | ’.’ | 57 | c (’_’) |
| 58 | SHIFTKEYS+ | 59 | ’\n’ | 5A | ’0’ | 5B | HOLE | 5C | ’.’ | 5D | HOLE | 5E | HOLE | 5F | HOLE |
| RIGHTSHIFT | |||||||||||||||
| 60 | HOLE | 61 | HOLE | 62 | c (’ ’) | 63 | HOLE | 64 | HOLE | 65 | HOLE | 66 | HOLE | 67 | HOLE |
| 68 | HOLE | 69 | HOLE | 6A | HOLE | 6B | HOLE | 6C | HOLE | 6D | HOLE | 6E | HOLE | 6F | HOLE |
| 70 | HOLE | 71 | HOLE | 72 | HOLE | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | HOLE | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | IDLE |
VT100-Style Keyboard
Key Up
| Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value | Key | Value |
| 00 | HOLE | 01 | BUCKYBITS+ | 02 | HOLE | 03 | HOLE | 04 | HOLE | 05 | HOLE | 06 | HOLE | 07 | HOLE |
| SYSTEMBIT | |||||||||||||||
| 08 | HOLE | 09 | HOLE | 0A | NOP | 0B | NOP | 0C | NOP | 0D | NOP | 0E | HOLE | 0F | OOPS |
| 10 | OOPS | 11 | OOPS | 12 | OOPS | 13 | NOP | 14 | NOP | 15 | NOP | 16 | NOP | 17 | NOP |
| 18 | NOP | 19 | NOP | 1A | NOP | 1B | NOP | 1C | NOP | 1D | NOP | 1E | NOP | 1F | NOP |
| 20 | NOP | 21 | NOP | 22 | BUCKYBITS+ | 23 | NOP | 24 | NOP | 25 | NOP | 26 | NOP | 27 | NOP |
| METABIT | |||||||||||||||
| 28 | NOP | 29 | NOP | 2A | NOP | 2B | NOP | 2C | NOP | 2D | NOP | 2E | NOP | 2F | NOP |
| 30 | NOP | 31 | NOP | 32 | NOP | 33 | NOP | 34 | NOP | 35 | NOP | 36 | NOP | 37 | NOP |
| 38 | NOP | 39 | SHIFTKEYS+ | 3A | SHIFTKEYS+ | 3B | NOP | 3C | NOP | 3D | NOP | 3E | NOP | 3F | NOP |
| LEFTCTRL | CAPSLOCK | ||||||||||||||
| 40 | NOP | 41 | NOP | 42 | NOP | 43 | NOP | 44 | NOP | 45 | NOP | 46 | NOP | 47 | NOP |
| 48 | NOP | 49 | NOP | 4A | NOP | 4B | NOP | 4C | NOP | 4D | SHIFTKEYS+ | 4E | NOP | 4F | NOP |
| LEFTSHIFT | |||||||||||||||
| 50 | NOP | 51 | NOP | 52 | NOP | 53 | NOP | 54 | NOP | 55 | NOP | 56 | NOP | 57 | NOP |
| 58 | SHIFTKEYS+ | 59 | NOP | 5A | NOP | 5B | HOLE | 5C | NOP | 5D | NOP | 5E | HOLE | 5F | HOLE |
| RIGHTSHIFT | |||||||||||||||
| 60 | HOLE | 61 | HOLE | 62 | NOP | 63 | HOLE | 64 | HOLE | 65 | HOLE | 66 | HOLE | 67 | HOLE |
| 68 | HOLE | 69 | HOLE | 6A | HOLE | 6B | HOLE | 6C | HOLE | 6D | HOLE | 6E | HOLE | 6F | HOLE |
| 70 | HOLE | 71 | HOLE | 72 | HOLE | 73 | HOLE | 74 | HOLE | 75 | HOLE | 76 | HOLE | 77 | HOLE |
| 78 | HOLE | 79 | HOLE | 7A | HOLE | 7B | HOLE | 7C | HOLE | 7D | HOLE | 7E | HOLE | 7F | RESET |
SEE ALSO
click(1), oldsetkeys(1), kbd(4S), termio(4), win(4S)
The SunView System Programmer’s Guide— Appendix: Writing a Virtual User Input Device Driver (describes firm_event format)
Sun Release 4.0 — Last change: 30 October 1987