Acorn Communicator Keyboard Details =================================== Hardware keyboard matrix ------------------------ | 1 2 3 4 5 6 7 8 9 10 11 12 13 ---+---+---+---+---+-----+---+---+---+---+----+----+----+----+ l0 | : L G D A J L3 RGT K8 COMP F6 l1 | ^ 0 6 4 2 8 L2 INS K2 SPC F8 l2 | [ O T E Q U L4 UP K5 CALC F7 l3 | ; K F HELP CTRL S CAP H L1 LFT K7 RET F3 h0 | ? < V X SLK N K9 DEL K* \ F4 h1 | P I R ShiftL W TAB Y K6 CPY K4 ] F2 h2 | @ > B C Z M K# DWN K0 PHN F5 h3 | - 9 5 FUNC ShiftR 3 1 7 K3 HME K1 ESC F1 \ This gives this keyboard lookup table \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ | : | ^ | [ | ; | l | 0 | o | k | g | 6 | t | f | | | |hlp| \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ | | | |ctl| d | 4 | e | s | a | 2 | q |cap| j | 8 | u | h | \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ | | | | |-> |ins|up |<- |c8 |c2 |c5 |c7 |cmp|spc|clc|ret| \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ |f6 |f8 |f7 |f3 | | | | | | | | | | | | | \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ | / | p | _ | - | , | i | . | 9 | v | r | b | 5 | | | |fnc| \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ | |shf| |shf| x | w | c | 3 |slk|tab| z | 1 | n | y | m | 7 | \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ |c9 |c6 |c# |c3 |del|cpy|dn |hom|c* |c4 |c0 |c1 | \ | ] |phn|esc| \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ |f4 |f2 |f5 |f1 | | | | | | | | | | | | | \ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \ \ &8x - function keys &Cx - calculator keys \ &80 = home \ &81-&88=f1-f8 &C0-&C9=keypad 0-9 \ &89 = insert \ &8A &CA = keypad * \ &8B = copy &CB = keypad # \ &8C = <- &CC = phone \ &8D = -> &CD = comp \ &8E = dn &CE = calc \ &8F = up &CF = help \ \ stop=RESET line (ie BREAK) Keymap Table ------------ +==+====+====+====+====+====+====+====+====+====+======+====+====+=====+=====+====+====+ | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | +==+====+====+====+====+====+====+====+====+====+======+====+====+=====+=====+====+====+ |0x| | | | | | | | | | Tab | | | |Retrn| | | +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ |1x| | | | | | | | | | | |Esc | | | | | +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ |7x| | | | | | | | | | | | | | | | Del| +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ |8x|Home| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |Insert| |Copy| <- | -> | Dn | Up | +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ |Cx| K0 | K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K* | K# |Phone|Comp |Calc|Help| +--+----+----+----+----+----+----+----+----+----+------+----+----+-----+-----+----+----+ Top-bit-set keypresses are modified with Shift and Ctrl and translated with *FX221-*FX228. TAB is fixed as &09. Negative INKEY lookup table --------------------------- | x0| x1| x2| x3| x4| x5| x6| x7| x8| x9| xA| xB| xC| xD| xE| xF| ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &0x|SFT|CTL|L1 |L2 |L3 |L4 |L5 |L6 |L7 |L8 | | | | | | | Standard key |50 |17 |57 |55 |53 |13 |72 |30 |32 |00 |27 |25 |24 |26 |00 |00 | Hardware keycode | | |rSH|lSH|FNC|HLP|PHN|CMP|CAL| |L1 |L2 |L3 |L4 | | | Communicator key ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &1x| Q | 3 | 4 | 5 |F4 | 8 |F7 | - | ^ |LFT| | | | | | | Standard key |1E |5B |19 |4F |74 |21 |36 |47 |05 |2B |00 |00 |00 |00 |00 |00 | Hardware keycode ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &2x|F0 | W | E | T | 7 | 9 | I | O | _ |DWN| | | | | | | Standard key |00 |59 |1A |0E |63 |49 |4B |09 |46 |6A |00 |00 |00 |00 |00 |00 | Hardware keycode ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &3x| 1 | 2 | D | R | 6 | U | O | P | [ |UP | | | | | | | Standard key |5F |1D |18 |4D |0D |22 |0A |45 |06 |2A |00 |00 |00 |00 |00 |00 | Hardware keycode ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &4x|CAP| A | X | F | Y | J | K | @ | ; |RET| | | | | | | Standard key |1F |1C |58 |0F |61 |20 |0B |46 |04 |33 |00 |00 |00 |00 |00 |00 | Hardware keycode ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &5x|SLK| S | C | G | H | N | L | ; | ] |DEL|K# |K* |K, |+= ||\ |_\ | Standard key |5C |1B |5A |0C |23 |60 |08 |07 |71 |68 |6F |2D |67 |6D |2E |65 | Hardware keycode | | | | | | | | | | |K1 |K2 |K3 |K6 |K5 |K6 | Communicator key ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &6x|TAB| Z |SPC| V | B | M | , | . | / |CPY|K0 |K1 |K3 |NCV CNV|KAN| Standard key |5D |5E |31 |4C |4E |62 |48 |4A |44 |69 |2F |2C |64 |6E |66 |6C | Hardware keycode | | | | | | | | | | |K7 |K8 |K9 |K0 |K# |K* | Communicator key ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ &7x|ESC|F1 |F2 |F3 |F5 |F6 |F8 |F9 | \ |RGT|K4 |K5 |K2 | | | | Standard key |73 |77 |75 |37 |76 |34 |35 |00 |71 |28 |6B |29 |00 |00 |00 |00 | Hardware keycode | | | | | | | | | | |HME|INS| | | | | Communicator key ---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+