Release 0.4

Projected timeline based on current release cadence is late September / early October 2020

On the list of must haves (critical)

  • Standardize the key names to allow easy Aurora integration (and anything else that maps specific keys)
  • Graphical display in GUI - #398 (closed)
    • Automatically resize when window resizes (graphical_led_update_merge branch - MERGED)
    • Key labels based on key LED names (graphical_led_update_merge branch - MERGED)
    • Key labels with symbols
    • Select one or more LEDs and apply changes to selection (graphical_led_update_merge branch - MERGED)
    • Button to show/hide the graphical LED view (graphical_led_update_merge branch - MERGED)
    • Color update working correctly for non-per-LED modes (graphical_led_update_merge branch - MERGED)
    • Expand large keys
  • Detection Class (see #420 (closed)) including UI feedback (progress bar)
    • Merged PR !87 (closed) - Adds Resource Manager class and REGISTER_DETECTOR macros
    • Add device name strings to detector macros (async_detection branch - MERGED)
    • Display progress bar with detection percentage and active detector name (async_detection branch - MERGED)
    • Asynchronous detection (async_detection branch - MERGED)
    • Rescan button (postponed)
    • Cancel detection button
    • Investigate hotplugging (postponed)
  • CLI on Windows
    • Git Bash (Does not detach but no output)
    • CMD (Detaches immediately but output shows)
    • PowerShell (Detaches immediately but output shows)
    • Windows shortcuts (Working!)
  • E1.31 matrix configuration
    • matrix settings in e131.txt
    • matrix layout options
  • E1.31 keepalive option
  • E1.31 unicast mode

The nice to haves (nice to have)

  • Cached config which would allow for state saving, device ignoring
  • Cached detection separate but linked to config to speed up detection

Additional device support is always welcomed. List includes but is not limited to the planned implementation of the following:

  • Gigabyte RAM (Currently with "I've kind of forgotten about it" @CalcProgrammer1 😉 )
  • AMD GPU i2c for Sapphire card (Linux 🐧 @CalcProgrammer1 )
  • Support for 60% GK6X keyboards (#421 Volunteer Wanted )
  • Support for the Tecknet M008 Mouse (#365 (closed) @Dr_No )
  • Coolermaster MM711 mouse support (@Dr_No)
  • Coolermaster ARGB controller (@Dr_No)
  • HyperX Pulsefire Surge (Direct mode implemented @CalcProgrammer1 )
  • Corsair H100i/H115i PRO RGB (@CalcProgrammer1)
  • See also New Device Issues
  • Demo devices (Software-only devices)
    • Motherboard, DRAM, and GPU devices with single and linear zones
    • Keyboard zone with matrix, key names
    • Resizable linear zone
  • ASRock Polychrome improvements (see polychrome_b450_steel_legend branch, merged into master)
    • Reliable color control
    • Reliable speed control
    • Zone/LED selection
    • Investigate per-LED ARGB control
  • Gigabyte RGB Fusion 2 SMBus Detection
    • Use DMI information to only run RGB Fusion 2 SMBus detection on motherboards that have this chip
    • Come up with a way to filter out other 0x68 devices, possibly on GPUs
    • Add as many supported boards as possible

Related but not core

  • Keyboard Visualizer
    • Debian Packaging - Done
    • Windows Buildbot - Done
    • Linux Buildbot - Done
  • OpenRGB E1.31 Receiver
    • Debian Packaging - TODO
    • Windows Buildbot - Done
    • Linux Buildbot - WIP
  • Aurora Integration

Stretch targets

  • Simple effect engine (Downstream maintainers please weight in)
    • After discussion on Discord, current plan is to not include a built in effects engine, but possibly create an external OpenRGB FX or something. Also possibility of expanding Keyboard Visualizer. Other effects options exist - Aurora, Artemis, E1.31 software.
Edited by Adam Honse