Add translte mode in input_service

This commit is contained in:
Asura
2022-07-27 20:01:42 -07:00
parent d08931c317
commit 25525cda3f
3 changed files with 82 additions and 37 deletions

View File

@@ -819,6 +819,11 @@ fn legacy_keyboard_mode(evt: &KeyEvent) {
}
}
fn translate_keyboard_mode(evt: &KeyEvent) {
dbg!(evt.chr());
let chr = char::from_u32(evt.chr()).unwrap_or_default();
rdev::simulate_char(chr, evt.down);
}
fn handle_key_(evt: &KeyEvent) {
if EXITING.load(Ordering::SeqCst) {
@@ -832,6 +837,9 @@ fn handle_key_(evt: &KeyEvent) {
KeyboardMode::Map => {
map_keyboard_mode(evt);
}
KeyboardMode::Translate => {
translate_keyboard_mode(evt);
}
_ => {
legacy_keyboard_mode(evt);
}