mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-25 16:25:37 +00:00
256 lines
6 KiB
C#
256 lines
6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace OpenTK.Input
|
|
{
|
|
static public class Key
|
|
{
|
|
static private bool[] keys = new bool[(int)Keys.MaxKeys];
|
|
|
|
#region Modifiers
|
|
|
|
static public bool LeftShift
|
|
{
|
|
get { return keys[(int)Keys.LeftShift]; }
|
|
internal set { keys[(int)Keys.LeftShift] = value; }
|
|
}
|
|
|
|
static public bool RightShift
|
|
{
|
|
get { return keys[(int)Keys.RightShift]; }
|
|
internal set { keys[(int)Keys.RightShift] = value; }
|
|
}
|
|
|
|
static public bool LeftControl
|
|
{
|
|
get { return keys[(int)Keys.LeftControl]; }
|
|
internal set { keys[(int)Keys.LeftControl] = value; }
|
|
}
|
|
|
|
static public bool RightControl
|
|
{
|
|
get { return keys[(int)Keys.RightControl]; }
|
|
internal set { keys[(int)Keys.RightControl] = value; }
|
|
}
|
|
|
|
static public bool LeftAlt
|
|
{
|
|
get { return keys[(int)Keys.LeftAlt]; }
|
|
internal set { keys[(int)Keys.LeftAlt] = value; }
|
|
}
|
|
|
|
static public bool RightAlt
|
|
{
|
|
get { return keys[(int)Keys.RightAlt]; }
|
|
internal set { keys[(int)Keys.RightAlt] = value; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Function Keys
|
|
|
|
static public bool F1
|
|
{
|
|
get { return keys[(int)Keys.F1]; }
|
|
internal set { keys[(int)Keys.F1] = value; }
|
|
}
|
|
|
|
static public bool F2
|
|
{
|
|
get { return keys[(int)Keys.F2]; }
|
|
internal set { keys[(int)Keys.F2] = value; }
|
|
}
|
|
|
|
static public bool F3
|
|
{
|
|
get { return keys[(int)Keys.F3]; }
|
|
internal set { keys[(int)Keys.F3] = value; }
|
|
}
|
|
|
|
static public bool F4
|
|
{
|
|
get { return keys[(int)Keys.F4]; }
|
|
internal set { keys[(int)Keys.F4] = value; }
|
|
}
|
|
|
|
static public bool F5
|
|
{
|
|
get { return keys[(int)Keys.F5]; }
|
|
internal set { keys[(int)Keys.F5] = value; }
|
|
}
|
|
|
|
static public bool F6
|
|
{
|
|
get { return keys[(int)Keys.F6]; }
|
|
internal set { keys[(int)Keys.F6] = value; }
|
|
}
|
|
|
|
static public bool F7
|
|
{
|
|
get { return keys[(int)Keys.F7]; }
|
|
internal set { keys[(int)Keys.F7] = value; }
|
|
}
|
|
|
|
static public bool F8
|
|
{
|
|
get { return keys[(int)Keys.F8]; }
|
|
internal set { keys[(int)Keys.F8] = value; }
|
|
}
|
|
|
|
static public bool F9
|
|
{
|
|
get { return keys[(int)Keys.F9]; }
|
|
internal set { keys[(int)Keys.F9] = value; }
|
|
}
|
|
|
|
static public bool F10
|
|
{
|
|
get { return keys[(int)Keys.F10]; }
|
|
internal set { keys[(int)Keys.F10] = value; }
|
|
}
|
|
|
|
static public bool F11
|
|
{
|
|
get { return keys[(int)Keys.F11]; }
|
|
internal set { keys[(int)Keys.F11] = value; }
|
|
}
|
|
|
|
static public bool F12
|
|
{
|
|
get { return keys[(int)Keys.F12]; }
|
|
internal set { keys[(int)Keys.F12] = value; }
|
|
}
|
|
|
|
static public bool F13
|
|
{
|
|
get { return keys[(int)Keys.F13]; }
|
|
internal set { keys[(int)Keys.F13] = value; }
|
|
}
|
|
|
|
static public bool F14
|
|
{
|
|
get { return keys[(int)Keys.F14]; }
|
|
internal set { keys[(int)Keys.F14] = value; }
|
|
}
|
|
|
|
static public bool F15
|
|
{
|
|
get { return keys[(int)Keys.F15]; }
|
|
internal set { keys[(int)Keys.F15] = value; }
|
|
}
|
|
|
|
static public bool F16
|
|
{
|
|
get { return keys[(int)Keys.F16]; }
|
|
internal set { keys[(int)Keys.F16] = value; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
static public bool Enter
|
|
{
|
|
get { return keys[(int)Keys.Enter]; }
|
|
internal set { keys[(int)Keys.Enter] = value; }
|
|
}
|
|
|
|
static public bool Escape
|
|
{
|
|
get { return keys[(int)Keys.Escape]; }
|
|
internal set { keys[(int)Keys.Escape] = value; }
|
|
}
|
|
}
|
|
|
|
enum Keys : int
|
|
{
|
|
// Modifiers
|
|
LeftShift = 0,
|
|
RightShift,
|
|
LeftControl,
|
|
RightControl,
|
|
LeftAlt,
|
|
RightAlt,
|
|
|
|
// Function keys (hopefully enough for most keyboards - mine has 26)
|
|
F1, F2, F3, F4,
|
|
F5, F6, F7, F8,
|
|
F9, F10, F11, F12,
|
|
F13, F14, F15, F16,
|
|
F17, F18, F19, F20,
|
|
F21, F22, F23, F24,
|
|
F25, F26, F27, F28,
|
|
F29, F30, F31, F32,
|
|
|
|
// Direction arrows
|
|
Up,
|
|
Down,
|
|
Left,
|
|
Right,
|
|
|
|
// Special keys
|
|
Enter,
|
|
Escape,
|
|
Space,
|
|
Tab,
|
|
Backspace,
|
|
Insert,
|
|
Delete,
|
|
PageUp,
|
|
PageDown,
|
|
Home,
|
|
End,
|
|
CapsLock,
|
|
|
|
// Keypad keys
|
|
Keypad0,
|
|
Keypad1,
|
|
Keypad2,
|
|
Keypad3,
|
|
Keypad4,
|
|
Keypad5,
|
|
Keypad6,
|
|
Keypad7,
|
|
Keypad8,
|
|
Keypad9,
|
|
KeypadDivide,
|
|
KeypadMultiply,
|
|
KeypadSubtract,
|
|
KeypadAdd,
|
|
KeypadDecimal,
|
|
KeypadEqual,
|
|
KeypadEnter,
|
|
|
|
// Letters
|
|
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,
|
|
|
|
// Numbers
|
|
Number0,
|
|
Number1,
|
|
Number2,
|
|
Number3,
|
|
Number4,
|
|
Number5,
|
|
Number6,
|
|
Number7,
|
|
Number8,
|
|
Number9,
|
|
|
|
// Symbols
|
|
Minus,
|
|
Equal,
|
|
LeftBracket,
|
|
RightBracket,
|
|
Semicolon,
|
|
QuotationMark,
|
|
Comma,
|
|
FullStop,
|
|
Slash,
|
|
BackSlash,
|
|
|
|
MaxKeys
|
|
}
|
|
}
|