{ Programm:  Rawkey & Shift 
  ~~~~~~~~~
  Sinn:      Zeigt wie man eine Tastenkombination abfragt.
  ~~~~~      Besonderheit ist, daß beide Shifttasten bei jedem
             Zustand ihrerseits berücksichtigt werden.
             Nur für MP3 / KP-Editor zum Test gedacht oder Shell nutzen.

  Sprache:   MaxonPASCAL3 (KickPascal 2.12 (OS2-Includes) 
  ~~~~~~~~
  ©:         FREEWARE, wenn Autor im jeweiligen Infofiles eines nicht-
  ~~                   komerziellen Programmes erwähnt wird und selbiges
                       zugesand bekommt, können einzelne Routinen ver-
                       wendet werden.

  Autor:     PackMAN
  ~~~~~~     c/o Falk Zühlsdorff
             Lindenberg 66
             D-98693 Ilmenau/Thüringen    

  Kommentar: Version für MAXON
  ~~~~~~~~~~ nicht fontsensitiv                                          }

PROGRAM Rawkey_and_SHIFT;
USES INTUITION;
VAR  Win   : ^Window;
     Msg   : ^IntuiMessage;
     Code  : Byte;
     gedr1,
     gedr2 : boolean;

BEGIN
 Win:=Open_Window(10,10,520,50,1,IDCMP_RAWKEY,ACTIVATE+WINDOWDEPTH+WINDOWDRAG,
                 'Rawkey & Shift © by PackMAN V0.3 vom 28.06.94; "Q" for End',
                  Nil,0,0,0,0);
  gedr1:=false;
  gedr2:=false;
  Repeat
    Msg:=Wait_Port(Win^.UserPort);
    Msg:=Get_Msg(Win^.UserPort);
    Code:=Msg^.Code;
    CASE (Code AND $7f) OF
     $60: BEGIN
           IF (Code AND $80)=0             {Taste gedrückt ?}
            THEN
             BEGIN
              writeln('Shift (L) gedrückt');
              gedr1:=true;
             END
            ELSE
             BEGIN
              writeln('Shift (L) losgelassen');
              gedr1:=false;
             END;
          END;
     $61: BEGIN
           IF (Code AND $80)=0
            THEN
             BEGIN
              writeln('Shift (R) gedrückt');
              gedr2:=true;
             END
            ELSE
             BEGIN
              writeln('Shift (R) losgelassen');
              gedr2:=false;
             END;
          END;
     
    ELSE;END;
    IF (gedr1 OR gedr2) AND (Code=$11) THEN writeln('Shift+W');
  Until Code=$10;    { Code: Q }
  Close_Window(Win);
  CloseLib(Intuitionbase);
 End.

