using System;
using System.Collections.Generic;
using System.Text;

namespace sharpallegro5
{
    /* keycodes.h */
    public partial class AllegroApi
    {
        public const int ALLEGRO_KEY_A = 1;
        public const int ALLEGRO_KEY_B = 2;
        public const int ALLEGRO_KEY_C = 3;
        public const int ALLEGRO_KEY_D = 4;
        public const int ALLEGRO_KEY_E = 5;
        public const int ALLEGRO_KEY_F = 6;
        public const int ALLEGRO_KEY_G = 7;
        public const int ALLEGRO_KEY_H = 8;
        public const int ALLEGRO_KEY_I = 9;
        public const int ALLEGRO_KEY_J = 10;
        public const int ALLEGRO_KEY_K = 11;
        public const int ALLEGRO_KEY_L = 12;
        public const int ALLEGRO_KEY_M = 13;
        public const int ALLEGRO_KEY_N = 14;
        public const int ALLEGRO_KEY_O = 15;
        public const int ALLEGRO_KEY_P = 16;
        public const int ALLEGRO_KEY_Q = 17;
        public const int ALLEGRO_KEY_R = 18;
        public const int ALLEGRO_KEY_S = 19;
        public const int ALLEGRO_KEY_T = 20;
        public const int ALLEGRO_KEY_U = 21;
        public const int ALLEGRO_KEY_V = 22;
        public const int ALLEGRO_KEY_W = 23;
        public const int ALLEGRO_KEY_X = 24;
        public const int ALLEGRO_KEY_Y = 25;
        public const int ALLEGRO_KEY_Z = 26;

        public const int ALLEGRO_KEY_0 = 27;
        public const int ALLEGRO_KEY_1 = 28;
        public const int ALLEGRO_KEY_2 = 29;
        public const int ALLEGRO_KEY_3 = 30;
        public const int ALLEGRO_KEY_4 = 31;
        public const int ALLEGRO_KEY_5 = 32;
        public const int ALLEGRO_KEY_6 = 33;
        public const int ALLEGRO_KEY_7 = 34;
        public const int ALLEGRO_KEY_8 = 35;
        public const int ALLEGRO_KEY_9 = 36;

        public const int ALLEGRO_KEY_PAD_0 = 37;
        public const int ALLEGRO_KEY_PAD_1 = 38;
        public const int ALLEGRO_KEY_PAD_2 = 39;
        public const int ALLEGRO_KEY_PAD_3 = 40;
        public const int ALLEGRO_KEY_PAD_4 = 41;
        public const int ALLEGRO_KEY_PAD_5 = 42;
        public const int ALLEGRO_KEY_PAD_6 = 43;
        public const int ALLEGRO_KEY_PAD_7 = 44;
        public const int ALLEGRO_KEY_PAD_8 = 45;
        public const int ALLEGRO_KEY_PAD_9 = 46;

        public const int ALLEGRO_KEY_F1 = 47;
        public const int ALLEGRO_KEY_F2 = 48;
        public const int ALLEGRO_KEY_F3 = 49;
        public const int ALLEGRO_KEY_F4 = 50;
        public const int ALLEGRO_KEY_F5 = 51;
        public const int ALLEGRO_KEY_F6 = 52;
        public const int ALLEGRO_KEY_F7 = 53;
        public const int ALLEGRO_KEY_F8 = 54;
        public const int ALLEGRO_KEY_F9 = 55;
        public const int ALLEGRO_KEY_F10 = 56;
        public const int ALLEGRO_KEY_F11 = 57;
        public const int ALLEGRO_KEY_F12 = 58;

        public const int ALLEGRO_KEY_ESCAPE = 59;
        public const int ALLEGRO_KEY_TILDE = 60;
        public const int ALLEGRO_KEY_MINUS = 61;
        public const int ALLEGRO_KEY_EQUALS = 62;
        public const int ALLEGRO_KEY_BACKSPACE = 63;
        public const int ALLEGRO_KEY_TAB = 64;
        public const int ALLEGRO_KEY_OPENBRACE = 65;
        public const int ALLEGRO_KEY_CLOSEBRACE = 66;
        public const int ALLEGRO_KEY_ENTER = 67;
        public const int ALLEGRO_KEY_SEMICOLON = 68;
        public const int ALLEGRO_KEY_QUOTE = 69;
        public const int ALLEGRO_KEY_BACKSLASH = 70;
        public const int ALLEGRO_KEY_BACKSLASH2 = 71; /* DirectInput calls this DIK_OEM_102: "< > | on UK/Germany keyboards" */
        public const int ALLEGRO_KEY_COMMA = 72;
        public const int ALLEGRO_KEY_FULLSTOP = 73;
        public const int ALLEGRO_KEY_SLASH = 74;
        public const int ALLEGRO_KEY_SPACE = 75;

        public const int ALLEGRO_KEY_INSERT = 76;
        public const int ALLEGRO_KEY_DELETE = 77;
        public const int ALLEGRO_KEY_HOME = 78;
        public const int ALLEGRO_KEY_END = 79;
        public const int ALLEGRO_KEY_PGUP = 80;
        public const int ALLEGRO_KEY_PGDN = 81;
        public const int ALLEGRO_KEY_LEFT = 82;
        public const int ALLEGRO_KEY_RIGHT = 83;
        public const int ALLEGRO_KEY_UP = 84;
        public const int ALLEGRO_KEY_DOWN = 85;

        public const int ALLEGRO_KEY_PAD_SLASH = 86;
        public const int ALLEGRO_KEY_PAD_ASTERISK = 87;
        public const int ALLEGRO_KEY_PAD_MINUS = 88;
        public const int ALLEGRO_KEY_PAD_PLUS = 89;
        public const int ALLEGRO_KEY_PAD_DELETE = 90;
        public const int ALLEGRO_KEY_PAD_ENTER = 91;

        public const int ALLEGRO_KEY_PRINTSCREEN = 92;
        public const int ALLEGRO_KEY_PAUSE = 93;

        public const int ALLEGRO_KEY_ABNT_C1 = 94;
        public const int ALLEGRO_KEY_YEN = 95;
        public const int ALLEGRO_KEY_KANA = 96;
        public const int ALLEGRO_KEY_CONVERT = 97;
        public const int ALLEGRO_KEY_NOCONVERT = 98;
        public const int ALLEGRO_KEY_AT = 99;
        public const int ALLEGRO_KEY_CIRCUMFLEX = 100;
        public const int ALLEGRO_KEY_COLON2 = 101;
        public const int ALLEGRO_KEY_KANJI = 102;

        public const int ALLEGRO_KEY_PAD_EQUALS = 103;	/* MacOS X */
        public const int ALLEGRO_KEY_BACKQUOTE = 104;	/* MacOS X */
        public const int ALLEGRO_KEY_SEMICOLON2 = 105;	/* MacOS X -- TODO: ask lillo what this should be */
        public const int ALLEGRO_KEY_COMMAND = 106;	/* MacOS X */
        public const int ALLEGRO_KEY_UNKNOWN = 107;

        /* All codes up to before ALLEGRO_KEY_MODIFIERS can be freely
         * assignedas additional unknown keys, like various multimedia
         * and application keys keyboards may have.
         */

        public const int ALLEGRO_KEY_MODIFIERS = 215;

        public const int ALLEGRO_KEY_LSHIFT = 215;
        public const int ALLEGRO_KEY_RSHIFT = 216;
        public const int ALLEGRO_KEY_LCTRL = 217;
        public const int ALLEGRO_KEY_RCTRL = 218;
        public const int ALLEGRO_KEY_ALT = 219;
        public const int ALLEGRO_KEY_ALTGR = 220;
        public const int ALLEGRO_KEY_LWIN = 221;
        public const int ALLEGRO_KEY_RWIN = 222;
        public const int ALLEGRO_KEY_MENU = 223;
        public const int ALLEGRO_KEY_SCROLLLOCK = 224;
        public const int ALLEGRO_KEY_NUMLOCK = 225;
        public const int ALLEGRO_KEY_CAPSLOCK = 226;

        public const int ALLEGRO_KEY_MAX = 227;



        public const int ALLEGRO_KEYMOD_SHIFT = 0x00001;
        public const int ALLEGRO_KEYMOD_CTRL = 0x00002;
        public const int ALLEGRO_KEYMOD_ALT = 0x00004;
        public const int ALLEGRO_KEYMOD_LWIN = 0x00008;
        public const int ALLEGRO_KEYMOD_RWIN = 0x00010;
        public const int ALLEGRO_KEYMOD_MENU = 0x00020;
        public const int ALLEGRO_KEYMOD_ALTGR = 0x00040;
        public const int ALLEGRO_KEYMOD_COMMAND = 0x00080;
        public const int ALLEGRO_KEYMOD_SCROLLLOCK = 0x00100;
        public const int ALLEGRO_KEYMOD_NUMLOCK = 0x00200;
        public const int ALLEGRO_KEYMOD_CAPSLOCK = 0x00400;
        public const int ALLEGRO_KEYMOD_INALTSEQ = 0x00800;
        public const int ALLEGRO_KEYMOD_ACCENT1 = 0x01000;
        public const int ALLEGRO_KEYMOD_ACCENT2 = 0x02000;
        public const int ALLEGRO_KEYMOD_ACCENT3 = 0x04000;
        public const int ALLEGRO_KEYMOD_ACCENT4 = 0x08000;
    }
}
