tuxmark5 / ApexCtl

An utility to enable extra macro keys on Steelseries Apex keyboards
GNU Lesser General Public License v3.0
101 stars 19 forks source link

flags mandatory? #24

Open mf0hka opened 9 years ago

mf0hka commented 9 years ago

when I use: colour="0000FF" apexctl colors -n $colour:8 -s $colour:8 -e $colour:8 -w $colour:8 -l FFFF00:8 keyboard is blue Logo, yellow. now imagine the keyboard is blue, as the result of the last command. then do: apexctl colors -l FFFF00:8

keyboard is now red. Despite not explicitly having declared flags to change it.

tuxmark5 commented 9 years ago

Unfortunately right now this is expected behavior. This is because when changing keyboard colors, ApexCtl uses a command that has to specify colors for all zones. When you skip some zone, ApexCtl defaults the color to "FF0000:8" which is red.

In order to properly fix this, ApexCtl would have to remember current color profile (stored in a file somewhere) and then combine it with new command line parameters. And this would take some effort to implement. If this is really necessary for you, I can implement it, but a bit later (like in a week or so).

mf0hka commented 9 years ago

No rush (Lol really need them keyboard lights! :) ) I wrote a fix into my script. I just wasn't sure if it was known behavior. red is a great default color. Out of curiosity, is there a way to read the current colour from the keyboard? Any how, at the time, I was just really confused , because things were changing and I hadn't told them to.

tuxmark5 commented 9 years ago

I'm sure that USB request that reads existing color profile exists, but it isn't implemented in ApexCtl. I would need to fire up my VM with Steelseries software and capture some extra packets to figure out which usb request does this exactly.

As for confusion, I agree that this is a weird default behavior. Maybe we should add extra comment to warn users about this.