Apprendre la programmation par warcraft via Scratch 😁
Dans le cadre d'un atelier
Example Scratch : https://scratch.mit.edu/projects/1061213031/
Opera GX:
https://www.opera.com/fr/gx
Tamper Monkey:
https://www.tampermonkey.net/
Installer Python:
https://www.python.org/
Installer les modules:
pip install pyperclip psutil pygetwindow websockets
Source: https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes Key | Decimal | Hexadecimal | Press | Release |
---|---|---|---|---|
Backspace | 8 | 0x08 | 1008 | 2008 |
Tab | 9 | 0x09 | 1009 | 2009 |
Clear | 12 | 0x0C | 1012 | 2012 |
Enter | 13 | 0x0D | 1013 | 2013 |
Shift | 16 | 0x10 | 1016 | 2016 |
Ctrl | 17 | 0x11 | 1017 | 2017 |
Alt | 18 | 0x12 | 1018 | 2018 |
Pause | 19 | 0x13 | 1019 | 2019 |
CapsLock | 20 | 0x14 | 1020 | 2020 |
Esc | 27 | 0x1B | 1027 | 2027 |
Escape | 27 | 0x1B | 1027 | 2027 |
Space | 32 | 0x20 | 1032 | 2032 |
PageUp | 33 | 0x21 | 1033 | 2033 |
PageDown | 34 | 0x22 | 1034 | 2034 |
End | 35 | 0x23 | 1035 | 2035 |
Home | 36 | 0x24 | 1036 | 2036 |
LeftArrow | 37 | 0x25 | 1037 | 2037 |
Left | 37 | 0x25 | 1037 | 2037 |
UpArrow | 38 | 0x26 | 1038 | 2038 |
Up | 38 | 0x26 | 1038 | 2038 |
RightArrow | 39 | 0x27 | 1039 | 2039 |
Right | 39 | 0x27 | 1039 | 2039 |
DownArrow | 40 | 0x28 | 1040 | 2040 |
Down | 40 | 0x28 | 1040 | 2040 |
Select | 41 | 0x29 | 1041 | 2041 |
42 | 0x2A | 1042 | 2042 | |
Execute | 43 | 0x2B | 1043 | 2043 |
PrintScreen | 44 | 0x2C | 1044 | 2044 |
Insert | 45 | 0x2D | 1045 | 2045 |
Delete | 46 | 0x2E | 1046 | 2046 |
0 | 48 | 0x30 | 1048 | 2048 |
1 | 49 | 0x31 | 1049 | 2049 |
2 | 50 | 0x32 | 1050 | 2050 |
3 | 51 | 0x33 | 1051 | 2051 |
4 | 52 | 0x34 | 1052 | 2052 |
5 | 53 | 0x35 | 1053 | 2053 |
6 | 54 | 0x36 | 1054 | 2054 |
7 | 55 | 0x37 | 1055 | 2055 |
8 | 56 | 0x38 | 1056 | 2056 |
9 | 57 | 0x39 | 1057 | 2057 |
A | 65 | 0x41 | 1065 | 2065 |
B | 66 | 0x42 | 1066 | 2066 |
C | 67 | 0x43 | 1067 | 2067 |
D | 68 | 0x44 | 1068 | 2068 |
E | 69 | 0x45 | 1069 | 2069 |
F | 70 | 0x46 | 1070 | 2070 |
G | 71 | 0x47 | 1071 | 2071 |
H | 72 | 0x48 | 1072 | 2072 |
I | 73 | 0x49 | 1073 | 2073 |
J | 74 | 0x4A | 1074 | 2074 |
K | 75 | 0x4B | 1075 | 2075 |
L | 76 | 0x4C | 1076 | 2076 |
M | 77 | 0x4D | 1077 | 2077 |
N | 78 | 0x4E | 1078 | 2078 |
O | 79 | 0x4F | 1079 | 2079 |
P | 80 | 0x50 | 1080 | 2080 |
Q | 81 | 0x51 | 1081 | 2081 |
R | 82 | 0x52 | 1082 | 2082 |
S | 83 | 0x53 | 1083 | 2083 |
T | 84 | 0x54 | 1084 | 2084 |
U | 85 | 0x55 | 1085 | 2085 |
V | 86 | 0x56 | 1086 | 2086 |
W | 87 | 0x57 | 1087 | 2087 |
X | 88 | 0x58 | 1088 | 2088 |
Y | 89 | 0x59 | 1089 | 2089 |
Z | 90 | 0x5A | 1090 | 2090 |
LeftWindows | 91 | 0x5B | 1091 | 2091 |
RightWindows | 92 | 0x5C | 1092 | 2092 |
Applications | 93 | 0x5D | 1093 | 2093 |
Sleep | 95 | 0x5F | 1095 | 2095 |
Numpad0 | 96 | 0x60 | 1096 | 2096 |
Numpad1 | 97 | 0x61 | 1097 | 2097 |
Numpad2 | 98 | 0x62 | 1098 | 2098 |
Numpad3 | 99 | 0x63 | 1099 | 2099 |
Numpad4 | 100 | 0x64 | 1100 | 2100 |
Numpad5 | 101 | 0x65 | 1101 | 2101 |
Numpad6 | 102 | 0x66 | 1102 | 2102 |
Numpad7 | 103 | 0x67 | 1103 | 2103 |
Numpad8 | 104 | 0x68 | 1104 | 2104 |
Numpad9 | 105 | 0x69 | 1105 | 2105 |
Multiply | 106 | 0x6A | 1106 | 2106 |
Add | 107 | 0x6B | 1107 | 2107 |
Separator | 108 | 0x6C | 1108 | 2108 |
Subtract | 109 | 0x6D | 1109 | 2109 |
Decimal | 110 | 0x6E | 1110 | 2110 |
Divide | 111 | 0x6F | 1111 | 2111 |
F1 | 112 | 0x70 | 1112 | 2112 |
F2 | 113 | 0x71 | 1113 | 2113 |
F3 | 114 | 0x72 | 1114 | 2114 |
F4 | 115 | 0x73 | 1115 | 2115 |
F5 | 116 | 0x74 | 1116 | 2116 |
F6 | 117 | 0x75 | 1117 | 2117 |
F7 | 118 | 0x76 | 1118 | 2118 |
F8 | 119 | 0x77 | 1119 | 2119 |
F9 | 120 | 0x78 | 1120 | 2120 |
F10 | 121 | 0x79 | 1121 | 2121 |
F11 | 122 | 0x7A | 1122 | 2122 |
F12 | 123 | 0x7B | 1123 | 2123 |
F13 | 124 | 0x7C | 1124 | 2124 |
F14 | 125 | 0x7D | 1125 | 2125 |
F15 | 126 | 0x7E | 1126 | 2126 |
F16 | 127 | 0x7F | 1127 | 2127 |
F17 | 128 | 0x80 | 1128 | 2128 |
F18 | 129 | 0x81 | 1129 | 2129 |
F19 | 130 | 0x82 | 1130 | 2130 |
F20 | 131 | 0x83 | 1131 | 2131 |
F21 | 132 | 0x84 | 1132 | 2132 |
F22 | 133 | 0x85 | 1133 | 2133 |
F23 | 134 | 0x86 | 1134 | 2134 |
F24 | 135 | 0x87 | 1135 | 2135 |
NumLock | 144 | 0x90 | 1144 | 2144 |
ScrollLock | 145 | 0x91 | 1145 | 2145 |
LeftShift | 160 | 0xA0 | 1160 | 2160 |
RightShift | 161 | 0xA1 | 1161 | 2161 |
LeftControl | 162 | 0xA2 | 1162 | 2162 |
RightControl | 163 | 0xA3 | 1163 | 2163 |
LeftAlt | 164 | 0xA4 | 1164 | 2164 |
RightAlt | 165 | 0xA5 | 1165 | 2165 |
LeftMenu | 164 | 0xA4 | 1164 | 2164 |
RightMenu | 165 | 0xA5 | 1165 | 2165 |
BrowserBack | 166 | 0xA6 | 1166 | 2166 |
BrowserForward | 167 | 0xA7 | 1167 | 2167 |
BrowserRefresh | 168 | 0xA8 | 1168 | 2168 |
BrowserStop | 169 | 0xA9 | 1169 | 2169 |
BrowserSearch | 170 | 0xAA | 1170 | 2170 |
BrowserFavorites | 171 | 0xAB | 1171 | 2171 |
BrowserHome | 172 | 0xAC | 1172 | 2172 |
VolumeMute | 173 | 0xAD | 1173 | 2173 |
VolumeDown | 174 | 0xAE | 1174 | 2174 |
VolumeUp | 175 | 0xAF | 1175 | 2175 |
MediaNextTrack | 176 | 0xB0 | 1176 | 2176 |
MediaPreviousTrack | 177 | 0xB1 | 1177 | 2177 |
MediaStop | 178 | 0xB2 | 1178 | 2178 |
MediaPlay | 179 | 0xB3 | 1179 | 2179 |
LaunchMail | 180 | 0xB4 | 1180 | 2180 |
LaunchMediaSelect | 181 | 0xB5 | 1181 | 2181 |
LaunchApp1 | 182 | 0xB6 | 1182 | 2182 |
LaunchApp2 | 183 | 0xB7 | 1183 | 2183 |
OEM1 | 186 | 0xBA | 1186 | 2186 |
OEMPlus | 187 | 0xBB | 1187 | 2187 |
OEMComma | 188 | 0xBC | 1188 | 2188 |
OEMMinus | 189 | 0xBD | 1189 | 2189 |
OEMPeriod | 190 | 0xBE | 1190 | 2190 |
OEM2 | 191 | 0xBF | 1191 | 2191 |
OEM3 | 192 | 0xC0 | 1192 | 2192 |
OEM4 | 219 | 0xDB | 1219 | 2219 |
OEM5 | 220 | 0xDC | 1220 | 2220 |
OEM6 | 221 | 0xDD | 1221 | 2221 |
OEM7 | 222 | 0xDE | 1222 | 2222 |
OEM8 | 223 | 0xDF | 1223 | 2223 |
OEM102 | 226 | 0xE2 | 1226 | 2226 |
ProcessKey | 229 | 0xE5 | 1229 | 2229 |
Packet | 231 | 0xE7 | 1231 | 2231 |
Attn | 246 | 0xF6 | 1246 | 2246 |
CrSel | 247 | 0xF7 | 1247 | 2247 |
ExSel | 248 | 0xF8 | 1248 | 2248 |
EraseEOF | 249 | 0xF9 | 1249 | 2249 |
Play | 250 | 0xFA | 1250 | 2250 |
Zoom | 251 | 0xFB | 1251 | 2251 |
PA1 | 253 | 0xFD | 1253 | 2253 |
0x08 | 8 | 1008 | 2008 | |
0x09 | 9 | 1009 | 2009 | |
0x0C | 12 | 1012 | 2012 | |
0x0D | 13 | 1013 | 2013 | |
0x10 | 16 | 1016 | 2016 | |
0x11 | 17 | 1017 | 2017 | |
0x12 | 18 | 1018 | 2018 | |
0x13 | 19 | 1019 | 2019 | |
0x14 | 20 | 1020 | 2020 | |
0x1B | 27 | 1027 | 2027 | |
0x1B | 27 | 1027 | 2027 | |
0x20 | 32 | 1032 | 2032 | |
0x21 | 33 | 1033 | 2033 | |
0x22 | 34 | 1034 | 2034 | |
0x23 | 35 | 1035 | 2035 | |
0x24 | 36 | 1036 | 2036 | |
0x25 | 37 | 1037 | 2037 | |
0x25 | 37 | 1037 | 2037 | |
0x26 | 38 | 1038 | 2038 | |
0x26 | 38 | 1038 | 2038 | |
0x27 | 39 | 1039 | 2039 | |
0x27 | 39 | 1039 | 2039 | |
0x28 | 40 | 1040 | 2040 | |
0x28 | 40 | 1040 | 2040 | |
0x29 | 41 | 1041 | 2041 | |
0x2A | 42 | 1042 | 2042 | |
0x2B | 43 | 1043 | 2043 | |
0x2C | 44 | 1044 | 2044 | |
0x2D | 45 | 1045 | 2045 | |
0x2E | 46 | 1046 | 2046 | |
0x30 | 48 | 1048 | 2048 | |
0x31 | 49 | 1049 | 2049 | |
0x32 | 50 | 1050 | 2050 | |
0x33 | 51 | 1051 | 2051 | |
0x34 | 52 | 1052 | 2052 | |
0x35 | 53 | 1053 | 2053 | |
0x36 | 54 | 1054 | 2054 | |
0x37 | 55 | 1055 | 2055 | |
0x38 | 56 | 1056 | 2056 | |
0x39 | 57 | 1057 | 2057 | |
0x41 | 65 | 1065 | 2065 | |
0x42 | 66 | 1066 | 2066 | |
0x43 | 67 | 1067 | 2067 | |
0x44 | 68 | 1068 | 2068 | |
0x45 | 69 | 1069 | 2069 | |
0x46 | 70 | 1070 | 2070 | |
0x47 | 71 | 1071 | 2071 | |
0x48 | 72 | 1072 | 2072 | |
0x49 | 73 | 1073 | 2073 | |
0x4A | 74 | 1074 | 2074 | |
0x4B | 75 | 1075 | 2075 | |
0x4C | 76 | 1076 | 2076 | |
0x4D | 77 | 1077 | 2077 | |
0x4E | 78 | 1078 | 2078 | |
0x4F | 79 | 1079 | 2079 | |
0x50 | 80 | 1080 | 2080 | |
0x51 | 81 | 1081 | 2081 | |
0x52 | 82 | 1082 | 2082 | |
0x53 | 83 | 1083 | 2083 | |
0x54 | 84 | 1084 | 2084 | |
0x55 | 85 | 1085 | 2085 | |
0x56 | 86 | 1086 | 2086 | |
0x57 | 87 | 1087 | 2087 | |
0x58 | 88 | 1088 | 2088 | |
0x59 | 89 | 1089 | 2089 | |
0x5A | 90 | 1090 | 2090 | |
0x5B | 91 | 1091 | 2091 | |
0x5C | 92 | 1092 | 2092 | |
0x5D | 93 | 1093 | 2093 | |
0x5F | 95 | 1095 | 2095 | |
0x60 | 96 | 1096 | 2096 | |
0x61 | 97 | 1097 | 2097 | |
0x62 | 98 | 1098 | 2098 | |
0x63 | 99 | 1099 | 2099 | |
0x64 | 100 | 1100 | 2100 | |
0x65 | 101 | 1101 | 2101 | |
0x66 | 102 | 1102 | 2102 | |
0x67 | 103 | 1103 | 2103 | |
0x68 | 104 | 1104 | 2104 | |
0x69 | 105 | 1105 | 2105 | |
0x6A | 106 | 1106 | 2106 | |
0x6B | 107 | 1107 | 2107 | |
0x6C | 108 | 1108 | 2108 | |
0x6D | 109 | 1109 | 2109 | |
0x6E | 110 | 1110 | 2110 | |
0x6F | 111 | 1111 | 2111 | |
0x70 | 112 | 1112 | 2112 | |
0x71 | 113 | 1113 | 2113 | |
0x72 | 114 | 1114 | 2114 | |
0x73 | 115 | 1115 | 2115 | |
0x74 | 116 | 1116 | 2116 | |
0x75 | 117 | 1117 | 2117 | |
0x76 | 118 | 1118 | 2118 | |
0x77 | 119 | 1119 | 2119 | |
0x78 | 120 | 1120 | 2120 | |
0x79 | 121 | 1121 | 2121 | |
0x7A | 122 | 1122 | 2122 | |
0x7B | 123 | 1123 | 2123 | |
0x7C | 124 | 1124 | 2124 | |
0x7D | 125 | 1125 | 2125 | |
0x7E | 126 | 1126 | 2126 | |
0x7F | 127 | 1127 | 2127 | |
0x80 | 128 | 1128 | 2128 | |
0x81 | 129 | 1129 | 2129 | |
0x82 | 130 | 1130 | 2130 | |
0x83 | 131 | 1131 | 2131 | |
0x84 | 132 | 1132 | 2132 | |
0x85 | 133 | 1133 | 2133 | |
0x86 | 134 | 1134 | 2134 | |
0x87 | 135 | 1135 | 2135 | |
0x90 | 144 | 1144 | 2144 | |
0x91 | 145 | 1145 | 2145 | |
0xA0 | 160 | 1160 | 2160 | |
0xA1 | 161 | 1161 | 2161 | |
0xA2 | 162 | 1162 | 2162 | |
0xA3 | 163 | 1163 | 2163 | |
0xA4 | 164 | 1164 | 2164 | |
0xA5 | 165 | 1165 | 2165 | |
0xA4 | 164 | 1164 | 2164 | |
0xA5 | 165 | 1165 | 2165 | |
0xA6 | 166 | 1166 | 2166 | |
0xA7 | 167 | 1167 | 2167 | |
0xA8 | 168 | 1168 | 2168 | |
0xA9 | 169 | 1169 | 2169 | |
0xAA | 170 | 1170 | 2170 | |
0xAB | 171 | 1171 | 2171 | |
0xAC | 172 | 1172 | 2172 | |
0xAD | 173 | 1173 | 2173 | |
0xAE | 174 | 1174 | 2174 | |
0xAF | 175 | 1175 | 2175 | |
0xB0 | 176 | 1176 | 2176 | |
0xB1 | 177 | 1177 | 2177 | |
0xB2 | 178 | 1178 | 2178 | |
0xB3 | 179 | 1179 | 2179 | |
0xB4 | 180 | 1180 | 2180 | |
0xB5 | 181 | 1181 | 2181 | |
0xB6 | 182 | 1182 | 2182 | |
0xB7 | 183 | 1183 | 2183 | |
0xBA | 186 | 1186 | 2186 | |
0xBB | 187 | 1187 | 2187 | |
0xBC | 188 | 1188 | 2188 | |
0xBD | 189 | 1189 | 2189 | |
0xBE | 190 | 1190 | 2190 | |
0xBF | 191 | 1191 | 2191 | |
0xC0 | 192 | 1192 | 2192 | |
0xDB | 219 | 1219 | 2219 | |
0xDC | 220 | 1220 | 2220 | |
0xDD | 221 | 1221 | 2221 | |
0xDE | 222 | 1222 | 2222 | |
0xDF | 223 | 1223 | 2223 | |
0xE2 | 226 | 1226 | 2226 | |
0xE5 | 229 | 1229 | 2229 | |
0xE7 | 231 | 1231 | 2231 | |
0xF6 | 246 | 1246 | 2246 | |
0xF7 | 247 | 1247 | 2247 | |
0xF8 | 248 | 1248 | 2248 | |
0xF9 | 249 | 1249 | 2249 | |
0xFA | 250 | 1250 | 2250 | |
0xFB | 251 | 1251 | 2251 | |
0xFD | 253 | 1253 | 2253 |
1599998888
Label | Press | Release |
---|---|---|
Mouse Left | 1260 | 2260 |
Mouse Middle | 1261 | 2261 |
Mouse Right | 1262 | 2262 |
Mouse Button 4 | 1263 | 2263 |
Mouse Button 5 | 1264 | 2264 |
Mouse Double Click Left | 1265 | 2265 |
Mouse Triple Click Left | 1266 | 2266 |
Mouse Double Click Right | 1267 | 2267 |
Mouse Triple Click Right | 1268 | 2268 |
// ########## RECEIVED INTEGER AS BYTES
/// CONVERT FOUR BYTE IN LITTLE ENDIAN FORMAT TO SIGNED INTEGER 32 BITS
// USE: byte bytes[4] = {0xC0, 0x1D, 0xFE, 0xFF}; // Little-endian encoding of -123456
// USE: int32_t result = parseLittleEndian(bytes[0], bytes[1], bytes[2], bytes[3]);
int32_t parseLittleEndian(byte b0, byte b1, byte b2, byte b3) {
// Combine bytes in little-endian order
return ((int32_t)b0) | ((int32_t)b1 << 8) | ((int32_t)b2 << 16) | ((int32_t)b3 << 24);
}
// ########## SEND INTEGER TO BYTES
// CONVERT SIGNE INTEGER INTO FOUR BYTES IN LITTLE ENDIAN
// USE: int32_t value = -123456;
// USE: byte bytes[4];
// USE: intToBytes(value, bytes);
void intToBytes(int32_t value, uint8_t bytes[4]) {
bytes[0] = value & 0xFF; // Extract the lowest 8 bits
bytes[1] = (value >> 8) & 0xFF; // Shift right by 8 bits and extract the next 8 bits
bytes[2] = (value >> 16) & 0xFF; // Shift right by 16 bits and extract the next 8 bits
bytes[3] = (value >> 24) & 0xFF; // Shift right by 24 bits and extract the highest 8 bits
}
import struct
# Pack means to turn into 1 and 0 from value with type
# Unpack means to turn 1 and 0 in value with type
# i means signed integer
# Q means long unsigned value (double of an integer)
# < in little endian order
byte_integer_value = struct.pack("<i", integer)
unpacked_integer = struct.unpack("<i", byte_integer_value)[0]
byte_index_integer_value = struct.pack("<ii", integer1, integer2)
unpacked_integers = struct.unpack("<ii", byte_index_integer_value)
byte_index_integer_date_value = struct.pack("<iiQ", integer1, integer2, date_value)
unpacked_values = struct.unpack("<iiQ", byte_index_integer_date_value)
XInput is finite and won't change over time. Therefore, the following code should work for most of my future tools.
Why include XInput code in a Scratch to Warcraft project?
Because:
Preferred versions for your code:
1899887766
: To manage the left and right joysticks of the gamepad using 4 bytes. 1700000000
: To manage all the buttons using 4 bytes. If those aren't feasible, try the following alternative:
🤖 Code generated by GPT without thorough re-testing at this stage.
_You can find the original code here: GitHub Repository_
Short Description | Integer to Press | Integer to Release |
---|---|---|
Random input for all gamepads, no menu | 1399 | 2399 |
Enable hardware joystick ON/OFF | 1390 | 2390 |
Press A button | 1300 | 2300 |
Press X button | 1301 | 2301 |
Press B button | 1302 | 2302 |
Press Y button | 1303 | 2303 |
Press left side button | 1304 | 2304 |
Press right side button | 1305 | 2305 |
Press left stick | 1306 | 2306 |
Press right stick | 1307 | 2307 |
Press menu right | 1308 | 2308 |
Press menu left | 1309 | 2309 |
Release D-pad | 1310 | 2310 |
Press arrow north | 1311 | 2311 |
Press arrow northeast | 1312 | 2312 |
Press arrow east | 1313 | 2313 |
Press arrow southeast | 1314 | 2314 |
Press arrow south | 1315 | 2315 |
Press arrow southwest | 1316 | 2316 |
Press arrow west | 1317 | 2317 |
Press arrow northwest | 1318 | 2318 |
Press Xbox home button | 1319 | 2319 |
Random axis | 1320 | 2320 |
Start recording | 1321 | 2321 |
Set left stick to neutral (clockwise) | 1330 | 2330 |
Move left stick up | 1331 | 2331 |
Move left stick up-right | 1332 | 2332 |
Move left stick right | 1333 | 2333 |
Move left stick down-right | 1334 | 2334 |
Move left stick down | 1335 | 2335 |
Move left stick down-left | 1336 | 2336 |
Move left stick left | 1337 | 2337 |
Move left stick up-left | 1338 | 2338 |
Set right stick to neutral (clockwise) | 1340 | 2340 |
Move right stick up | 1341 | 2341 |
Move right stick up-right | 1342 | 2342 |
Move right stick right | 1343 | 2343 |
Move right stick down-right | 1344 | 2344 |
Move right stick down | 1345 | 2345 |
Move right stick down-left | 1346 | 2346 |
Move right stick left | 1347 | 2347 |
Move right stick up-left | 1348 | 2348 |
Set left stick horizontal to 1.0 | 1350 | 2350 |
Set left stick horizontal to -1.0 | 1351 | 2351 |
Set left stick vertical to 1.0 | 1352 | 2352 |
Set left stick vertical to -1.0 | 1353 | 2353 |
Set right stick horizontal to 1.0 | 1354 | 2354 |
Set right stick horizontal to -1.0 | 1355 | 2355 |
Set right stick vertical to 1.0 | 1356 | 2356 |
Set right stick vertical to -1.0 | 1357 | 2357 |
Set left trigger to 100% | 1358 | 2358 |
Set right trigger to 100% | 1359 | 2359 |
Set left stick horizontal to 0.75 | 1360 | 2360 |
Set left stick horizontal to -0.75 | 1361 | 2361 |
Set left stick vertical to 0.75 | 1362 | 2362 |
Set left stick vertical to -0.75 | 1363 | 2363 |
Set right stick horizontal to 0.75 | 1364 | 2364 |
Set right stick horizontal to -0.75 | 1365 | 2365 |
Set right stick vertical to 0.75 | 1366 | 2366 |
Set right stick vertical to -0.75 | 1367 | 2367 |
Set left trigger to 75% | 1368 | 2368 |
Set right trigger to 75% | 1369 | 2369 |
Set left stick horizontal to 0.5 | 1370 | 2370 |
Set left stick horizontal to -0.5 | 1371 | 2371 |
Set left stick vertical to 0.5 | 1372 | 2372 |
Set left stick vertical to -0.5 | 1373 | 2373 |
Set right stick horizontal to 0.5 | 1374 | 2374 |
Set right stick horizontal to -0.5 | 1375 | 2375 |
Set right stick vertical to 0.5 | 1376 | 2376 |
Set right stick vertical to -0.5 | 1377 | 2377 |
Set left trigger to 50% | 1378 | 2378 |
Set right trigger to 50% | 1379 | 2379 |
Set left stick horizontal to 0.25 | 1380 | 2380 |
Set left stick horizontal to -0.25 | 1381 | 2381 |
Set left stick vertical to 0.25 | 1382 | 2382 |
Set left stick vertical to -0.25 | 1383 | 2383 |
Set right stick horizontal to 0.25 | 1384 | 2384 |
Set right stick horizontal to -0.25 | 1385 | 2385 |
Set right stick vertical to 0.25 | 1386 | 2386 |
Set right stick vertical to -0.25 | 1387 | 2387 |
Set left trigger to 25% | 1388 | 2388 |
Set right trigger to 25% | 1389 | 2389 |
On traditional keyboards, you have F1 to F12 keys, and in the past, there were F1 to F24 keys. These function keys were designed to be associated with specific callable functions.
This is essentially what devices like the Steam Deck and drum pads achieve today. They assign specific functions to buttons, enabling easy access to various features.
In my proposed standard, I suggest reserving the range 1800-1999 for callable functions, effectively creating an extended set of function keys: F1 to F199.
Example Mapping:
1800 -> 1999
2800 -> 2899
It depends entirely on the context. These could be any functions or actions required by the application or system in use.
In the context of Scratch to Wow, we could list action that need to be triggerable but don't need to be store on a keystroke but write in the console from /run script