[fpc-pascal] Keyboard unit under Linux
    Michalis Kamburelis 
    michalis.kambi at gmail.com
       
    Thu Oct 18 01:20:31 CEST 2007
    
    
  
Frank McCormick wrote:
> Resending because of some changes in my results.
> 
> 
> I am having a tough time using the keyboard unit under Linux. Please tell me
> whats wrong with this code:
> 
> ( var section cut out)
> 
> Begin
>    InitKeyBoard;
>    Repeat
>      K:=pollKeyEvent;
>      if k <>0
>      then
>      begin
>        k:=getkeyevent;
>        k:=translatekeyevent(k);
>        if isfunctionkey(k)
>        then
>        case k Of
Replace above line with "case GetKeyEventCode(k) Of". To compare with
constants like kbdF1 and such, you have to extract event code from
TKeyEvent value by GetKeyEventCode (somewhat analogous to
GetKeyEventChar that you use below).
>        kbdF1 :
>             Begin
>             End;
>        kbdF3 : ;//DoSpot;
>        kbdF4 : ;//DoId;
>        kbdF2 :Begin
>                  End;
>        kbdF9 : ;//GetUpdate(PromoString,PromoPrompt);
>        kbdF10 :;// GetUpdate(WeatherString,WeatherPrompt);
>       end
>       else  if not isfunctionkey(k)
>       then
>         case getkeyeventchar(k) of
>         '1'..'8' :
>                   Begin
>                   End;
>        'c':
>              Begin
>              End;
>        'd':
>              Begin
>              End;
>        'N','n': GetNext;
>       End; {of case}
>      End;
>   Until quit;
> End;
> 
> I have chopped out a lot of the code; The only  keys I get or those in the
> getkeyeventchar section, i.e. '1'..'8' etc. 
> 
> 
> Cheers 
> 
> Frank
> 
    
    
More information about the fpc-pascal
mailing list