mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 17:33:19 +01:00
In-progress
This commit is contained in:
84
README.md
84
README.md
@@ -13,6 +13,47 @@ captures from others with different ROG laptops then I should be able to add the
|
||||
|
||||
I'm now looking at the kernel source to see if I can add the inputs correctly so they show up as proper evdev events.
|
||||
|
||||
## Implemented
|
||||
|
||||
- [X] Setting/modifying built-in LED modes
|
||||
- [X] Per-key LED setting (PARTIALLY COMPLETE)
|
||||
- [ ] Fancy LED modes (custom programs)
|
||||
- [X] Daemon mode
|
||||
- [X] Saving settings for reload
|
||||
- [ ] System control
|
||||
+ [X] Sleep
|
||||
+ [X] Airplane mode
|
||||
+ [X] Screen off? Now mapped to a keycode but has no effect
|
||||
+ [X] Screen brightness up/down
|
||||
+ [ ] ROG key custom mapping (Can be done in source)
|
||||
+ [X] Fan/Performance mode
|
||||
+ [ ] Screen off??
|
||||
+ [X] Touchpad toggle (using a virtual keyboard to emit F21...)
|
||||
- [X] Capture and use hotkeys **Partially completed: aura keys work**
|
||||
+ [X] Aura control by Aura keys
|
||||
+ [X] Volume + media controls work
|
||||
- [X] Logging - required for journalctl
|
||||
|
||||
## Other Laptops
|
||||
|
||||
**Supported:**
|
||||
|
||||
- GX502 (product 0x1866) (Tested on GX502GW)
|
||||
|
||||
**Partial/Inprogress:**
|
||||
- GM501 (multizone needs testing)
|
||||
- G14 (no Lid LED support, all other functions appear to work)
|
||||
|
||||
Both of these laptops appear to have the same USB device ID as the GX502, but with different features enabled.
|
||||
|
||||
**Please help test or provide info for:**
|
||||
|
||||
- GL703(0x1869), GA502 (attempts to use same profile as GX502GW)
|
||||
- GL553(0x1854) GL753 (attempted support from researching 2nd-hand info, multizone may work)
|
||||
|
||||
If the USB product ID is 0x1866 or 0x1869 then the per-key profile with hotkeys *should* work - 0x1866 is tested as this
|
||||
is what I have.
|
||||
|
||||
## Requirements for compiling
|
||||
|
||||
- `rustc` + `cargo` + `make`
|
||||
@@ -46,7 +87,7 @@ sudo apt-get update
|
||||
sudo install rog-core
|
||||
```
|
||||
|
||||
and if the service isn't enabled:
|
||||
enable and start the service:
|
||||
|
||||
```
|
||||
sudo systemctl start rog-core.service
|
||||
@@ -106,47 +147,6 @@ If the daemon service is enabled then on boot the following will be reloaded fro
|
||||
The daemon also saves the settings per mode as the keyboard does not do this itself - this means cycling through modes
|
||||
with the Aura keys will use the settings that were used via CLI.
|
||||
|
||||
## Implemented
|
||||
|
||||
- [X] Setting/modifying built-in LED modes
|
||||
- [X] Per-key LED setting (PARTIALLY COMPLETE)
|
||||
- [ ] Fancy LED modes (custom programs)
|
||||
- [X] Daemon mode
|
||||
- [X] Saving settings for reload
|
||||
- [ ] System control
|
||||
+ [X] Sleep
|
||||
+ [X] Airplane mode
|
||||
+ [X] Screen off? Now mapped to a keycode but has no effect
|
||||
+ [X] Screen brightness up/down
|
||||
+ [ ] ROG key custom mapping (Can be done in source)
|
||||
+ [X] Fan/Performance mode
|
||||
+ [ ] Screen off??
|
||||
+ [X] Touchpad toggle (using a virtual keyboard to emit F21...)
|
||||
- [X] Capture and use hotkeys **Partially completed: aura keys work**
|
||||
+ [X] Aura control by Aura keys
|
||||
+ [X] Volume + media controls work
|
||||
- [X] Logging - required for journalctl
|
||||
|
||||
## Other Laptops
|
||||
|
||||
**Supported:**
|
||||
|
||||
- GX502 (product 0x1866) (Tested on GX502GW)
|
||||
|
||||
**Partial/Inprogress:**
|
||||
- GM501
|
||||
- G14
|
||||
|
||||
Both of these laptops appear to have the same USB device ID as the GX502, but with different features enabled.
|
||||
|
||||
**Please help test or provide info for:**
|
||||
|
||||
- GL703(0x1869), GA502 (attempts to use same profile as GX502GW)
|
||||
- GL553(0x1854) GL753 (attempted support from researching 2nd-hand info, multizone may work)
|
||||
|
||||
If the USB product ID is 0x1866 or 0x1869 then the per-key profile with hotkeys *should* work - 0x1866 is tested as this
|
||||
is what I have.
|
||||
|
||||
### Wireshark captures
|
||||
|
||||
TODO: see `./wireshark_data/` for some captures.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use crate::{
|
||||
config::Config,
|
||||
core::*,
|
||||
laptops::match_laptop,
|
||||
led_control::{AuraCommand, LedWriter},
|
||||
rogcore::*,
|
||||
};
|
||||
|
||||
use dbus::{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::{config::Config, core::RogCore, led_control::AuraCommand};
|
||||
use crate::{config::Config, led_control::AuraCommand, rogcore::RogCore};
|
||||
use rog_aura::{error::AuraError, BuiltInModeByte};
|
||||
//use keycode::{KeyMap, KeyMappingId, KeyState, KeyboardState};
|
||||
use crate::virt_device::ConsumerKeys;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#![deny(unused_must_use)]
|
||||
/// Configuration loading, saving
|
||||
mod config;
|
||||
/// The core module which allows writing to LEDs or polling the
|
||||
/// laptop keyboard attached devices
|
||||
mod core;
|
||||
/// Start the daemon loop
|
||||
pub mod daemon;
|
||||
/// Laptop matching to determine capabilities
|
||||
mod laptops;
|
||||
///
|
||||
mod led_control;
|
||||
/// The core module which allows writing to LEDs or polling the
|
||||
/// laptop keyboard attached devices
|
||||
pub mod rogcore;
|
||||
/// A virtual "consumer device" to help emit the correct key codes
|
||||
mod virt_device;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use daemon::daemon::start_daemon;
|
||||
use daemon::rogcore::FanLevel;
|
||||
use env_logger::{Builder, Target};
|
||||
use gumdrop::Options;
|
||||
use log::LevelFilter;
|
||||
@@ -19,6 +20,8 @@ struct CLIStart {
|
||||
daemon: bool,
|
||||
#[options(meta = "VAL", help = "<off, low, med, high>")]
|
||||
bright: Option<LedBrightness>,
|
||||
#[options(meta = "FAN", help = "<off, low, med, high>")]
|
||||
fan_mode: Option<FanLevel>,
|
||||
#[options(command)]
|
||||
command: Option<Command>,
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ where
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
enum FanLevel {
|
||||
pub enum FanLevel {
|
||||
Normal,
|
||||
Boost,
|
||||
Silent,
|
||||
Reference in New Issue
Block a user