! Keyboard definitions for US keyboard ! PDP11 TTYIN is a 7-bit interface, so keys cannot be defined to return 8-bit values, ! so eg Shift-3 cannot return pound. ! ! NB, can't find keycode for `~ key next to '1' ! Standard VT200 US keyboard layout define keypress / number '/?' define keypress ` = if shift then '"' elseif ctrl then "" else "'" endif define keypress 2 = if shift then '@' elseif ctrl then CHR$(00) else "2" endif define keypress ' = if shift then '|' elseif ctrl then CHR$(28) else "\" endif define keypress - = if shift then '_' elseif ctrl then CHR$(31) else "-" endif define keypress 6 = if shift then '^' elseif ctrl then CHR$(30) else "6" endif ! Standard VT200 function keys define keypress F1 = if shift then chr$(27)+"[11;2~" elseif ctrl then chr$(27)+"[11;5~" else chr$(27)+"[11~" endif define keypress F2 = if shift then chr$(27)+"[12;2~" elseif ctrl then chr$(27)+"[12;5~" else chr$(27)+"[12~" endif define keypress F3 = if shift then chr$(27)+"[13;2~" elseif ctrl then chr$(27)+"[13;5~" else chr$(27)+"[13~" endif define keypress F4 = if shift then chr$(27)+"[14;2~" elseif ctrl then chr$(27)+"[14;5~" else chr$(27)+"[14~" endif define keypress F5 = if shift then chr$(27)+"[15;2~" elseif ctrl then chr$(27)+"[15;5~" else chr$(27)+"[15~" endif define keypress F6 = if shift then chr$(27)+"[17;2~" elseif ctrl then chr$(27)+"[17;5~" else chr$(27)+"[17~" endif define keypress F7 = if shift then chr$(27)+"[18;2~" elseif ctrl then chr$(27)+"[18;5~" else chr$(27)+"[18~" endif define keypress F8 = if shift then chr$(27)+"[19;2~" elseif ctrl then chr$(27)+"[19;5~" else chr$(27)+"[19~" endif define keypress F9 = if shift then chr$(27)+"[20;2~" elseif ctrl then chr$(27)+"[20;5~" else chr$(27)+"[20~" endif define keypress F10 = if shift then chr$(27)+"[21;2~" elseif ctrl then chr$(27)+"[21;5~" else chr$(27)+"[21~" endif define keypress F11 = if shift then chr$(27)+"[23;2~" elseif ctrl then chr$(27)+"[23;5~" else chr$(27)+"[23~" endif define keypress F12 = if shift then chr$(27)+"[24;2~" elseif ctrl then chr$(27)+"[24;5~" else chr$(27)+"[24~" endif define keypress SYSREQ = if shift then chr$(27)+"[25;2~" elseif ctrl then CHR$(27)+"[25;5~" else chr$(27)+"[25~" endif define keypress PRSCR = if shift then chr$(27)+"[25;2~" elseif ctrl then CHR$(27)+"[25;5~" else chr$(27)+"[25~" endif define keypress SCRLOCK = if shift then chr$(27)+"[26;2~" elseif ctrl then CHR$(27)+"[26;5~" else chr$(27)+"[26~" endif define keypress PAUSE = if shift then chr$(27)+"[28;2~" elseif ctrl then CHR$(27)+"[28;5~" else chr$(27)+"[28~" endif define keypress CONTEXT = if shift then chr$(27)+"[31;2~" elseif ctrl then CHR$(27)+"[31;5~" else chr$(27)+"[31~" endif ! Standard VT200 editing keys define keypress HOME = if shift then chr$(27)+"[1;2~" elseif ctrl then CHR$(27)+"[1;5~" else chr$(27)+"[1~" endif define keypress INS = if shift then chr$(27)+"[2;2~" elseif ctrl then CHR$(27)+"[2;5~" else chr$(27)+"[2~" endif define keypress DEL = if shift then chr$(27)+"[3;2~" elseif ctrl then CHR$(27)+"[3;5~" else chr$(27)+"[3~" endif define keypress END = if shift then chr$(27)+"[4;2~" elseif ctrl then CHR$(27)+"[4;5~" else chr$(27)+"[4~" endif define keypress PGUP = if shift then chr$(27)+"[5;2~" elseif ctrl then CHR$(27)+"[5;5~" else chr$(27)+"[5~" endif define keypress PGDN = if shift then chr$(27)+"[6;2~" elseif ctrl then CHR$(27)+"[6;5~" else chr$(27)+"[6~" endif define keypress NUMLOCK = if shift then chr$(27)+"[9;2~" elseif ctrl then CHR$(27)+"[9;5~" else chr$(27)+"[9~" endif define keypress UARROW = if shift then chr$(27)+"[2A" elseif ctrl then CHR$(27)+"[5A" else chr$(27)+"[A" endif define keypress DARROW = if shift then chr$(27)+"[2B" elseif ctrl then CHR$(27)+"[5B" else chr$(27)+"[B" endif define keypress RARROW = if shift then chr$(27)+"[2C" elseif ctrl then CHR$(27)+"[5C" else chr$(27)+"[C" endif define keypress LARROW = if shift then chr$(27)+"[2D" elseif ctrl then CHR$(27)+"[5D" else chr$(27)+"[D" endif define keypress TAB = if shift then chr$(27)+"[Z" elseif ctrl then CHR$(27)+"[6Z" else chr$(9) endif ! Standard VT200 keypad keys define keypress KP0 = chr$(27)+"?p" define keypress KP1 = chr$(27)+"?q" define keypress KP2 = chr$(27)+"?r" define keypress KP3 = chr$(27)+"?s" define keypress KP4 = chr$(27)+"?t" define keypress KP5 = chr$(27)+"?u" define keypress KP6 = chr$(27)+"?v" define keypress KP7 = chr$(27)+"?w" define keypress KP8 = chr$(27)+"?x" define keypress KP9 = chr$(27)+"?y" define keypress KPENTER = chr$(27)+"?M" define keypress * = chr$(27)+"?j" define keypress KPPLUS = chr$(27)+"?k" define keypress KPMINUS = chr$(27)+"?m" define keypress KPPERIOD = chr$(27)+"?n" define keypress KPSLASH = chr$(27)+"?o" set cpu 45 mount dl0: H:\develop\pdp11\rt11\rtv53_rl.dsk /rl02 mount dl1: H:\develop\pdp11\bbcbasic\bbcpdp.dsk /rl02 boot dl0: