ô > BLib.Develop.DeepKeyDemo  :*fx229,1 ë 40:òdemo:à (: 2: <(ô FNdeep_inkey(time%) and FNdeep_get F(ô ---------------------------------- P?ô Returns -1 if no key pressed within time% in centiseconds Z@ô or b0-b8 : character code (b8=1 if function/editing key) dô b9 : reserved nô b10 : RightAlt xô b11 : RightCtrl ‚ô b12 : RightShift Œô b13 : LeftAlt –ô b14 : LeftCtrl  ô b15 : LeftShift ªô b16 : Alt pending ´ô b17 : Scroll Lock ¾ô b18 : NumLock Èô b19 : Shift Òô b20 : Caps Lock Üô b21 : reserved æô b22 : Ctrl ðô b23 : Shift Lock ú'ô b24-b31: physical key pressed : ݤdeep_inkey(time%)  ê char%,mod%,key%,shift% "" char%=¦(time%):çchar%=-1:=-1 ,K ç char%=0:char%=¥:ç char%:char%=(char% „ &100) ‚ ((char%€15)>9 € &40) 6 shift%=0 @ ã key%=4 ¸ 9 J' shift%=(shift%<<1)„(¦-key% € 1) T í ^# È™ "OS_Byte",&CA,,&FF ¸ ,mod% h È™ "OS_Byte",&7A ¸ ,key% r9=char% „ (shift%<<10) „ ((mod%‚&14)<<16) „ (key%<<24) |: †ݤdeep_get  ê A% š õ ¤ A%=¤deep_inkey(10) ® ý A%<>-1 ¸=A% Â: Ì: Ö: à Ýòdemo ê-ã A%=221 ¸ 228:È™ "OS_Byte",A%,2:í:*FX4,2 ô4ñ "physicalmodifier.......character char key "; þ/ñ "ShLk Ctrl Caps Shift NumLk Scroll Alt "; %ñ "LeftSg LeftCt RightSh RightCt" õ  A%=¤deep_inkey(100) & : 0 ñ ¤b0(A%,32); :. ñ " ";¤h0(A% € &1FF,3);" ";¤c(A% € &FF); D ñ " ";¤h0((A%>>24),2); N : X& ñ " ";¤onf(A% € (1<<23),"ShLk"); b& ñ " ";¤onf(A% € (1<<22),"Ctrl"); l& ñ " ";¤onf(A% € (1<<20),"Caps"); v' ñ " ";¤onf(A% € (1<<19),"Shift"); €' ñ " ";¤onf(A% € (1<<18),"NumLk"); Š( ñ " ";¤onf(A% € (1<<17),"Scroll"); ”% ñ " ";¤onf(A% € (1<<16),"Alt"); ž : ¨( ñ " ";¤onf(A% € (1<<15),"LeftSh"); ²( ñ " ";¤onf(A% € (1<<14),"LeftCt"); ¼) ñ " ";¤onf(A% € (1<<12),"RightSh"); Æ) ñ " ";¤onf(A% € (1<<11),"RightCt"); Ð : Ú ñ äý0 î: ø: >ݤb0(A%,N%):ê A$,B$,L%:B$="0":çA%<0:B$="1":A%=A%€&7FFFFFFF  5õA$=Ã(A%€1)+A$:A%=A%2:L%=L%+1:ýL%>30:=ÂB$+A$,N%) :  $ݤh0(A%,N%)=Â"00000000"+Ã~A%,N%) *: 45ݤc(A%):ç A%<32 „ A%=127:="^"+½(A%‚64) ‹ =½A%+" " >: H%ݤonf(A%,A$):çA%:=A$ ‹ =Ä©A$,"-") R: \ f p&ô Crunched library version of code z&ô -------------------------------- „: Ž5ݤdeep_inkey(T%):êC%,M%,K%,S%:C%=¦(T%):çC%=-1:=-1 ˜/çC%=0:C%=¥:çC%:C%=(C%„&100)‚((C%€15)>9€&40) ¢&S%=0:ãK%=4¸9:S%=(S%<<1)„(¦-K%€1):í ¬EÈ™6,&CA,,&FF¸,M%:È™6,&7A¸,K%:=C%„(S%<<10)„((M%‚&14)<<16)„(K%<<24) ¶: À4ݤdeep_get:êA%:õ:A%=¤deep_inkey(10):ý A%<>-1:=A% Ê: Ô Þ è ò ü"> ç ¤keyb_tstbit(0,fl%) Œ ...  #just do: ç (fl% € (1<<0)) Œ ...  $> òkeyb_setbit(9,mask%) . 8!just do: mask%=mask% „ (1<<9) B L$> È™ "OS_Byte",&7A ¸ void%,key% V `%just do: È™ "OS_Byte",&7A ¸ ,key% j tJAny returned values you want to ignore can be just ignored by skipping ~Gthe variable to deposit it into after the ¸, just as any parameters ˆGyou want to ignore when calling can also be skipped by skipping the ’9variable before the ¸, and zero will be used instead. œ ¦ ° º ÄMô FNkeyb_deepscan(<100th secs>) - waits for and returns a "deep" keypress Îô ØK----------------------------------------------------------------------- â+ô Returns: b00-b08 : Keypress character ìPô b09 : Timeout flag (Set if timeout expired in INKEY variant.) ö4ô b10-b11 : Toggle state modifier keys: 'ô b10 : Num-Lock state  (ô b11 : Caps-Lock state 7ô b12-b23 : Momentary state modifier keys: +ô b12 : Right mouse button (,ô b13 : Middle mouse button 2*ô b14 : Left mouse button <&ô b15 : Right ALT key F'ô b16 : Right CTRL key P(ô b17 : Right SHIFT key Z%ô b18 : Left ALT key d&ô b19 : Left CTRL key n'ô b20 : Left SHIFT key x'ô b21 : Either ALT key ‚(ô b22 : Either CTRL key Œ)ô b23 : Either SHIFT key –-ô b24-b31 : Physical key pressed   ª)ô 00000000 11100000000000 000000000 ´)ô 76543210 32109876543210 876543210 ¾)ô physical modifier__keys character È)ô 33222222 22221111111111 0 000000000 Ò)ô 10987654 32109876543210 9 876543210 ÿ