Repository navigation
Expand file tree
/
Copy pathkey.py
More file actions
127 lines (119 loc) · 1.94 KB
/
Copy pathkey.py
File metadata and controls
127 lines (119 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
"""Keyboard constants for `on_key_press`, `on_key_release`, and `Window.is_key_pressed`.
Keys are physical positions, named after a US QWERTY keyboard: on an AZERTY keyboard, the key
labeled Z reports `W`, so WASD controls work on any layout. `modifiers` in the key callbacks is a
combination of the `MOD_*` flags, for example `modifiers & key.MOD_SHIFT`.
Generated by tools/gen_keys.py from the engine's key table. Do not edit by hand.
"""
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
I = 9
J = 10
K = 11
L = 12
M = 13
N = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26
KEY_0 = 30
KEY_1 = 31
KEY_2 = 32
KEY_3 = 33
KEY_4 = 34
KEY_5 = 35
KEY_6 = 36
KEY_7 = 37
KEY_8 = 38
KEY_9 = 39
F1 = 41
F2 = 42
F3 = 43
F4 = 44
F5 = 45
F6 = 46
F7 = 47
F8 = 48
F9 = 49
F10 = 50
F11 = 51
F12 = 52
LEFT = 55
RIGHT = 56
UP = 57
DOWN = 58
SPACE = 60
ENTER = 61
ESCAPE = 62
TAB = 63
BACKSPACE = 64
INSERT = 65
DELETE = 66
HOME = 67
END = 68
PAGE_UP = 69
PAGE_DOWN = 70
CAPS_LOCK = 71
LSHIFT = 75
RSHIFT = 76
LCTRL = 77
RCTRL = 78
LALT = 79
RALT = 80
LSYSTEM = 81
RSYSTEM = 82
NUM_0 = 85
NUM_1 = 86
NUM_2 = 87
NUM_3 = 88
NUM_4 = 89
NUM_5 = 90
NUM_6 = 91
NUM_7 = 92
NUM_8 = 93
NUM_9 = 94
NUM_ADD = 95
NUM_SUBTRACT = 96
NUM_MULTIPLY = 97
NUM_DIVIDE = 98
NUM_DECIMAL = 99
NUM_ENTER = 100
NUM_LOCK = 101
MINUS = 105
EQUAL = 106
BRACKET_LEFT = 107
BRACKET_RIGHT = 108
BACKSLASH = 109
SEMICOLON = 110
APOSTROPHE = 111
GRAVE = 112
COMMA = 113
PERIOD = 114
SLASH = 115
# Modifier flags (either side counts; SYSTEM is the Windows / Command key).
MOD_SHIFT = 1
MOD_CTRL = 2
MOD_ALT = 4
MOD_SYSTEM = 8
_NAMES = {value: name for name, value in globals().copy().items()
if name.isupper() and not name.startswith("MOD_")}
def name(key: int) -> str:
"""The constant's name for a key code, for example `name(LEFT) == "LEFT"`."""
try:
return _NAMES[key]
except (KeyError, TypeError):
raise ValueError(f"unknown key code {key!r}") from None