# ROG-Core rog-core is a utility for Linux to control many aspects (eventually) of the ASUS ROG laptops like the Zephyrus GX502GW. One of the benefits of this app (for me at least) is that you *don't* require a kernel with correct support for the laptop, or custom patched modules. The app reads and writes direct to the device interrupts, and can be customised (in source) quite extensively to do what you want such as directly controlling your laptop backlight rather than emitting a key-press for the DE to handle. There is also the possibility of rebinding fn keys to be macros which emit a series of keyboard presses. The laptop I currently have is the GX502RW and so I'll be using that for the basis of this app. If I get wireshark captures from others with different ROG laptops then I should be able to add them. 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. ## Requirements - `rustc`, `cargo` - `libusb-1.0-0-dev` or equivalent package for your distro - `libdbus-1-dev` or equivalent package for your distro ## Installing Run `make` then `sudo make install`. If you want to use the daemon mode on system boot you'll need to enable and start the systemd service with: ``` $ sudo systemctl start rog-core.service $ sudo systemctl enable rog-core.service ``` ## Use Running the program as a daemon manually will require root. Standard (non-daemon) mode expects to be communicating with the daemon mode over dbus. Commands are given by: ``` rog-core