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

    {
     JR>> Does anyone have the code (probably ASM) to turn the
     JR>> CapsLock key of _and_ on as well?  Thanks in advance if you
     JR>> can help.
     SS> Procedure TogLed (Lock: Integer);

    That was a bit long for what you needed to do.  Here's what I got:

    program capslock;
    {This program is design to test the procedure capslock_on.}

    procedure capslock_on(caps:boolean);
    Assembler;
     ASM
     push ds                ; Save the data segment
     mov al, caps           ; Load in the boolean value of caps
     mov bx, 0040h          ; These two lines adjust the data segment
     mov ds, bx             ; to 40h
     mov bx, 17h            ; Point to address 17h
     mov ch, [bx]           ; Get the byte located there
     mov cl, 6h             ; Move 6 into cl
     shl al, cl             ; Shift the bit in al 6 bits to the left
     and ch, 10111111b      ; Reset the 6th bit at our memory location
     or al, ch              ; Stick in the caps bit
     mov [bx], al           ; Put the new byte back
     pop ds                 ; Restore the data segment
    end;

    begin
     capslock_on(true);
     capslock_on(false);
    end.

    You see, there are a host of byte that contain information like whether or not
    the capslock is on.  This program edits that information directly, and is
    hence a lot smaller and easier to use.  Hope this helps.

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