﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Otiose2D.Input
{
    public enum Key : int
    {
        None,

        // Modifiers
        Shift,
        Alt,
        Command,
        Control,

        // Modifier keys as first class keys
        LeftShift,
        LeftAlt,
        LeftCommand,
        LeftControl,
        RightShift,
        RightAlt,
        RightCommand,
        RightControl,

        Escape,
        F1,
        F2,
        F3,
        F4,
        F5,
        F6,
        F7,
        F8,
        F9,
        F10,
        F11,
        F12,

        Key0,
        Key1,
        Key2,
        Key3,
        Key4,
        Key5,
        Key6,
        Key7,
        Key8,
        Key9,

        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,

        Backquote,
        Minus,
        Equals,
        Backspace,

        Tab,
        LeftBracket,
        RightBracket,
        Backslash,

        Semicolon,
        Quote,
        Return,

        Comma,
        Period,
        Slash,

        Space,

        Insert,
        Delete,
        Home,
        End,
        PageUp,
        PageDown,

        LeftArrow,
        RightArrow,
        UpArrow,
        DownArrow,

        Pad0,
        Pad1,
        Pad2,
        Pad3,
        Pad4,
        Pad5,
        Pad6,
        Pad7,
        Pad8,
        Pad9,

        Numlock,
        PadDivide,
        PadMultiply,
        PadMinus,
        PadPlus,
        PadEnter,
        PadPeriod,

        // Mac only?
        Clear,
        PadEquals,
        F13,
        F14,
        F15,


    }
}
