Message-Id: <199603081056.FAA20760@delorie.com> Date: Fri, 08 Mar 96 12:39:16 LIT From: Martynas Kunigelis Subject: mkkbd2.zip attached To: DJGPP mailing list Here is the uuencoded file mkkbd2.zip, containing the second version of my keyboard handler. I corrected bugs that were reported and ones I found myself. I thank everyone for their patience and especially Jorrit Rouwe, who tracked down two major bugs. Yes, it was 'movw %edx, chain_ofs', Jorrit| It somehow worked on my machine, because the higher word of default handler's offset in the code segment was zero anyway. Thanx! This time keyboard.s has much more comments. I refrain from saying it's bug- free this time. Please test it and email me. I also sent it to DJ, but I asked him not to upload it to Simtel unitl it's tested and proved to work. Oh, I almost forgot. Check the keyboard.doc. It contains a couple of last- minute notes. Martynas Kunigelis ---------------------?,`;;-08">+MI52%L<()*(#(X%ZWZWW>P#8SW6?%MM\*7/-PEY$PY(__2B#`)HFT1>VI_2F,_ MC^*0;.[]'?EQJMQ[\!^_B=+P^W45&"5YC6EPE'C;V+_[14"41/GY4QH%'Z^9 M5%'`#!&G65B%,*/$Q

.T\V//Z7^Y2F`VEN3]\*+IAQ: M/@DO77%0#)(^EF-D>524?OID$WP?^#_O&"]#DY+UJS MC9]\)*?LNS#?TTZ<]B+@^S4Y#7MU012Z;W,_R8^;MXP]#/37)@W"K-RKIUWI M*++AJ8Y"3A_A11"!BH0P5`(J<;0#M,/1+M`N1WM`>QSM`^US=`!TP-$AT"%' M1T!''/6!"AQ=`UW.C953T0VN\\U*UIV2!D#'LK)PK)*&0%UYS.3=`KUAJQ(% MH%\XBGY5CJ)?FZ/HU^4H^KWE*/I=<13]SCF*?DV.HE^+H^A7EXVIKI84_=H< M1;^JX:IV-3+Z55Q;K_.B7YFK"OTZ'$6_$Y9*Z%?C*/J=^2H^A7,9=R3='OQ'29ONBW7JJ"HE^; M7><.^IW:ZJWGN+)]H.A7UMF\Z->Q9$6M*/I59,NI^Z)?3617`_UJ$DO1K]9A M*?K5NBQ%OUJ/I>A7ZS.TV[A^!RQ%O]J0I>A7&[&TTU@-@:'HUU AT M=5-9G&BO M<87:#$6_,W.IUB.CWY7%5M6X/T\K3NGHK9US?)!2BGYU57/KONC7DB?EN8%2 M]&O/IS.WHL%;>2V]>'Y3&C;N_!-F1HW[L_G%J&A/:,QWPE#T.S<^(ZQ>/G^S;QO$?(?0XR;ZT'$Z._P%02P,$ M%``"``@`3IUH(/\,R/Z@!P``H1$```P```!K97EB;V%R9"YD;V.U6&UOV\@1 M_BY`_V$,%+`=2(3C*]K"+8HZ=INX=TZ,Z"Z'0W#GK,@AN1&Y2W"7DM5?WV=F MJ1=?W[[4-FS0U.[LS#///#/K3]P'ZQU=7I$S(6YI.52!2OO$149WM')^0[&V M AT 0J?4QCR59AA2:3@\88#M5OZJZL:&^KI9%.S(QLI]RT^B9XVO8W65;*O%BNN M"MET,IU\AY.HM6Z(3,Y'OB);THJW2V_ZXG%P>6VL.SLG')N;IN&"U/2716W+ M>$KJS<;-Z,W=AP6.M4VCUE=R>(CR)Y:8,G)/6S]0EAUL9O03WK0#'("#_^#> M8RM/)VJ:EC8&\J4:IK7IK5DV3";2Q=7%;U__OAZ-BE,2U[]Q^W#`Y7&A1-ZQSU+^$@,/YFV AT _\(",=RGW.GZ:CA\L;TG-[V M0X>@!U=P+^:2K?5E1M_78DK6Q8VGUGSU/76]!R*M)$`L"3.N2+;)S^?7/Q/6 MK5+*91_BK(TK&L%,HE?*(#2J&)G:F*Y#;CW0L AT Z@!G55+.E75V^#!=34QMRC& M5[-47`9QVI[S"-^'#EZ(\V)P]!,X:`+H!\ES2C(*62`W!3@*=\7VS4*CN5U@ MM74!;L_(9IQI&8FYW+@=R&HOUKT?JOH0.^@)+WP_$X78>Y**H5!B.J^61B9E M](9S,Z34R[)@6B8@'CP*7(Z5(X,I&9$57%JW`]GI\BSR4Q1[@17565(KJ?\\ M#D@+=GGL68Z[Q9O'?=VVIA,K/2O;J?)&I4/L AT 4 DOT U6<,M!Q-BH>=*LH;W0HX9 M),D"^)Z+`7!0V1MEF-'4CK&LD2GX(.9&#H?.Y)PE#BZL`QU2:?,:`J`**8$9 MY*-="J'/D%CA5KV9%]PQDN=B0C+4?FB$>!NS#6)PR2G2N_MW'\Y%,DJ/HE8R M.L>2,@,')+U2@%P*7H@/\>0[]CX^%EUK'S-U<,=3\'AA54<@%_2;BZ=O7JN^ M".V6'*$@";S@!RB,?-3U>+U-*T2NYF*.G[K&.`-J;,&-.!1;<4W<8??5;U67 M>^IM54.-1'3,$NR'%`JC76-;&[F8(40QMD&]"&1*D,:ND+^_,1=+DZ_$@0TW MTH,R^@XR`SII%T.+D=6I4>R"$V/.2+N2(Y>^&@+-YT==+3$V4L>](#8*R$.V MR.C>.-$"XU8!S!$@DW86\*SQV!"TME/]2V8-;;R47SD`;N\;B5Z1%@5 AT DVOZ M6SZ2KQW+O[F4U AT 2DP"CO5,GH)T8KKH8M?N.C#8B"\,3:4O6]/1+%E\342H#I?B33K!C\?F^X7]/QA3VKTW2C9O)I.YO_?K^E$ MF+4O2FVECV5CJC^*C]700&Y__'ZX_N[]V\Q*RG[ M`J<^GY9JT6/]?F[8*?*,<*CJ2.$U5Y#S?9>CXRYUKY!"A`:SN_I6$8_O[[\P\\I7]"OOC=;P6.YC6#5 M?T@=MJ?.)CVE0XHZX(;1)XCBC]UB.LD'S%!.^EJG?0ICZ6*W(%5MZ AT J%]$`Q M^^T"`I;A<\!@7`PIJ]/)EYWSIQCHT#V7,F;!YAK6`[V]N2&/\:BU2+66B*CP M@&FLFFE[)C2V5I?;2]2*$/5M[6YPK_N^\ M7X4=P(G^>X8I AT 70(TX93I]YL$-2^0V3TD>/0NT`7)/J(\4+;/2@\?XTW&#-M M AT TIZ\;#RQ@<^BNLC!S0/_E5H42I*6\[:>H AT W$A#Y9:B/-OVK AT CPXMQ")/7;L M2,72E4,X*V..,*00SS$"8_$96C6>GM(CX,:ZP9_3>I_DIS8N8;*3;XX0KZ:]RW_CE!OC^\@:SY2K-':A\NHE] M,[]NXOR6&Y&-EV;U+E=G\E:2/:)6,Z9YF5&>*:/\@6L._)2E\]T(?=!$,74D MB)#+G>P]DT8PYT\[%[+ZSR*5BYOK]R*4+Q"P]*(?N6ED"*T&O9"-,[D%)^_2 M'(:&>QIU=B.YX6(RL:6,A"=T[W$-/K#>2->FHU!P]6:]7NCD/EXI'+.*02O' M[;';M>)PU(O%V*CT:5C7_Q\4/CDILQC<&^>\>X.KE@-:WP[.5MQ(0SI^G^W? M_V7=9JLX9"!G6C*&N7*\H1H\?R42;.'+*_ITOX#7>KLY+61N5R96C2GDRB$< MOE_,;S^\52?^"5!+`P04``(`"`#CG6@@6*L`0B<````M````"0```&)U:6QD M+F)A=$M/3E;0]3=6T,U72*U(S"W(2=5+K4B%LY,5LE,KD_(3BU+TBGFY`%!+ M`P04``(`"``,GF@@^OMKS!0#``#3!@``"0```&5X86UP;&4N8X54:V_:,!3] M/"3^PRU32U*U89NF?:#;*OJ8BD37JG2JJJUJ3>(0#V-7M AT -CT_[[[LV#)%59 MD8!@KH_//?<<]W;;+=B%ZT18L',F)3P:/35L#C;12POX`4Y#:CD\S/AJHIF) M[H.@"W&J0B>TLK1A(2(>@5`9%G3*PL!V`A AT Z0&PE0DY`"5MP8""UG@%SM=*D M`TQ:W8?Q\>`KGI!!A8COF'(6F.$0\5 AT H/,W6']P.8<(,3-(XYN;[ MA_=W!U0`T-N%(9%"I9`'E`#8F(HD-X!?N).',XBU`6Z,-K9?<`$0,7AK&842 MSO-]6L\.!)12*!=[G5/:1AT>23;G<')Y/H2^]T-U_(.\D/_"K?MO\Y]_"9L> MRNV7AEL+$^T2G**(43Y4'K5T0J4DW!HHCF5J$P^5T:G+EXH>;YAP60=/4"8< M3T%T'$/9TS(1DH.W536&#_>17BHOF^5H?#;\@2;E5Z#)&S!/I1..V1G578P/P5OUE-_? MW+0-F<(CML/.7C'QAAA9.LC$VJ$`(:,TK.EC#A*T#2QU*J.L9*G-#%(5(1,D M2=0RBJ17`^YG:BL\)+XJ,)QACYFY0F?D/I-N/^(2YS>?",4H8Z-9;+!2^,VYA6T:Y7CJ<:$$*I MW!QP3,0'2/P$B=>\A\1K)M[@OJ;_B."<3478$*#AQ"I>+YOQ^/IJ5%KQU?]\ M.!BA"9]Z=F/UR>FH9ME*$\OY(<8879&0%W/:+#9,1*#C6A*?46.MQ8@[.!I> MC,E)RX0YOD!GX:T;DM3-`<8._TJ?FULUM>+"J$C>8JHP`&"=0`.0&:?'H7Y512ZF5&]%:EDY90Q=C^FHIMZ6DN%JZ M41!V39DMY'@\)GX,2U^MES/ZGZW(9;;2*2VEIX_?OER3*V2B%BH1GN7%=RNE AT AX)!^RLD4&8,FNKUU"B#([]\NT;]*YQMLBE\6/Z#E^N:(>["ZT? MT3==.;C(A]4@)[;ICC:9#<(RJ0N(RB7Y4B0K=D)J-R:XEQ4HH[P2NHT`B\?- M:,-?#J$09D=V$43ASCD?<562D2"70S\54B02.X)7']'LK/-)[W,LY--W[RY? M3MZ\G+PZW"U?Y$+IV?[8N#OV\SH?KWPUUKY6$T7CA=(R>MPFVM@][@R06P3. M".UP&]HH&%LY26>VX/@*?3[K9-0[:3Z?I[?+HIC'PLFY2--2.G=T0^KF0BOA M.EU%%6N5'&2/V^6QU6ZO9ZEM#%_/6VOG[/WC;Q)MG3SQ*A/*''\%]:=?XL>< M8W_\;2Z*'ZB;+[18/GS`_[#'PQ_\(SS`$4M#T6M^IVU(L7DIE_#"W'E$<,8O M!GIFT=@5G#;1].+MB";]UWMMLR!=6V1L-*U5-R AT R+TJ;R+0J99#=A`#X$((< M2TJ0F;*I*O(*R2\8B AT C%7W!,9?JRE%HBRNEA\K4?K$=1HA4;450NT]$S*;;] MI[1[VD3/TGTJ7-<5I>XD?;R!23XC6Y64"H^:@=;$V[++B'CGX8;)]O(2?MB^ M?QM%3P!_ZPT]3:L\WXWH&2MM[YTZN&YCRS2:W#,8!\,14AY:%BR=!440`"D] M^WZ3(N`7N408KEI:E#;?0W5A2Q_2MRI@\Q[#ZPRI[58FCI["Z AT D;J!M=,71I M7LAX`1+"GC>+_IZ[6#>[&O]YZ7S8]W;2'772WT6#C#GC[>=MRA6V:%P>?K?! M:.[W AT 3.(U((XB3CD$#__RC72%8>+HX(>MB4A=ZX]PZ[YT/Q:#` M6PT,A,JO"W_@"T#WX&3(__U(X;IAY-KFA8.76;LZ>-U%<=RK M,5^58($74T(7L@"=`:Q&="=+RPM AT T"102QWK%E'<`&W2P5.\3_#/JG3(:)": MD=R*6&+/!)OZEN82?13#`7:`L24XU]4]`992*YUY[D/?Y#:BX!X!*<#"4N56 MX]8T@*2.CJ$Z5W"R/;4%L0DE'J[@*BYZ[-XO AT 5MU=)1N]W)Q;VQZ.KVLE_@[ MWG+^X(%>_(/B[>S(QE3QMU,=+F)_JGB_4[-:>8!%9/GD#(CE>L>*;%VO`:IUA-": MA&Z1`0.8Q"T7GFXKE`?@*Q0!?-K%HK/[8O*ZL[LMYPV:ZC`-FW&S1I AT IM#8G,>[1M2 MV2Y(Z'F.V[##3 AT H>=)Z9":WD;>70S=^,8`?-]G M"=\0-<)-P;&0-B5[KYG:DW(OTWXZ5B$=U?D*G=8N]-=A#,M"32#"IH,D_B&9 M]!@8>FC83">8HN@]PNR404.86T0>!BTQ=KE&)O-RW4:AED)%`MI`V\MV6JH' MD AT 0@,N+ZJD_%3/0&C5_E;8Y(<4NX:QSU\,&^NOL,\3VKNP5'GZ[^R]<`?*,0 M/WQNNHA0M%B>D&B[B6&0&4Y:MHSCX4*/3^-MOW-1O8>:`1J&[777`V(+HT'? M;N8Q&KX^Y+:;K/(G6(U'@O&?I*+_[./Y MUZ'XH(H/J>%>80\-YQPO\M`IK9LY95#W?R:'N]I"UQO^B%*4*D=:K%&M AT 1", M18D76I AT N20:I/VSJZOXRM.A:_0%T[08TZ7J$L+2O+M`"+NP\YDC][2)$W0$L MD88F=;0`R&!6=O-ZR&B[ZL\?PK[99/MZ^J8WBM3"FP;Y?O4.K]#,Z/2D\';&G]5[@N#7F)Y<<3Y(#'ULOMJ#57.']B\YCZ\"\X5Y&G2'B?SZ M^;H!V&OD+J;$?,=39W`<3U?A+U+*K$#GX\>G9NSN\X*^E^@<4!MWAGNGKXH% MPT_T%6316)O87)D+FA02P$"%``4``(`"`!.G6@@_PS(_J`'``"A M$0``#``````````!`"````"M`P``:V5Y8F]A:"#Z^VO,%`,``-,&```)``````````$`(````,4+``!E M>&%M<&QE+F-02P$"%``4``(`"`!PGV@@5^.K?.@'``!;%```"@`````````! I`"``````#P``:V5Y8F]A