Update a scancode. The return value is the previous keycode
(&self, keycode: u32, scancode: &[u8])
| 619 | |
| 620 | /// Update a scancode. The return value is the previous keycode |
| 621 | pub fn update_scancode(&self, keycode: u32, scancode: &[u8]) -> io::Result<u32> { |
| 622 | let len = scancode.len(); |
| 623 | |
| 624 | let mut keymap = input_keymap_entry { |
| 625 | flags: 0, |
| 626 | len: len as u8, |
| 627 | index: 0, |
| 628 | keycode, |
| 629 | scancode: [0u8; 32], |
| 630 | }; |
| 631 | |
| 632 | keymap.scancode[..len].copy_from_slice(scancode); |
| 633 | |
| 634 | let keycode = unsafe { sys::eviocskeycode_v2(self.as_raw_fd(), &keymap)? }; |
| 635 | |
| 636 | Ok(keycode as u32) |
| 637 | } |
| 638 | |
| 639 | #[cfg(feature = "tokio")] |
| 640 | #[inline] |