1. -- 
  2. -- Jan & Uwe R. Zimmer, Australia, July 2011 
  3. -- 
  4.  
  5. with GLUT.Devices; 
  6.  
  7. package Keyboard is 
  8.  
  9.    type Complete_Command_Set is 
  10.      ( -- Special Commands -- 
  11.       Move_Accelerator, 
  12.       Full_Screen, 
  13.       Reset_Camera, 
  14.       Screen_Shot, 
  15.       Toggle_Axis, 
  16.       Toggle_Lines, 
  17.       Text_Overlay, 
  18.       Space, 
  19.       -- Rotate -- 
  20.       Rotate_Up, 
  21.       Rotate_Down, 
  22.       Rotate_Left, 
  23.       Rotate_Right, 
  24.       Rotate_CW, 
  25.       Rotate_AntiCW, 
  26.       -- Strafe -- 
  27.       Strafe_Up, 
  28.       Strafe_Down, 
  29.       Strafe_Left, 
  30.       Strafe_Right, 
  31.       Strafe_Forward, 
  32.       Strafe_Backward, 
  33.       -- Swarm -- 
  34.       Add_Vehicle, 
  35.       Remove_Vehicle); 
  36.  
  37.    type Commands_Array is array (Complete_Command_Set) of Boolean; 
  38.  
  39.    Command_Set_Reset : constant Commands_Array := (others => False); 
  40.  
  41.    procedure Get_Keys (Commands          : in out Commands_Array; 
  42.                        Selected_Keyboard : access GLUT.Devices.Keyboard := GLUT.Devices.default_Keyboard'Access); 
  43.  
  44. end Keyboard;