From 3330e4973f4b55a5cd87b7a3a4a27f6b81622026 Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Fri, 29 Jul 2022 11:15:37 +1200 Subject: [PATCH] rog-aura: add proper labels for keys via &str into --- rog-aura/data/layouts/g533_US.toml | 8 +- rog-aura/src/key_to_str.rs | 145 ++++++++++++++++++++++ rog-aura/src/keys.rs | 7 +- rog-aura/src/lib.rs | 2 + rog-aura/src/per_key_rgb.rs | 4 + rog-control-center/src/main.rs | 1 + rog-control-center/src/pages/aura_page.rs | 3 +- 7 files changed, 161 insertions(+), 9 deletions(-) create mode 100644 rog-aura/src/key_to_str.rs diff --git a/rog-aura/data/layouts/g533_US.toml b/rog-aura/data/layouts/g533_US.toml index f06889c3..140edecb 100644 --- a/rog-aura/data/layouts/g533_US.toml +++ b/rog-aura/data/layouts/g533_US.toml @@ -53,7 +53,7 @@ row = [ 'Hyphen', 'Equals', 'BkSpc', - 'Home', + 'MediaPlay', ] [[rows]] @@ -72,7 +72,7 @@ row = [ 'LBracket', 'RBracket', 'BackSlash', - 'PgUp', + 'MediaStop', ] [[rows]] @@ -90,7 +90,7 @@ row = [ 'SemiColon', 'Quote', 'Return', - 'PgDn', + 'MediaPrev', ] [[rows]] @@ -108,7 +108,7 @@ row = [ 'FwdSlash', 'RshiftSmall', 'UpRegular', - 'End', + 'MediaNext', ] [[rows]] diff --git a/rog-aura/src/key_to_str.rs b/rog-aura/src/key_to_str.rs new file mode 100644 index 00000000..e6b9e9ce --- /dev/null +++ b/rog-aura/src/key_to_str.rs @@ -0,0 +1,145 @@ +use crate::keys::Key; + +impl From for &str { + fn from(k: Key) -> Self { + (&k).into() + } +} + +impl From<&Key> for &str { + fn from(k: &Key) -> Self { + match k { + Key::VolUp => "Volume Up", + Key::VolDown => "Volume Down", + Key::MicMute => "Mute Mic", + Key::Rog => "ROG", + Key::Fan => "Fan Control", + Key::Esc => "Escape", + Key::F1 => "F1", + Key::F2 => "F2", + Key::F3 => "F3", + Key::F4 => "F4", + Key::F5 => "F5", + Key::F6 => "F6", + Key::F7 => "F7", + Key::F8 => "F8", + Key::F9 => "F9", + Key::F10 => "F10", + Key::F11 => "F11", + Key::F12 => "F12", + Key::Del => "Delete", + Key::Tilde => "Tilde", + Key::N1 => "1", + Key::N2 => "2", + Key::N3 => "3", + Key::N4 => "4", + Key::N5 => "5", + Key::N6 => "6", + Key::N7 => "7", + Key::N8 => "8", + Key::N9 => "9", + Key::N0 => "0", + Key::Hyphen => "-", + Key::Equals => "=", + Key::BkSpc => "Backspace", + Key::BkSpc3_1 => "Backspace LED 1", + Key::BkSpc3_2 => "Backspace LED 2", + Key::BkSpc3_3 => "Backspace LED 3", + Key::Home => "Home", + Key::Tab => "Tab", + Key::Q => "Q", + Key::W => "W", + Key::E => "E", + Key::R => "R", + Key::T => "T", + Key::Y => "Y", + Key::U => "U", + Key::I => "I", + Key::O => "O", + Key::P => "P", + Key::LBracket => "[", + Key::RBracket => "]", + Key::BackSlash => "\\", + Key::PgUp => "Page Up", + Key::Caps => "Caps Lock", + Key::A => "A", + Key::S => "S", + Key::D => "D", + Key::F => "F", + Key::G => "G", + Key::H => "H", + Key::J => "J", + Key::K => "K", + Key::L => "L", + Key::SemiColon => ";", + Key::Quote => "'", + Key::Return => "Return", + Key::Return3_1 => "Return LED 1", + Key::Return3_2 => "Return LED 2", + Key::Return3_3 => "Return LED 3", + Key::PgDn => "Page Down", + Key::LShift => "Left Shift", + Key::LShift3_1 => "Left Shift LED 1", + Key::LShift3_2 => "Left Shift LED 2", + Key::LShift3_3 => "Left Shift LED 3", + Key::Z => "Z", + Key::X => "X", + Key::C => "C", + Key::V => "V", + Key::B => "B", + Key::N => "N", + Key::M => "M", + Key::Comma => ",", + Key::Period => ".", + Key::FwdSlash => "/", + Key::Rshift => "Right Shift", + Key::RshiftSmall => "Right Shift", + Key::Rshift3_1 => "Right Shift LED 1", + Key::Rshift3_2 => "Right Shift LED 2", + Key::Rshift3_3 => "Right Shift LED 3", + Key::End => "End", + Key::LCtrl => "Left Control", + Key::LCtrlMed => "Left Control", + Key::LFn => "Left Fn", + Key::Meta => "Meta", + Key::LAlt => "Left Alt", + Key::Space => "Space", + Key::Space5_1 => "Space LED 1", + Key::Space5_2 => "Space LED 2", + Key::Space5_3 => "Space LED 3", + Key::Space5_4 => "Space LED 4", + Key::Space5_5 => "Space LED 5", + Key::RAlt => "Right Alt", + Key::PrtSc => "Print Screen", + Key::RCtrl => "Right Control", + Key::Up => "Up", + Key::Down => "Down", + Key::Left => "Left", + Key::Right => "Right", + Key::UpRegular => "Up", + Key::DownRegular => "Down", + Key::LeftRegular => "Left", + Key::RightRegular => "Right", + Key::UpSplit => "Up", + Key::DownSplit => "Down", + Key::LeftSplit => "Left", + Key::RightSplit => "Right", + Key::RFn => "Right Fn", + Key::MediaPlay => "Media Play", + Key::MediaStop => "Media Stop", + Key::MediaNext => "Media Next", + Key::MediaPrev => "Media Previous", + Key::NormalBlank => "", + Key::NormalSpacer => "", + Key::FuncBlank => "", + Key::FuncSpacer => "", + Key::ArrowBlank => "", + Key::ArrowSpacer => "", + Key::ArrowRegularBlank => "", + Key::ArrowRegularSpacer => "", + Key::ArrowSplitBlank => "", + Key::ArrowSplitSpacer => "", + Key::RowEndSpacer => "", + } + } +} diff --git a/rog-aura/src/keys.rs b/rog-aura/src/keys.rs index c0851c14..5e3bf8a4 100644 --- a/rog-aura/src/keys.rs +++ b/rog-aura/src/keys.rs @@ -118,6 +118,10 @@ pub enum Key { LeftSplit, RightSplit, RFn, + MediaPlay, + MediaStop, + MediaNext, + MediaPrev, NormalBlank, /// To be ignored by per-key effects NormalSpacer, @@ -307,9 +311,6 @@ impl From for KeyShape { Key::ArrowBlank => KeyShape::ArrowBlank, Key::ArrowSpacer => KeyShape::ArrowSpacer, - Key::UpRegular | Key::LeftRegular | Key::DownRegular | Key::RightRegular => { - KeyShape::Normal - } Key::ArrowRegularBlank => KeyShape::ArrowRegularBlank, Key::ArrowRegularSpacer => KeyShape::ArrowRegularSpacer, diff --git a/rog-aura/src/lib.rs b/rog-aura/src/lib.rs index edcffd34..3e0de5dd 100644 --- a/rog-aura/src/lib.rs +++ b/rog-aura/src/lib.rs @@ -9,7 +9,9 @@ pub use builtin_modes::*; mod per_key_rgb; pub use per_key_rgb::*; pub mod error; +pub mod key_to_str; pub mod keys; +pub use key_to_str::*; pub mod layouts; pub mod usb; diff --git a/rog-aura/src/per_key_rgb.rs b/rog-aura/src/per_key_rgb.rs index 3d4f0f36..e5d33b34 100644 --- a/rog-aura/src/per_key_rgb.rs +++ b/rog-aura/src/per_key_rgb.rs @@ -193,6 +193,10 @@ impl KeyColourArray { | Key::ArrowSplitSpacer | Key::RshiftSmall | Key::LCtrlMed + | Key::MediaPlay + | Key::MediaStop + | Key::MediaPrev + | Key::MediaNext | Key::RowEndSpacer => return None, Key::Fan | Key::Space | Key::BkSpc => return None, }; diff --git a/rog-control-center/src/main.rs b/rog-control-center/src/main.rs index 978c8eda..548972a5 100644 --- a/rog-control-center/src/main.rs +++ b/rog-control-center/src/main.rs @@ -42,6 +42,7 @@ fn main() -> Result<(), Box> { })?; let mut board_name = String::new(); file.read_to_string(&mut board_name)?; + board_name = "G533".to_string(); let mut layout = KeyLayout::ga401_layout(); // default let mut path = PathBuf::from(DATA_DIR); diff --git a/rog-control-center/src/pages/aura_page.rs b/rog-control-center/src/pages/aura_page.rs index 61b6016c..567fef44 100644 --- a/rog-control-center/src/pages/aura_page.rs +++ b/rog-control-center/src/pages/aura_page.rs @@ -30,13 +30,12 @@ impl<'a> RogApp<'a> { // your boat let shape = KeyShape::from(key); + let label = <&str>::from(key); if shape.is_blank() || shape.is_spacer() { blank(ui, shape); } else if shape.is_group() { - let label = format!("{key:?}"); key_group(ui, colour, shape.ux(), shape.uy()).on_hover_text(label); } else { - let label = format!("{key:?}"); key_shape(ui, colour, shape).on_hover_text(label); } }