[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]

    (*
    From: ROB PERELMAN
    Subj: A COMPLETE Keyboard Unit in ASM
    *)

    UNIT Keyboard;

    INTERFACE

       FUNCTION AltPress: Boolean;
       FUNCTION CapsOn: Boolean;
       FUNCTION CtrlPress: Boolean;
       FUNCTION InsertOn: Boolean;
       FUNCTION LAltPress: Boolean;
       FUNCTION LCtrlPress: Boolean;
       FUNCTION LShiftPress: Boolean;
       FUNCTION NumOn: Boolean;
       FUNCTION RAltPress: Boolean;
       FUNCTION RCtrlPress: Boolean;
       FUNCTION RShiftPress: Boolean;
       FUNCTION ScrollOn: Boolean;
       FUNCTION ShiftPress: Boolean;
       PROCEDURE ClearKbd;
       PROCEDURE PrintScreen;
       PROCEDURE SetCaps (CapsLock: Boolean);
       PROCEDURE SetEnhKbd (Enhanced: Boolean);
       PROCEDURE SetInsert (Ins: Boolean);
       PROCEDURE SetNum (NumLock: Boolean);
       PROCEDURE SetPrtSc (PrtScOn: Boolean);
       PROCEDURE SetScroll (ScrollLock: Boolean);
       PROCEDURE SpeedKey (RepDelay, RepRate: Integer);
       PROCEDURE TypeIn (Keys: String);

    IMPLEMENTATION

    {$F+}

    { the routines are actually in assembly language }

       FUNCTION AltPress; external;
       FUNCTION CapsOn; external;
       FUNCTION CtrlPress; external;
       FUNCTION InsertOn; external;
       FUNCTION LAltPress; external;
       FUNCTION LCtrlPress; external;
       FUNCTION LShiftPress; external;
       FUNCTION NumOn; external;
       FUNCTION RAltPress; external;
       FUNCTION RCtrlPress; external;
       FUNCTION RShiftPress; external;
       FUNCTION ScrollOn; external;
       FUNCTION ShiftPress; external;
       PROCEDURE ClearKbd; external;
       PROCEDURE PrintScreen; external;
       PROCEDURE SetCaps; external;
       PROCEDURE SetEnhKbd; external;
       PROCEDURE SetInsert; external;
       PROCEDURE SetNum; external;
       PROCEDURE SetPrtSc; external;
       PROCEDURE SetScroll; external;
       PROCEDURE SpeedKey; external;
       PROCEDURE TypeIn; external;

    {$L KBD}

    BEGIN
    END.

    { ---------------------   CUT HERE -----------------------}

    1.  CUT THIS OUT TO A SEPARATE FILE.
    2.  Name it KBD.XX.
    3.  Execute : XX3401 D KBD.XX
    4.  KBD.OBJ will be created.

    Here comes the XX-encoded KBD.OBJ file...

    *XX3401-001215-010792--68--85-18007---------KBD.OBJ--1-OF--1
    U+Y+-qhWN0tVQqrEZUQ+++F1HoF3F7U5+0VT+k6-+RCE6U2++ERHFJF1EJ-HjU++0p-G
    GItIIoBGFIJCPE++02ZCIoJGJ2xCAE++0IBIIYlEIYJHImI+++VHFJFEIZFHEqw-++NI
    KJ-3GIs2+U+8IoV7FZFEIYJHIy+-++JCJIpDHZo+++hGIoV7FZFEIYJHIuE+++hAIoV7
    FZFEIYJHIpA+++ZHFJFHEp7DH2n++E+8H2BIIYlEIYJHIoY+++V1H2J-IYh0F-k+++dG
    EpFGH3-GFJBHZU++023AJ3-GFJBH++++0Il-H3FEIYJHIno+++ZGEIlII373IpC4+++4
    IoJIHZJBHk2+03B1IYxAH2xCf+++0JB3J2ZCIoJGJ0w-++N1EJ-HHosC+++7IoJIFIt6
    Go72rU++03BEFIJ2GoJNw+2+u6U2++0W+R4UsU6-++0o+goKoSXFuB5cUy+-mvE0nFMn
    qx1UoC1FotD9h+OmzwoVRTX9h+9B3h5coSW1s+59h+9B3XDPoC1FotD9h-9B3cf2oSW1
    s+59h-9B3cf2Uy+-mvE0nFPFu6DU+Qio+goKAxjEsB1UoC1FotD9JJNL9c+y++++REPB
    -JxSLQiQ9jwS++1fx9EGnFO8lB5coSXFu6DU+Qio2goKWgHFuB5cUy+-mvE0nFO1s+59
    h+9B3XDPoC1EsB1UoC1FotD9JMjg5ch4-XDPXhg9k5E8U+sL-2+TLQc0+6+a3kGzuzFJ
    WykSWoM40w-p5Gu+DU+++5EE9gIK++0s3WLB6Gv4-U+++-xRmU6+9c+y++++RTCs3XLB
    6Gu75U++9ck4++0u+++C5vUK7QoV9gM4+++-ux7JWykSWoM4AxiCqkj+R+e+1VQ2U-xR
    mU6+U0ML-5zfx3K9v-u9FUMnqsvP0w-o0c+C3kEU5pr8+U0+7VQ2ryjoJMjg5ch4-Uj+
    RGkiU1s+++-p5vU3BQoV9cYS+++iX+M++9U37EsTiU++nG2ilUM+++2TLQc0+0u+DU++
    +5Hni+IZ9gIK++1B6Gv4-U+++CjVJMjg5ch4-XDPXhg9k5E8U+sL--+TLQc0+6+a3kHj
    uzGo+goKAxjFuB5HUy+-0wD9JMjg5cdy06dS-fU3+woK5pr8-+-JWylKJlv3RUMnmTmg
    WgWu1k0sE+0Ck9wS+DcaWHsO+9g++8m8s+j+9hRp-2Zo18m4l8h8sCoaWHsQ+DgTLptR
    mUE+UDk0RkC+l-+izms++Aw++++++++++++++-sk9W+G6G6X3mEZ7X6l4-YE2lwI3WwF
    9FIg4WgP-kkt+WU2-EM68+c90+on11Ep0k61-+I4-kU70WQbAkooBE6SA0sU2W2W6lQY
    7GMmAFUN2-AT3-Mj2GoJ9-cf4kQA8Fsk9W+G6G6X3mEZ7X6l4-YE2lwI3WwF9FIg4WgP
    8SiQSE12Qp+-KU92UZ+-Kk92v3+-JE92x3+-JU92zZ+-JE930J+-JE933Z+-JU934p+-
    K+935Z+-Fk938Z+-JE93TJ+-KU93WZ+-Kk93Xp+-LE93Zp+-J+93bZ+-KU93eJ+-KU93
    h3+-Kk93ip+-KU947J+-Lk94IZ+-JU85cUc++Rs0UE++++2+wMc0++-o
    ***** END OF XX-BLOCK *****

[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]