[oden] Input
This commit is contained in:
parent
c934914ac5
commit
e0878b4ea6
6 changed files with 363 additions and 14 deletions
207
src/input.ts
207
src/input.ts
|
|
@ -1,3 +1,206 @@
|
|||
import * as core from "input-core";
|
||||
|
||||
// NOTE: This is derived from rust's winit VirtualKeyCode as of 2023/07/07
|
||||
export const Key = {
|
||||
/// The '1' key over the letters.
|
||||
Key1: 1,
|
||||
/// The '2' key over the letters.
|
||||
Key2: 2,
|
||||
/// The '3' key over the letters.
|
||||
Key3: 3,
|
||||
/// The '4' key over the letters.
|
||||
Key4: 4,
|
||||
/// The '5' key over the letters.
|
||||
Key5: 5,
|
||||
/// The '6' key over the letters.
|
||||
Key6: 6,
|
||||
/// The '7' key over the letters.
|
||||
Key7: 7,
|
||||
/// The '8' key over the letters.
|
||||
Key8: 8,
|
||||
/// The '9' key over the letters.
|
||||
Key9: 9,
|
||||
/// The '0' key over the 'O' and 'P' keys.
|
||||
Key0: 10,
|
||||
|
||||
A: 11,
|
||||
B: 12,
|
||||
C: 13,
|
||||
D: 14,
|
||||
E: 15,
|
||||
F: 16,
|
||||
G: 17,
|
||||
H: 18,
|
||||
I: 19,
|
||||
J: 20,
|
||||
K: 21,
|
||||
L: 22,
|
||||
M: 23,
|
||||
N: 24,
|
||||
O: 25,
|
||||
P: 26,
|
||||
Q: 27,
|
||||
R: 28,
|
||||
S: 29,
|
||||
T: 30,
|
||||
U: 31,
|
||||
V: 32,
|
||||
W: 33,
|
||||
X: 34,
|
||||
Y: 35,
|
||||
Z: 36,
|
||||
|
||||
/// The Escape key, next to F1.
|
||||
Escape: 37,
|
||||
|
||||
F1: 38,
|
||||
F2: 39,
|
||||
F3: 40,
|
||||
F4: 41,
|
||||
F5: 42,
|
||||
F6: 43,
|
||||
F7: 44,
|
||||
F8: 45,
|
||||
F9: 46,
|
||||
F10: 47,
|
||||
F11: 48,
|
||||
F12: 49,
|
||||
F13: 50,
|
||||
F14: 51,
|
||||
F15: 52,
|
||||
F16: 53,
|
||||
F17: 54,
|
||||
F18: 55,
|
||||
F19: 56,
|
||||
F20: 57,
|
||||
F21: 58,
|
||||
F22: 59,
|
||||
F23: 60,
|
||||
F24: 61,
|
||||
|
||||
/// Print Screen/SysRq.
|
||||
Snapshot: 62,
|
||||
/// Scroll Lock.
|
||||
Scroll: 63,
|
||||
/// Pause/Break key, next to Scroll lock.
|
||||
Pause: 64,
|
||||
|
||||
/// `Insert`, next to Backspace.
|
||||
Insert: 65,
|
||||
Home: 66,
|
||||
Delete: 67,
|
||||
End: 68,
|
||||
PageDown: 69,
|
||||
PageUp: 70,
|
||||
|
||||
Left: 71,
|
||||
Up: 72,
|
||||
Right: 73,
|
||||
Down: 74,
|
||||
|
||||
/// The Backspace key, right over Enter.
|
||||
// TODO: rename
|
||||
Back: 75,
|
||||
/// The Enter key.
|
||||
Return: 76,
|
||||
/// The space bar.
|
||||
Space: 77,
|
||||
|
||||
/// The "Compose" key on Linux.
|
||||
Compose: 78,
|
||||
|
||||
Caret: 79,
|
||||
|
||||
Numlock: 80,
|
||||
Numpad0: 81,
|
||||
Numpad1: 82,
|
||||
Numpad2: 83,
|
||||
Numpad3: 84,
|
||||
Numpad4: 85,
|
||||
Numpad5: 86,
|
||||
Numpad6: 87,
|
||||
Numpad7: 88,
|
||||
Numpad8: 89,
|
||||
Numpad9: 90,
|
||||
NumpadAdd: 91,
|
||||
NumpadDivide: 92,
|
||||
NumpadDecimal: 93,
|
||||
NumpadComma: 94,
|
||||
NumpadEnter: 95,
|
||||
NumpadEquals: 96,
|
||||
NumpadMultiply: 97,
|
||||
NumpadSubtract: 98,
|
||||
|
||||
AbntC1: 99,
|
||||
AbntC2: 100,
|
||||
Apostrophe: 101,
|
||||
Apps: 102,
|
||||
Asterisk: 103,
|
||||
At: 104,
|
||||
Ax: 105,
|
||||
Backslash: 106,
|
||||
Calculator: 107,
|
||||
Capital: 108,
|
||||
Colon: 109,
|
||||
Comma: 110,
|
||||
Convert: 111,
|
||||
Equals: 112,
|
||||
Grave: 113,
|
||||
Kana: 114,
|
||||
Kanji: 115,
|
||||
LAlt: 116,
|
||||
LBracket: 117,
|
||||
LControl: 118,
|
||||
LShift: 119,
|
||||
LWin: 120,
|
||||
Mail: 121,
|
||||
MediaSelect: 122,
|
||||
MediaStop: 123,
|
||||
Minus: 124,
|
||||
Mute: 125,
|
||||
MyComputer: 126,
|
||||
// also called "Next"
|
||||
NavigateForward: 127,
|
||||
// also called "Prior"
|
||||
NavigateBackward: 128,
|
||||
NextTrack: 129,
|
||||
NoConvert: 130,
|
||||
OEM102: 131,
|
||||
Period: 132,
|
||||
PlayPause: 133,
|
||||
Plus: 134,
|
||||
Power: 135,
|
||||
PrevTrack: 136,
|
||||
RAlt: 137,
|
||||
RBracket: 138,
|
||||
RControl: 139,
|
||||
RShift: 140,
|
||||
RWin: 141,
|
||||
Semicolon: 142,
|
||||
Slash: 143,
|
||||
Sleep: 144,
|
||||
Stop: 145,
|
||||
Sysrq: 146,
|
||||
Tab: 147,
|
||||
Underline: 148,
|
||||
Unlabeled: 149,
|
||||
VolumeDown: 150,
|
||||
VolumeUp: 151,
|
||||
Wake: 152,
|
||||
WebBack: 153,
|
||||
WebFavorites: 154,
|
||||
WebForward: 155,
|
||||
WebHome: 156,
|
||||
WebRefresh: 157,
|
||||
WebSearch: 158,
|
||||
WebStop: 159,
|
||||
Yen: 160,
|
||||
Copy: 161,
|
||||
Paste: 162,
|
||||
Cut: 163,
|
||||
} as const;
|
||||
|
||||
// NOTE: This must match the definition in input.rs.
|
||||
export const Button = {
|
||||
Up: 0,
|
||||
Down: 1,
|
||||
|
|
@ -6,6 +209,6 @@ export const Button = {
|
|||
} as const;
|
||||
type Button = (typeof Button)[keyof typeof Button];
|
||||
|
||||
export function btn(_which: Button): boolean {
|
||||
return false;
|
||||
export function btn(b: Button): boolean {
|
||||
return core.btn(b);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue