Skip to content

AteebXYZ/omen-sequencer-lighting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

My project to reverse engineer the OMEN Sequencer RGB lighting system

Setup

Since the keyboard mapping for all OMEN Sequencers should be the same, first try running before touching the keyboard_coords.json and keyboard_map_refined.json:

python3 line.py

If you notice any columns that look weird or have missing keys, look below:
python3 calibrate.py

This is an interactive keyboard mapper which will allow you to map each key to a column, note that this process is very prone to errors which is why you must run:

python3 refine.py

This will allow you to correct any errors you made while creating the columns. Once you've done that, to use effects like raindrop, you need to convert this into a 2D grid via another helper script add_rows.py

Installation

git clone https://github.com/AteebXYZ/omen-sequencer-lighting
cd omen-sequencer-rgb
python -m build --wheel
sudo python -m installer dist/*.whl

omen-sequencer-lighting:


HP Omen RGB Modular Controller

options:
  -h, --help                    show this help message and exit
  --interface INTERFACE         Interface number (usually 2)
  --mode                        {static,scan,rainbow,wave,raindrop,playback}
  --color COLOR                 Single RGB color for static/scan modes (example: 255,0,0)
  --colors COLORS [COLORS ...]  Gradient colors for gradient mode (example: 255,0,0 0,255,0 0,0,255)
  --angle ANGLE                 Direction of animation in degrees (0-360). 0=Right, 90=Down, 180=Left, 270=Up
  --speed SPEED                 Animation speed (default: 0.01)
  --spread SPREAD               Color spread between columns (default: 0.08)
  --smoothness SMOOTHNESS       Wave smoothness: 1.0 is smooth, 0.1 is sharp/scan-like (default: 1.0)
  --trail TRAIL                 Raindrop trail length
  --drops DROPS                 Max simultaneous raindrops
  --spawn SPAWN                 Chance of spawning a new drop each frame (0-1)
  --fps FPS                     Frames per second for raindrop mode
  --coords COORDS               Optional JSON with full 2D coordinates for raindrop mode
  --file FILE                   Path to a JSON file containing raw HID packets for playback mode

Playback mode

You can use wireshark to capture USB packets for your keyboard while in a VM with Windows running the OMEN Gaming Hub or OMEN Light Studio, export only the RGB data packets, usually in x.y.4 where x is your bus ID and y is your device ID. Then use the setup_to_py.sh script to convert the packets into a python array, use --mode playback and input the new .py file with --file

Notes

  • This was only tested on Linux
  • The script should probably work on Windows or Mac though

Credits

Thanks to this repo for the base script that helped me convert Wireshark packets into python arrays

About

My attempt at reverse engineering the OMEN Sequencer keyboard's lighting.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors