A snag with the last go-around was that it did not handle end-users with
caps-lock ON.

The following code snippet handles this problem.

Thanks also to Keith Johnson for his off-list mention of an alternative
technique at http://www.pickwiki.com/cgi-bin/wiki.pl?GetKey.  

I like the code below better since it works right now...

--Bill


 
Ctrl.Chars.Seen = false      
      loop                                    
                          AsciiChar = keyin()     
        DecimalChar = seq(AsciiChar)           
        input  Ctrl.Char.Present, -1     

        begin case
              case Ctrl.Char.Present  and  not(Ctrl.Chars.Seen)  ;
Ctrl.Chars.Seen = true
        end   case

      until not(Ctrl.Char.Present) do repeat      

      begin case
            case DecimalChar = '65'  and  Ctrl.Chars.Seen  ;  gosub
Family.Navigator.Up
            case DecimalChar = '66'  and  Ctrl.Chars.Seen  ;  gosub
Family.Navigator.Down
            case DecimalChar = '67'  and  Ctrl.Chars.Seen  ;  gosub
Family.Navigator.Right
            case DecimalChar = '68'  and  Ctrl.Chars.Seen  ;  gosub
Family.Navigator.Left
      end   case

                 Ans = upcase(AsciiChar) 

                                       Cmd = '' 
                                       Cmd<1> = 'PA'
      begin case
            case Ans = 'A'  ;    Cmd<2> = 'PMA'
                               Cmd<3> = 'Data ' : HK.PN
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to