diff options
Diffstat (limited to 'rsnix/src/ps2.rs')
| -rw-r--r-- | rsnix/src/ps2.rs | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/rsnix/src/ps2.rs b/rsnix/src/ps2.rs index 8dd58a0..4747813 100644 --- a/rsnix/src/ps2.rs +++ b/rsnix/src/ps2.rs | |||
| @@ -337,10 +337,26 @@ fn process_e0(byte: u8) -> Option<KeyEvent> { | |||
| 337 | update_modifiers(byte, true, true); | 337 | update_modifiers(byte, true, true); |
| 338 | 338 | ||
| 339 | match byte { | 339 | match byte { |
| 340 | 0x48 => Some(if ctrl_held() { KeyEvent::CtrlArrow(0) } else { KeyEvent::ArrowUp }), | 340 | 0x48 => Some(if ctrl_held() { |
| 341 | 0x50 => Some(if ctrl_held() { KeyEvent::CtrlArrow(1) } else { KeyEvent::ArrowDown }), | 341 | KeyEvent::CtrlArrow(0) |
| 342 | 0x4B => Some(if ctrl_held() { KeyEvent::CtrlArrow(2) } else { KeyEvent::ArrowLeft }), | 342 | } else { |
| 343 | 0x4D => Some(if ctrl_held() { KeyEvent::CtrlArrow(3) } else { KeyEvent::ArrowRight }), | 343 | KeyEvent::ArrowUp |
| 344 | }), | ||
| 345 | 0x50 => Some(if ctrl_held() { | ||
| 346 | KeyEvent::CtrlArrow(1) | ||
| 347 | } else { | ||
| 348 | KeyEvent::ArrowDown | ||
| 349 | }), | ||
| 350 | 0x4B => Some(if ctrl_held() { | ||
| 351 | KeyEvent::CtrlArrow(2) | ||
| 352 | } else { | ||
| 353 | KeyEvent::ArrowLeft | ||
| 354 | }), | ||
| 355 | 0x4D => Some(if ctrl_held() { | ||
| 356 | KeyEvent::CtrlArrow(3) | ||
| 357 | } else { | ||
| 358 | KeyEvent::ArrowRight | ||
| 359 | }), | ||
| 344 | 0x47 => Some(KeyEvent::Home), | 360 | 0x47 => Some(KeyEvent::Home), |
| 345 | 0x4F => Some(KeyEvent::End), | 361 | 0x4F => Some(KeyEvent::End), |
| 346 | 0x49 => Some(KeyEvent::PageUp), | 362 | 0x49 => Some(KeyEvent::PageUp), |
