Skip to content

Commit

Permalink
fix(DBus): add support for translating keyboard input to dbus input
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowApex committed Mar 13, 2024
1 parent 2d57b96 commit 26ad2ad
Showing 1 changed file with 162 additions and 2 deletions.
164 changes: 162 additions & 2 deletions src/input/event/dbus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,168 @@ fn actions_from_capability(capability: Capability) -> Vec<Action> {
_ => vec![Action::None],
},
Capability::Mouse(_) => vec![Action::None],
// TODO: Handle keyboard translation
Capability::Keyboard(_) => vec![Action::None],
Capability::Keyboard(key) => match key {
crate::input::capability::Keyboard::KeyEsc => vec![Action::Back],
crate::input::capability::Keyboard::Key1 => vec![Action::None],
crate::input::capability::Keyboard::Key2 => vec![Action::None],
crate::input::capability::Keyboard::Key3 => vec![Action::None],
crate::input::capability::Keyboard::Key4 => vec![Action::None],
crate::input::capability::Keyboard::Key5 => vec![Action::None],
crate::input::capability::Keyboard::Key6 => vec![Action::None],
crate::input::capability::Keyboard::Key7 => vec![Action::None],
crate::input::capability::Keyboard::Key8 => vec![Action::None],
crate::input::capability::Keyboard::Key9 => vec![Action::None],
crate::input::capability::Keyboard::Key0 => vec![Action::None],
crate::input::capability::Keyboard::KeyMinus => vec![Action::None],
crate::input::capability::Keyboard::KeyEqual => vec![Action::None],
crate::input::capability::Keyboard::KeyBackspace => vec![Action::Back],
crate::input::capability::Keyboard::KeyTab => vec![Action::None],
crate::input::capability::Keyboard::KeyQ => vec![Action::None],
crate::input::capability::Keyboard::KeyW => vec![Action::None],
crate::input::capability::Keyboard::KeyE => vec![Action::None],
crate::input::capability::Keyboard::KeyR => vec![Action::None],
crate::input::capability::Keyboard::KeyT => vec![Action::None],
crate::input::capability::Keyboard::KeyY => vec![Action::None],
crate::input::capability::Keyboard::KeyU => vec![Action::None],
crate::input::capability::Keyboard::KeyI => vec![Action::None],
crate::input::capability::Keyboard::KeyO => vec![Action::None],
crate::input::capability::Keyboard::KeyP => vec![Action::None],
crate::input::capability::Keyboard::KeyLeftBrace => vec![Action::None],
crate::input::capability::Keyboard::KeyRightBrace => vec![Action::None],
crate::input::capability::Keyboard::KeyEnter => vec![Action::Accept],
crate::input::capability::Keyboard::KeyLeftCtrl => vec![Action::None],
crate::input::capability::Keyboard::KeyA => vec![Action::None],
crate::input::capability::Keyboard::KeyS => vec![Action::None],
crate::input::capability::Keyboard::KeyD => vec![Action::None],
crate::input::capability::Keyboard::KeyF => vec![Action::None],
crate::input::capability::Keyboard::KeyG => vec![Action::None],
crate::input::capability::Keyboard::KeyH => vec![Action::None],
crate::input::capability::Keyboard::KeyJ => vec![Action::None],
crate::input::capability::Keyboard::KeyK => vec![Action::None],
crate::input::capability::Keyboard::KeyL => vec![Action::None],
crate::input::capability::Keyboard::KeySemicolon => vec![Action::None],
crate::input::capability::Keyboard::KeyApostrophe => vec![Action::None],
crate::input::capability::Keyboard::KeyGrave => vec![Action::None],
crate::input::capability::Keyboard::KeyLeftShift => vec![Action::None],
crate::input::capability::Keyboard::KeyBackslash => vec![Action::None],
crate::input::capability::Keyboard::KeyZ => vec![Action::None],
crate::input::capability::Keyboard::KeyX => vec![Action::None],
crate::input::capability::Keyboard::KeyC => vec![Action::None],
crate::input::capability::Keyboard::KeyV => vec![Action::None],
crate::input::capability::Keyboard::KeyB => vec![Action::None],
crate::input::capability::Keyboard::KeyN => vec![Action::None],
crate::input::capability::Keyboard::KeyM => vec![Action::None],
crate::input::capability::Keyboard::KeyComma => vec![Action::None],
crate::input::capability::Keyboard::KeyDot => vec![Action::None],
crate::input::capability::Keyboard::KeySlash => vec![Action::None],
crate::input::capability::Keyboard::KeyRightShift => vec![Action::None],
crate::input::capability::Keyboard::KeyKpAsterisk => vec![Action::None],
crate::input::capability::Keyboard::KeyLeftAlt => vec![Action::None],
crate::input::capability::Keyboard::KeySpace => vec![Action::None],
crate::input::capability::Keyboard::KeyCapslock => vec![Action::None],
crate::input::capability::Keyboard::KeyF1 => vec![Action::None],
crate::input::capability::Keyboard::KeyF2 => vec![Action::None],
crate::input::capability::Keyboard::KeyF3 => vec![Action::None],
crate::input::capability::Keyboard::KeyF4 => vec![Action::None],
crate::input::capability::Keyboard::KeyF5 => vec![Action::None],
crate::input::capability::Keyboard::KeyF6 => vec![Action::None],
crate::input::capability::Keyboard::KeyF7 => vec![Action::None],
crate::input::capability::Keyboard::KeyF8 => vec![Action::None],
crate::input::capability::Keyboard::KeyF9 => vec![Action::None],
crate::input::capability::Keyboard::KeyF10 => vec![Action::None],
crate::input::capability::Keyboard::KeyNumlock => vec![Action::None],
crate::input::capability::Keyboard::KeyScrollLock => vec![Action::None],
crate::input::capability::Keyboard::KeyKp7 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp8 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp9 => vec![Action::None],
crate::input::capability::Keyboard::KeyKpMinus => vec![Action::None],
crate::input::capability::Keyboard::KeyKp4 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp5 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp6 => vec![Action::None],
crate::input::capability::Keyboard::KeyKpPlus => vec![Action::None],
crate::input::capability::Keyboard::KeyKp1 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp2 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp3 => vec![Action::None],
crate::input::capability::Keyboard::KeyKp0 => vec![Action::None],
crate::input::capability::Keyboard::KeyKpDot => vec![Action::None],
crate::input::capability::Keyboard::KeyZenkakuhankaku => vec![Action::None],
crate::input::capability::Keyboard::Key102nd => vec![Action::None],
crate::input::capability::Keyboard::KeyF11 => vec![Action::None],
crate::input::capability::Keyboard::KeyF12 => vec![Action::None],
crate::input::capability::Keyboard::KeyRo => vec![Action::None],
crate::input::capability::Keyboard::KeyKatakana => vec![Action::None],
crate::input::capability::Keyboard::KeyHiragana => vec![Action::None],
crate::input::capability::Keyboard::KeyHenkan => vec![Action::None],
crate::input::capability::Keyboard::KeyKatakanaHiragana => vec![Action::None],
crate::input::capability::Keyboard::KeyMuhenkan => vec![Action::None],
crate::input::capability::Keyboard::KeyKpJpComma => vec![Action::None],
crate::input::capability::Keyboard::KeyKpEnter => vec![Action::None],
crate::input::capability::Keyboard::KeyRightCtrl => vec![Action::None],
crate::input::capability::Keyboard::KeyKpSlash => vec![Action::None],
crate::input::capability::Keyboard::KeySysrq => vec![Action::None],
crate::input::capability::Keyboard::KeyRightAlt => vec![Action::None],
crate::input::capability::Keyboard::KeyHome => vec![Action::None],
crate::input::capability::Keyboard::KeyUp => vec![Action::Up],
crate::input::capability::Keyboard::KeyPageUp => vec![Action::None],
crate::input::capability::Keyboard::KeyLeft => vec![Action::Left],
crate::input::capability::Keyboard::KeyRight => vec![Action::Right],
crate::input::capability::Keyboard::KeyEnd => vec![Action::None],
crate::input::capability::Keyboard::KeyDown => vec![Action::Down],
crate::input::capability::Keyboard::KeyPageDown => vec![Action::None],
crate::input::capability::Keyboard::KeyInsert => vec![Action::None],
crate::input::capability::Keyboard::KeyDelete => vec![Action::None],
crate::input::capability::Keyboard::KeyMute => vec![Action::None],
crate::input::capability::Keyboard::KeyVolumeDown => vec![Action::None],
crate::input::capability::Keyboard::KeyVolumeUp => vec![Action::None],
crate::input::capability::Keyboard::KeyPower => vec![Action::None],
crate::input::capability::Keyboard::KeyKpEqual => vec![Action::None],
crate::input::capability::Keyboard::KeyPause => vec![Action::None],
crate::input::capability::Keyboard::KeyKpComma => vec![Action::None],
crate::input::capability::Keyboard::KeyHanja => vec![Action::None],
crate::input::capability::Keyboard::KeyYen => vec![Action::None],
crate::input::capability::Keyboard::KeyLeftMeta => vec![Action::Guide],
crate::input::capability::Keyboard::KeyRightMeta => vec![Action::Guide],
crate::input::capability::Keyboard::KeyCompose => vec![Action::None],
crate::input::capability::Keyboard::KeyStop => vec![Action::None],
crate::input::capability::Keyboard::KeyAgain => vec![Action::None],
crate::input::capability::Keyboard::KeyProps => vec![Action::None],
crate::input::capability::Keyboard::KeyUndo => vec![Action::None],
crate::input::capability::Keyboard::KeyFront => vec![Action::None],
crate::input::capability::Keyboard::KeyCopy => vec![Action::None],
crate::input::capability::Keyboard::KeyOpen => vec![Action::None],
crate::input::capability::Keyboard::KeyPaste => vec![Action::None],
crate::input::capability::Keyboard::KeyFind => vec![Action::None],
crate::input::capability::Keyboard::KeyCut => vec![Action::None],
crate::input::capability::Keyboard::KeyHelp => vec![Action::None],
crate::input::capability::Keyboard::KeyCalc => vec![Action::None],
crate::input::capability::Keyboard::KeySleep => vec![Action::None],
crate::input::capability::Keyboard::KeyWww => vec![Action::None],
crate::input::capability::Keyboard::KeyBack => vec![Action::None],
crate::input::capability::Keyboard::KeyForward => vec![Action::None],
crate::input::capability::Keyboard::KeyEjectCD => vec![Action::None],
crate::input::capability::Keyboard::KeyNextSong => vec![Action::None],
crate::input::capability::Keyboard::KeyPlayPause => vec![Action::None],
crate::input::capability::Keyboard::KeyPreviousSong => vec![Action::None],
crate::input::capability::Keyboard::KeyStopCD => vec![Action::None],
crate::input::capability::Keyboard::KeyRefresh => vec![Action::None],
crate::input::capability::Keyboard::KeyEdit => vec![Action::None],
crate::input::capability::Keyboard::KeyScrollUp => vec![Action::None],
crate::input::capability::Keyboard::KeyScrollDown => vec![Action::None],
crate::input::capability::Keyboard::KeyKpLeftParen => vec![Action::None],
crate::input::capability::Keyboard::KeyKpRightParen => vec![Action::None],
crate::input::capability::Keyboard::KeyF13 => vec![Action::None],
crate::input::capability::Keyboard::KeyF14 => vec![Action::None],
crate::input::capability::Keyboard::KeyF15 => vec![Action::None],
crate::input::capability::Keyboard::KeyF16 => vec![Action::None],
crate::input::capability::Keyboard::KeyF17 => vec![Action::None],
crate::input::capability::Keyboard::KeyF18 => vec![Action::None],
crate::input::capability::Keyboard::KeyF19 => vec![Action::None],
crate::input::capability::Keyboard::KeyF20 => vec![Action::None],
crate::input::capability::Keyboard::KeyF21 => vec![Action::None],
crate::input::capability::Keyboard::KeyF22 => vec![Action::None],
crate::input::capability::Keyboard::KeyF23 => vec![Action::None],
crate::input::capability::Keyboard::KeyF24 => vec![Action::None],
},
}
}

Expand Down

0 comments on commit 26ad2ad

Please sign in to comment.