Skip to content

feat: add RGB controls with fake suspend integration - #140

Open
antnyhills wants to merge 1 commit into
virtudude:mainfrom
antnyhills:rgb-support
Open

feat: add RGB controls with fake suspend integration#140
antnyhills wants to merge 1 commit into
virtudude:mainfrom
antnyhills:rgb-support

Conversation

@antnyhills

@antnyhills antnyhills commented Jul 22, 2026

Copy link
Copy Markdown

This PR adds RGB configuration controls to the Armada Control Decky plugin and the fake-suspend script.

Key Features

  • Enhanced RGB UI: Adds an "RGB Settings" tab featuring:
    • Quick Color Presets: 9 curated preset color buttons (Red, Orange, Yellow, Green, Cyan, Blue, Purple, Magenta, White) for fast selection.
    • Normalized LED Color Preview: Real-time visual preview displaying the pure color hue without black pigmenting, accurately representing physical LED output.
    • Advanced Controls: Expandable raw RGB sliders (R, G, B) to keep the default view clean while allowing fine-tuning.
    • Zone Sync & Brightness: Dedicated brightness slider and option to sync left and right LED zones.
  • Hardware-Agnostic Discovery: Dynamically scans /sys/class/leds/ at runtime. Automatically detects and supports both:
    • Unified Linux multicolor framework nodes (multicolor:left, multicolor:right)
    • Individual single-channel LED node layouts (e.g., l:r1, l:g1, l:b1 on AYN Odin 2 / Thor / Odin 3), grouping multi-LED channels per side into unified Left and Right zones.
  • Graceful Fallbacks: If a device lacks RGB hardware or standard sysfs entries, the discovery system returns empty and ignores write calls without throwing errors or crashing the plugin.
  • Fake-Suspend Integration: Updates fake-suspend to dynamically detect and turn off all active RGB/joystick LEDs upon entering fake suspend, and cleanly restores their previous states on wake.

Testing

  • Verified working on AYN Odin 3 (SM8750) using single-channel controls.
  • Untested on any other device.

@antnyhills

antnyhills commented Jul 22, 2026

Copy link
Copy Markdown
Author

Here is a cleaned up and updated pull request. This includes a better layout for the RGB selection and fixes for better reliability.
screenshot (1)

screenshot

@antnyhills antnyhills changed the title feat: add RGB controls and fake suspend integration feat: add RGB controls with fake suspend integration Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant