| 136 | } |
| 137 | |
| 138 | fn 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', |