MCPcopy Create free account
hub / github.com/explodingcamera/tinywasm / doom_key

Function doom_key

examples/doom/src/main.rs:138–202  ·  view source on GitHub ↗
(key: &PhysicalKey)

Source from the content-addressed store, hash-verified

136}
137
138fn doom_key(key: &PhysicalKey) -> Option<u8> {
139 let code = match key {
140 PhysicalKey::Code(KeyCode::Enter) => 13,
141 PhysicalKey::Code(KeyCode::Escape) => 27,
142 PhysicalKey::Code(KeyCode::ArrowLeft) => 0xac,
143 PhysicalKey::Code(KeyCode::ArrowRight) => 0xae,
144 PhysicalKey::Code(KeyCode::ArrowUp) => 0xad,
145 PhysicalKey::Code(KeyCode::ArrowDown) => 0xaf,
146 PhysicalKey::Code(KeyCode::ControlLeft | KeyCode::ControlRight) => 0x80 + 0x1d,
147 PhysicalKey::Code(KeyCode::ShiftLeft | KeyCode::ShiftRight) => 0xb6,
148 PhysicalKey::Code(KeyCode::AltLeft | KeyCode::AltRight) => 0xb8,
149 PhysicalKey::Code(KeyCode::Space) => b' ',
150 PhysicalKey::Code(KeyCode::F2) => 0x80 + 0x3c,
151 PhysicalKey::Code(KeyCode::F3) => 0x80 + 0x3d,
152 PhysicalKey::Code(KeyCode::F4) => 0x80 + 0x3e,
153 PhysicalKey::Code(KeyCode::F5) => 0x80 + 0x3f,
154 PhysicalKey::Code(KeyCode::F6) => 0x80 + 0x40,
155 PhysicalKey::Code(KeyCode::F7) => 0x80 + 0x41,
156 PhysicalKey::Code(KeyCode::F8) => 0x80 + 0x42,
157 PhysicalKey::Code(KeyCode::F9) => 0x80 + 0x43,
158 PhysicalKey::Code(KeyCode::F10) => 0x80 + 0x44,
159 PhysicalKey::Code(KeyCode::F11) => 0x80 + 0x57,
160 PhysicalKey::Code(KeyCode::Equal) => b'=',
161 PhysicalKey::Code(KeyCode::Minus) => b'-',
162 PhysicalKey::Code(KeyCode::KeyA) => b'a',
163 PhysicalKey::Code(KeyCode::KeyB) => b'b',
164 PhysicalKey::Code(KeyCode::KeyC) => b'c',
165 PhysicalKey::Code(KeyCode::KeyD) => b'd',
166 PhysicalKey::Code(KeyCode::KeyE) => b'e',
167 PhysicalKey::Code(KeyCode::KeyF) => b'f',
168 PhysicalKey::Code(KeyCode::KeyG) => b'g',
169 PhysicalKey::Code(KeyCode::KeyH) => b'h',
170 PhysicalKey::Code(KeyCode::KeyI) => b'i',
171 PhysicalKey::Code(KeyCode::KeyJ) => b'j',
172 PhysicalKey::Code(KeyCode::KeyK) => b'k',
173 PhysicalKey::Code(KeyCode::KeyL) => b'l',
174 PhysicalKey::Code(KeyCode::KeyM) => b'm',
175 PhysicalKey::Code(KeyCode::KeyN) => b'n',
176 PhysicalKey::Code(KeyCode::KeyO) => b'o',
177 PhysicalKey::Code(KeyCode::KeyP) => b'p',
178 PhysicalKey::Code(KeyCode::KeyQ) => b'q',
179 PhysicalKey::Code(KeyCode::KeyR) => b'r',
180 PhysicalKey::Code(KeyCode::KeyS) => b's',
181 PhysicalKey::Code(KeyCode::KeyT) => b't',
182 PhysicalKey::Code(KeyCode::KeyU) => b'u',
183 PhysicalKey::Code(KeyCode::KeyV) => b'v',
184 PhysicalKey::Code(KeyCode::KeyW) => b'w',
185 PhysicalKey::Code(KeyCode::KeyX) => b'x',
186 PhysicalKey::Code(KeyCode::KeyY) => b'y',
187 PhysicalKey::Code(KeyCode::KeyZ) => b'z',
188 PhysicalKey::Code(KeyCode::Digit0) => b'0',
189 PhysicalKey::Code(KeyCode::Digit1) => b'1',
190 PhysicalKey::Code(KeyCode::Digit2) => b'2',
191 PhysicalKey::Code(KeyCode::Digit3) => b'3',
192 PhysicalKey::Code(KeyCode::Digit4) => b'4',
193 PhysicalKey::Code(KeyCode::Digit5) => b'5',
194 PhysicalKey::Code(KeyCode::Digit6) => b'6',
195 PhysicalKey::Code(KeyCode::Digit7) => b'7',

Callers 1

window_eventMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected