BBC USB Keyboard Keymapping =========================== +-----+ +-----+-----+-----+-----+ +-----+-----+-----+-----+ +-----+-----+-----+-----+ +-----+-----+-----+ | &1B | | &81 | &82 | &83 | &84 | | &85 | &86 | &87 | &88 | | &89 | &CA | &CB | &CC | | &80 | &C3 | &8A | | ESC | | f1 | f2 | f3 | f4 | | f5 | f6 | f7 | f8 | | f9 | f10 | f11 | f12 | |Print|ScLck|Break| +-----+ +-----+-----+-----+-----+ +-----+-----+-----+-----+ +-----+-----+-----+-----+ +-----+-----+-----+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+ +-----+-----+-----+-----+ |~ ~ £| ! |" @ "|£ # #| $ | % |^ ^ &|& & '|* * (|( ( )|) ) _|_ _ =|+ + ~| | | &7F | | &CD | &C8 | &9F | | &C2 | &EF | &EA | &ED | |£ £ _| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |- - -|= = ^| \ | BS | | Ins |Home | PgUp| | Num | / | * | - | +-----+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+-----+ +-----+-----+-----+ +-----+-----+-----+-----+ | &09 | | | | | | | | | | |{ { @|} } {| | | | &7F | &8B | &9E | | &F7 | &F8 | &F9 | | | TAB | q | w | e | r | t | y | u | i | o | p |[ [ @|] ] [| \ | | Del | End | PgDn| | 7 | 8 | 9 | &EB | +---------+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+-----+ +-----+-----+-----+ +-----+-----+-----+ + | | | | | | | | | | | |: : +|@ " *|~ ~ }| &0D | | &F4 | &F5 | &F6 | | | CAPS | a | s | d | f | g | h | j | k | l |; ; ;|' ' :|# # ]|RETRN| | 4 | 5 | 6 | | +---------+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+---+-+-----+-----+ +-----+ +-----+-----+-----+-----+ | | | | | | | | | | | < | > | ? | | | &8F | | &F1 | &F2 | &F3 | | | SHIFT | \ | z | x | c | v | b | n | m | , | . | / | SHIFT | | Up | | 1 | 2 | 3 | &E0 | +--------++-----++----+--+--+-----+-----+-----+-----+-----+--+--+----++-----++-----+------+ +-----+-----+-----+ +-----+-----+-----+ ENT | | | | | | | | &C1 | | | &8C | &8E | &8D | | &F0 | &ED | | | CTRL | WIN | ALT | SPACE | ALT | WIN | APP | CTRL | | Lft | Dwn | Rgh | | 0 | . | | +--------+-------+-------+-----------------------------------+-------+-------+-----+------+ +-----+-----+-----+ +-----------+-----+-----+ +------+-----+-----+------+--------------------------+-----+-----+-----+-----+-----+------+ | | | | &C5 | | &C6 | &C7 | | | &C1 | | | CTRL | WIN | ALT |NoConv| SPACE | Conv| Kana| ALT | WIN | APP | CTRL | +------+-----+-----+------+--------------------------+-----+-----+-----+-----+-----+------+ In each key box: +--------+ Shifted key: |UK US BP| BP is BBC/JP/ECMA23 &80-&DF modified with Shift/Ctrl/Alt. Character read encoded with *FX225-*FX228. | | &E0-&FF added to keypad base set with *FX238. &E0 is keypad 13, &FF is Delete. Unshifted key: |UK US BP| &xx is keycode TAB is set with *FX219. +--------+ USB Keyboard BBC/RISC OS Keymapping =================================== +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |0x| | | | | | | | | |Tab | | | |Ret | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |1x| | | | | | | | | | | |Esc| | | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | | | | | ~ | | | |@ " | | | | | < |_ = | > | ? | |2x|Spc | | | # | | | | ' | | | | | , | - | . | / | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | |) _ | ! |" @|£ #| $ | % |^ & |& ' |* ( |( ) | * |: +| | + | | | |3x| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | | = | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | | | | | | | | | | | | | | | | | | |4x| @ | | | | | | | | | | | | | | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | | | | | | | | | | | | | { | | | } | ~ | £ | |5x| | | | | | | | | | | | [ | \ | ] | ^ | _ | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | |~ _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | |6x| £ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ | | P | Q | R | S | T | U | V | W | X | Z | Z | | | | | | |7x| p | q | r | s | t | u | v | w | x | y | z | | | | | BS | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |8x|Prnt|F1 |F2 |F3 |F4 | F5 | F6 | F7 | F8 | F9 |Break|End| <- | -> | Dn | Up | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |9x| | | | | | | | | | | | | | |PgDn|PgUp| +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Ax| | | | | | | | | | | | | | | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Bx| | | | | | | | | | | | | | | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Cx| |App|Num|Scr| |NoCv|Conv|Kana|Home| | F10 |F11|F12 |Ins | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Dx| | | | | | | | | | | | | | | | | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Ex|KRet| | |K# | | | | | | | K* |K+ | K, | K- | K. | K/ | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ |Fx| K0 |K1 |K2 |K3 |K4 | K5 | K6 | K7 | K8 | K9 | | | | K= | |DEL | +--+----+---+---+---+---+----+----+----+----+----+-----+---+----+----+----+----+ &80-&DF modified with Shift/Ctrl/Alt. &E0-&FF added to keypad base, &E0 translated to &CD for keypad 13, &FF translated to &3F for DELETE. References: web.archive.org/web/20130401185753/http://www.iyonix.com/32bit/2205203-02.htm www.riscosopen.org/wiki/documentation/show/Character%20Codes www.riscosopen.org/wiki/documentation/show/OS_Byte%20221%20-%20228%20Key%20Codes