-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.IComparable.Ref is access;
with type MSSyst.IFormattable.Ref is access;
with type MSSyst.IConvertible.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.TypeCode;
with type MSSyst.String.Ref is access;
with type MSSyst.IFormatProvider.Ref is access;
package MSSyst.Windows.Forms.Keys is
   type ValueType is (
      Modifiers,
      None,
      LButton,
      RButton,
      Cancel,
      MButton,
      XButton1,
      XButton2,
      Back,
      Tab,
      LineFeed,
      Clear,
      Enter,
      ShiftKey,
      ControlKey,
      Menu,
      Pause,
      CapsLock,
      Escape,
      Space,
      Prior,
      PageDown,
      End_k,
      Home,
      Left,
      Up,
      Right,
      Down,
      Select_k,
      Print,
      Execute,
      PrintScreen,
      Insert,
      Delete,
      Help,
      D0,
      D1,
      D2,
      D3,
      D4,
      D5,
      D6,
      D7,
      D8,
      D9,
      A,
      B,
      C,
      D,
      E,
      F,
      G,
      H,
      I,
      J,
      K,
      L,
      M,
      N,
      O,
      P,
      Q,
      R,
      S,
      T,
      U,
      V,
      W,
      X,
      Y,
      Z,
      LWin,
      RWin,
      Apps,
      NumPad0,
      NumPad1,
      NumPad2,
      NumPad3,
      NumPad4,
      NumPad5,
      NumPad6,
      NumPad7,
      NumPad8,
      NumPad9,
      Multiply,
      Add,
      Separator,
      Subtract,
      Decimal,
      Divide,
      F1,
      F2,
      F3,
      F4,
      F5,
      F6,
      F7,
      F8,
      F9,
      F10,
      F11,
      F12,
      F13,
      F14,
      F15,
      F16,
      F17,
      F18,
      F19,
      F20,
      F21,
      F22,
      F23,
      F24,
      NumLock,
      Scroll,
      LShiftKey,
      RShiftKey,
      LControlKey,
      RControlKey,
      LMenu,
      RMenu,
      ProcessKey,
      Attn,
      Crsel,
      Exsel,
      EraseEof,
      Play,
      Zoom,
      NoName,
      Pa1,
      OemClear,
      KeyCode,
      Shift,
      Control,
      Alt);
   pragma Convention (MSIL, ValueType);
   for ValueType use (
      Modifiers => -65536,
      None =>  0,
      LButton =>  1,
      RButton =>  2,
      Cancel =>  3,
      MButton =>  4,
      XButton1 =>  5,
      XButton2 =>  6,
      Back =>  8,
      Tab =>  9,
      LineFeed =>  10,
      Clear =>  12,
      Enter =>  13,
      ShiftKey =>  16,
      ControlKey =>  17,
      Menu =>  18,
      Pause =>  19,
      CapsLock =>  20,
      Escape =>  27,
      Space =>  32,
      Prior =>  33,
      PageDown =>  34,
      End_k =>  35,
      Home =>  36,
      Left =>  37,
      Up =>  38,
      Right =>  39,
      Down =>  40,
      Select_k =>  41,
      Print =>  42,
      Execute =>  43,
      PrintScreen =>  44,
      Insert =>  45,
      Delete =>  46,
      Help =>  47,
      D0 =>  48,
      D1 =>  49,
      D2 =>  50,
      D3 =>  51,
      D4 =>  52,
      D5 =>  53,
      D6 =>  54,
      D7 =>  55,
      D8 =>  56,
      D9 =>  57,
      A =>  65,
      B =>  66,
      C =>  67,
      D =>  68,
      E =>  69,
      F =>  70,
      G =>  71,
      H =>  72,
      I =>  73,
      J =>  74,
      K =>  75,
      L =>  76,
      M =>  77,
      N =>  78,
      O =>  79,
      P =>  80,
      Q =>  81,
      R =>  82,
      S =>  83,
      T =>  84,
      U =>  85,
      V =>  86,
      W =>  87,
      X =>  88,
      Y =>  89,
      Z =>  90,
      LWin =>  91,
      RWin =>  92,
      Apps =>  93,
      NumPad0 =>  96,
      NumPad1 =>  97,
      NumPad2 =>  98,
      NumPad3 =>  99,
      NumPad4 =>  100,
      NumPad5 =>  101,
      NumPad6 =>  102,
      NumPad7 =>  103,
      NumPad8 =>  104,
      NumPad9 =>  105,
      Multiply =>  106,
      Add =>  107,
      Separator =>  108,
      Subtract =>  109,
      Decimal =>  110,
      Divide =>  111,
      F1 =>  112,
      F2 =>  113,
      F3 =>  114,
      F4 =>  115,
      F5 =>  116,
      F6 =>  117,
      F7 =>  118,
      F8 =>  119,
      F9 =>  120,
      F10 =>  121,
      F11 =>  122,
      F12 =>  123,
      F13 =>  124,
      F14 =>  125,
      F15 =>  126,
      F16 =>  127,
      F17 =>  128,
      F18 =>  129,
      F19 =>  130,
      F20 =>  131,
      F21 =>  132,
      F22 =>  133,
      F23 =>  134,
      F24 =>  135,
      NumLock =>  144,
      Scroll =>  145,
      LShiftKey =>  160,
      RShiftKey =>  161,
      LControlKey =>  162,
      RControlKey =>  163,
      LMenu =>  164,
      RMenu =>  165,
      ProcessKey =>  229,
      Attn =>  246,
      Crsel =>  247,
      Exsel =>  248,
      EraseEof =>  249,
      Play =>  250,
      Zoom =>  251,
      NoName =>  252,
      Pa1 =>  253,
      OemClear =>  254,
      KeyCode =>  65535,
      Shift =>  65536,
      Control =>  131072,
      Alt =>  262144);
   type ValueType_Arr is array (Natural range <>) of ValueType; -- start at 0
   type ValueType_Array is access all ValueType_Arr;
   type ValueType_addrof is access all ValueType;
   type ValueType_array_addrof is access all ValueType_Array;
   Return_k : constant Valuetype := Enter;
   Capital : constant Valuetype := CapsLock;
   PageUp : constant Valuetype := Prior;
   Next : constant Valuetype := PageDown;
   Snapshot : constant Valuetype := PrintScreen;
   function CompareTo(
      This : Valuetype;
      target : MSSyst.Object.Ref) return Integer;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function GetHashCode(
      This : Valuetype) return Integer;
   function GetType(
      This : Valuetype) return MSSyst.Type_k.Ref;
   function GetTypeCode(
      This : Valuetype) return MSSyst.TypeCode.Valuetype;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
private
   pragma Import(MSIL,CompareTo,"CompareTo");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetType,"GetType");
   pragma Import(MSIL,GetTypeCode,"GetTypeCode");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Windows.Forms.Keys;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Windows.Forms.Keys,
   ".ver 1:0:5000:0 .publickeytoken=( 96 9d b8 05 3d 33 22 ac )",
   "[System.Windows.Forms]System.Windows.Forms.Keys");
