Various Keyboard Matrix Options =============================== 8x8 keyboard matrix =================== D0 D1 D2 D3 D4 D5 D6 D7 | | | | | | | | +-+---+---+---+---+---+---+---+-+ IORQ--+---\ | | RD---+ OR >-+-----+EN 74LS245 | PORT--+---/ | | | | +-+---+---+---+---+---+---+---+-+ | | | | | | | | | +--+--+ | | | | | | | | Part-processed keypress A8 -->---+ EN +-- SHF CTL TAB CAP CPY 00 01 05 06 07 A9 -->---+ 7 +-- LFT RGT DWN UP DEL RET ESC SPC 08 09 0A 0B 0C 0D 0E 0F A10 -->---+ 4 +-- 0 1 2 3 4 5 6 7 30 31 32 33 34 35 36 37 A11 -->---+ L +-- 8 9 : ; . - , / 38 39 3A 3B 3C 3D 3E 3F A12 -->---+ S +-- @ A B C D E F G 40 41 42 43 44 45 46 47 A13 -->---+ 2 +-- H I J K L M N O 48 49 4A 4B 4C 4D 4E 4F A14 -->---+ 4 +-- P Q R S T U V W 50 51 52 53 54 55 56 57 A15 -->---+ 5 +-- X Y Z [ \ ] ^ _ 58 59 5A 5B 5C 5D 5E 5F +-----+ A8-A15 -> Select of row 0 to row 7 D0-D7 <- keypress state from the selected row Raw keypress: A15-A8 D7-D0 +--+--+--+--+--+--+--+--+ | | | : : | : : | -> gives (ASCII code)-32, then +--+--+--+--+--+--+--+--+ some minor processing Raw keypress gives nearly ASCII code of keypress, minor processing of keycode gives ASCII key. Typically, key &5F is '_' and key &30 is '0', or key &5F is DEL and key &30 is '0' and Shift-0 is '_'. 8x10 keyboard matrix ==================== D0 D1 D2 D3 D4 D5 D6 D7 Part-processed keypress | | | | | | | | R0 - SHF CTL 00 01 R1 - TAB CAP RET ESC SPC 09 0B 0D 0E 0F R2 - 0 1 2 3 4 5 6 7 30 31 32 33 34 35 36 37 R3 - 8 9 : ; . - , / 38 39 3A 3B 3C 3D 3E 3F R4 - @ A B C D E F G 40 41 42 43 44 45 46 47 R5 - H I J K L M N O 48 49 4A 4B 4C 4D 4E 4F R6 - P Q R S T U V W 50 51 52 53 54 55 56 57 R7 - X Y Z [ \ ] ^ DEL 58 59 4A 5B 5C 5D 5E 5F R8 - f0 f1 f2 f3 f4 f5 f6 f7 80 81 82 83 84 85 86 87 R9 - f8 f9 f10 CPY LFT RGT DWN UP 88 89 8A 8B 8C 8D 8E 8F 8x10 keyboard matrix ==================== 0 1 2 3 4 5 6 7 8 9 | | | | | | | | | | 0 -- SFT f0 f8 0 8 @ H P X 1 -- CTL f1 f9 1 9 A I Q Y 2 -- SLK f2 f10 2 * B J R Z 3 -- CAP f3 f11 CPY 3 + C K S [ 4 -- SPC f4 f12 LFT 4 < D L T \ 5 -- ENT f5 f13 RGT 5 = E M U ] 6 -- TAB f6 f14 DWN 6 > F N V ^ 7 -- ESC f7 f15 UP 7 ? G O W DEL Multiplexed 8-bit 8x8 keyboard matrix ===================================== This is similar to the Acorn Atom D0--------+---------------------------+ D1--------+ | D2--------+---+---+---+---+---+---+---+ | | | | | | | | +-+--SPC ESC DEL | +--LFT RGT DWN UP RET D3--+ +-- 0 1 2 3 4 5 6 7 D4--+ +-- 8 9 : ; < = > ? D5--+ +-- @ A B C D E F G | +-- H I J K L M N O | +-- P Q R S T U V W +-+-- X Y Z [ \ ] ^ _ D6--SHIFT D7--CTRL &00-&0F controls &10-&1F 0123456789:;<=>? &20-&2F @ABCDEFGHIJKLMNO &30-&3F PQRSTUVWXYZ[\]^_