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



This program demonstrates how to access the special keys,
such asright & left Shift keys, Ctrl key, Alt key, Num Lock key, etc

{
Toggle Controls: -- allow you to check to see if a certain key
was pressed or to turn off or on a certain key, such as
activating the Num-Lock key.

MemW[0000:$0417]
number   bit
    1     0  - Right Shift
    2     1  - Left Shift
    4     2  - Ctrl
    8     3  - Alt
   16     4  - Scroll Lock
   32     5  - Num Lock
   64     6  - Caps Lock
  128     7  - Insert
  256     8  -
  512     9  -
 1024    10  - Sys Req
 2048    11  -
 4096    12  - Scroll Lock Pressed

 8192    13  - Num Lock Pressed
16384    14  - Caps Lock Pressed
32768    15  - Insert Pressed

Other memory locations that can be accessed to get/put
information.

Clock ticks: MemW[$0040:$006C] updates every 58ms.
Clear Key Buffer: MemW[0000:$041A] := MemW[0000:$041C].

Color Address: $B800:0000; Mono Address: $B000:0000.

Print Screen: inline ($CD/$05).
}

{ example }
program TrapAlt;
 Uses
   Dos, Crt;
 Var
   i:char;
 Function alt:boolean;
 Begin

   if MemW[0000:$0417] and 8<>0 then
     begin
      alt:=true;
      repeat
       if keypressed then
         begin
           alt:=false;
           exit;
         end;
      until MemW[0000:$0417] and 8=0;
     end
     else
      alt:=false;
  End;

Begin
 clrscr;
  repeat
   if keypressed then
     begin
       writeln('non alt');
       i:=readkey;
     end;
   if alt then writeln('Alt key pressed');
  until (i=#13);
End.



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