> KeyTest > Original by Tricky, Master+etc keys added by J.G.Harston : ( Core BBC 2e 10,6, &20,"f0",&71,"f1",&72,"f2",&73,"f3",&14,"f4",&74,"f5",&75,"f6",&16,"f7",&76,"f8",&77,"f9" < 16,1, &70,"es",&30,"1", &31,"2", &11,"3", &12,"4", &13,"5", &34,"6", &24,"7", &15,"8", &26,"9", &27,"0", &17,"-", &18,"^", &78,"\", &19,"<-", &79,"->" F 15,5, &10,"Q", &21,"W", &22,"E", &33,"R", &23,"T", &44,"Y", &35,"U", &25,"I", &36,"O", &37,"P", &47,"@", &38,"[", &28,"_", &39,"^", &29,"v" P 14,0, &40,"cl",&01,"ct",&41,"A", &51,"S", &32,"D", &43,"F", &53,"G", &54,"H", &45,"J", &46,"K", &56,"L", &57,";", &48,":", &58,"]" Zd 10,7, &61,"Z", &42,"X", &52,"C", &63,"V", &64,"B", &55,"N", &65,"M", &66,"<", &67,">", &68,"/" d: n 76, &60,"tab",1,2,4, &49,"ret",42,3,6, &50,"sl",0,4,3, &80,"shf",3,4,4, &00,"shf",37,4,5, &59,"dl",42,4,3, &69,"cp",45,4,3, &62,"space",10,5,24 x &02,"8",34,5,2, &03,"7",36,5,2, &04,"6",38,5,2, &05,"5",40,5,2, &06,"4",42,5,2, &07,"3",44,5,2, &08,"2",46,5,2, &09,"1",48,5,2 : Master H &3A,"k+",37,7,3, &3B,"k-",40,7,3, &4A,"k/",43,7,3, &5B,"k*",46,7,3 H &1B,"k7",37,8,3, &2A,"k8",40,8,3, &2B,"k9",43,8,3, &5A,"k#",46,8,3 H &7A,"k4",37,9,3, &7B,"k5",40,9,3, &1A,"k6",43,9,3, &4B,"kD",46,9,3 I &6B,"k1",37,10,3,&7C,"k2",40,10,3,&6C,"k3",43,10,3,&5C,"k,",46,10,3 : &6A,"k0",37,11,3,&4C,"k.",40,11,3,&3C,"kRet",43,11,6 : RISC OS 8 &1E,"f10",14,7,4,&1C,"f11",18,7,4,&1D,"f12",22,7,4 7 &1F,"Sc",27,7,3, &2C,"Bk",30,7,3, &4D,"Nm",33,7,3 H &2D,"'~",14,8,3, &5D,"=+",17,8,3, &2E,"`Y",20,8,3, &2F,"BS",23,8,3 & &3D,"In",27,8,3, &3E,"Ho",30,8,3 8 &5E,"\|",17,9,3, &5F,"\_",20,9,3, &4F,"'""",23,9,3 & &3F,"Up",33,8,3, &4E,"Dn",33,9,3 8 &6D,"nc",27,10,3,&6E,"cv",30,10,3,&6F,"ka",33,10,3 "8 &7D,"WL",17,10,3,&7E,"WR",20,10,3,&7F,"WM",23,10,3 ,4 &0A,"",1,7,2, &0B,"",3,7,2, &0C,"",5,7,2 65 &0D,"",7,7,2, &0E,"",9,7,2, &0F,"",11,7,2 @: J7 &80,"shf",3,4,4, &81,"",-5,-1,0, &82,"alt",6,5,4 T7 &83,"shL",1,8,4, &84,"ctL",5,8,4, &85,"alL",9,8,4 ^7 &86,"shR",1,9,4, &87,"ctR",5,9,4, &88,"alR",9,9,4 h8 &89,"msL",1,10,4,&8A,"msM",5,10,4,&8B,"msR",9,10,4 r: |! 4: IF PAGE=&8F00:MODE 4+24 %escOn$="ESC ON":escOff$="ESC OFF" ( escOn$="FX229":escOff$="FX229,1"  escOn$: : 0 n$(&90), xs(&90), ys(&90), ws(&90), D% &90 :  y = 0 4  count, x  k = 1 count  num, n$(num) xs(num) = x : x = x + 3 ys(num) = y ws(num) = 3   : & count 0 k = 1 count :- num, n$(num), xs(num), ys(num), ws(num) D) n$(num)="`Y": >&FFFF:n$(num)="Y" N X: b 5 : txt at gfx crsr l W% = 0 &8B vdrawKey(W%):D%?W%=0   4 : txt at txt crsr :  23,1;0;0;0;0 $ 4,27);"Negative INKEY tester" ) 2,28);"Press SHIFT+ESCAPE to exit" :  escOff$  4,1  " W%=0 &7F:S%=(-1-W%) 255 ' S%<>D%?W%:toggleKey(W%):D%?W%=S%  :*FX15  (-1) (-113)   (-113)=0  23,1,1;0;0;0;  *FX15 * escOn$ 4 >: HdrawKey(w%) Rx = xs(w%) * 24 + 40 \y = 1024 - ys(w%) * 72 - 40 f x, y p x+ws(w%)*24-2, y z x+ws(w%)*24-2, y-68  x, y-68  x, y  x+5, y-4  n$(w%);  x+5, y-34  ;~w% 127;  : toggleKey(W%)  W%<16:toggleKey(128+W%) x = xs(W%) * 24 + 40 y = 1024 - ys(W%) * 72 - 40  x, y  x+ws(W%)*24-4, y  85, x, y-68  85, x+ws(W%)*24-4, y-68 $) <&FFFFF: x+ws(W%)*24-4,y: x,y-68 .