From ef6ca9e51ed2bba6c7b6f156f663a31ee900fbbc Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Sat, 7 Jan 2023 11:56:56 +1300 Subject: [PATCH] Add support for GL703GE keyboard layout --- CHANGELOG.md | 2 ++ rog-aura/data/aura_support.ron | 7 +++++++ rog-control-center/src/main.rs | 21 ++++++++++++--------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed554b51..5c0a0948 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- Support for GL703GE keyboard layout ### Changed - Better handling of `/etc/asusd` not existing - Better handling of non-existant config files diff --git a/rog-aura/data/aura_support.ron b/rog-aura/data/aura_support.ron index 507ecf61..870447e4 100644 --- a/rog-aura/data/aura_support.ron +++ b/rog-aura/data/aura_support.ron @@ -335,6 +335,13 @@ basic_zones: [Key1, Key2, Key3, Key4], advanced_type: None, ), + ( + board_name: "GL703G", + layout_name: "gl503", + basic_modes: [Static, Breathe, Strobe, Rainbow], + basic_zones: [], + advanced_type: None, + ), ( board_name: "GM501G", layout_name: "fa507", diff --git a/rog-control-center/src/main.rs b/rog-control-center/src/main.rs index 9adf0f66..9148e76e 100644 --- a/rog-control-center/src/main.rs +++ b/rog-control-center/src/main.rs @@ -33,14 +33,14 @@ const APP_ICON_PATH: &str = "/usr/share/icons/hicolor/512x512/apps/rog-control-c fn main() -> Result<()> { let args: Vec = args().skip(1).collect(); - let parsed = match CliStart::parse_args_default(&args) { + let cli_parsed = match CliStart::parse_args_default(&args) { Ok(p) => p, Err(err) => { panic!("source {}", err); } }; - if do_cli_help(&parsed) { + if do_cli_help(&cli_parsed) { return Ok(()); } @@ -116,13 +116,15 @@ fn main() -> Result<()> { let mut path = PathBuf::from(DATA_DIR); let mut layout_name = None; let mut layouts = Vec::new(); - if parsed.board_name.is_some() || parsed.layout_viewing { - path.pop(); - path.push("rog-aura"); - path.push("data"); + if cli_parsed.board_name.is_some() || cli_parsed.layout_viewing { + if cfg!(feature = "mocking") { + path.pop(); + path.push("rog-aura"); + path.push("data"); + } layouts = KeyLayout::layout_files(path.to_owned()).unwrap(); - if let Some(name) = &parsed.board_name { + if let Some(name) = &cli_parsed.board_name { if let Some(modes) = LedSupportFile::load_from_config() { if let Some(data) = modes.matcher(name) { led_support = data; @@ -143,7 +145,7 @@ fn main() -> Result<()> { board_name = "GQ401QM".to_string() }; - if parsed.layout_viewing { + if cli_parsed.layout_viewing { layout_name = Some(layouts[0].clone()); board_name = layouts[0] .file_name() @@ -193,7 +195,8 @@ fn main() -> Result<()> { } let config = Config::load()?; - if !config.run_in_background || parsed.board_name.is_some() || parsed.layout_viewing { + if !config.run_in_background || cli_parsed.board_name.is_some() || cli_parsed.layout_viewing + { break; }