Jupiter Ace keyboard layout =========================== Key Characters +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ |DELLN|CAPS | | INV |LEFT |DOWN | UP |RIGHT|GRAPH| DEL | | ! | @ | # | $ | % | & | ' | ( | ) | _ | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+ | Q | W | E | R | T | Y | U | I | O | P | | | | | < | > | [ | ] | (C) | ; | " | | q | w | e | r | t | y | u | i | o | p | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | A | S | D | F | G | H | J | K | L |ENTER| | ~ | | | \ | { | } | ^ | - | + | = |ENTER| | a | s | d | f | g | h | j | k | l |ENTER| +----+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+-----+ | SHIFT | Z | X | C | V | B | N | M | EXT | BREAK | | EXT | : | £ | ? | / | * | , | . | SYM | SPACE | | SHIFT | z | x | c | v | b | n | m | SYM | SPACE | +--------+-----+-----+-----+-----+-----+-----+-----+-----+-------+ Character Codes +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | &0A | &02 | 3 | &08 | &01 | &07 | &09 | &03 | &04 | &05 | | ! | @ | # | $ | % | & | ' | ( | ) | _ | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+ | Q | W | E | R | T | Y | U | I | O | P | | Q | W | E | < | > | [ | ] | &7F | ; | " | | q | w | e | r | t | y | u | i | o | p | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | A | S | D | F | G | H | J | K | L | &0D | | ~ | | | \ | { | } | ^ | - | + | = | &0D | | a | s | d | f | g | h | j | k | l | &0D | +----+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+-----+ | SHIFT | Z | X | C | V | B | N | M | &00 | BREAK | | &00 | : | £ | ? | / | * | , | . | SYM | &20 | | SHIFT | z | x | c | v | b | n | m | SYM | &20 | +--------+-----+-----+-----+-----+-----+-----+-----+-----+-------+ Notes: Top line: Shift+key Middle line: Symbol+key Bottom line: unshifted key Keyboard internal key codes +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ A11-- | &24 | &1C | &14 | &0C | &04 | &03 | &0B | &13 | &1B | &23 | --A12 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ A10-- | &25 | &1D | &15 | &0D | &05 | &02 | &0A | &12 | &1A | &22 | --A13 | Q | W | E | R | T | Y | U | I | O | P | +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ A9-- | &26 | &1E | &16 | &0E | &06 | &01 | &09 | &11 | &19 | &21 | --A14 | A | S | D | F | G | H | J | K | L |ENTER| +-+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-+ A8-- | &27 | &1F | &17 | &0F | &07 | &00 | &08 | &10 | &18 | &20 | --A15 | SHIFT | SYM | Z | X | C | V | B | N | M | SPACE | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-------+ | | | | | | | | | | D0 D1 D2 D3 D4 D4 D3 D2 D1 D0 While the Jupiter Ace uses the same type of keyboard matrix as the ZX Spectrum, the SYMBOL key is in the same data row as the SHIFT key. This makes for easier keyboard scanning as both SHIFT and SYMBOL are the final keys to be tested, so pressing one of them on their own does not block a scan of an earlier key.