Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure wave mode speed? #21

Open
BobbyWibowo opened this issue Jul 6, 2018 · 9 comments
Open

Configure wave mode speed? #21

BobbyWibowo opened this issue Jul 6, 2018 · 9 comments

Comments

@BobbyWibowo
Copy link

BobbyWibowo commented Jul 6, 2018

For some reason wave mode is very slow on my GE62 6QD. It used to be "just right" a couple of weeks ago but then it suddenly stopped being "just right" and instead became as slow as a snail.

Though I tried another tool (the one that runs on nodejs), which apparently had an option to set cycle period for wave mode and it worked very well, but it feels kinda eh to run a short node script on startup, tho I guess it's just me.

@Gibtnix
Copy link
Owner

Gibtnix commented Jul 8, 2018

Can you please tell me all of the arguments that you use? I think you use an explicit intensity, i.e. your call is something like "sudo msiklm blue,green,purple high wave" (with whatever color arguments you use); please try to remove the intensity argument (high, medium or low) and it is likely to work in the same way as the node.js version. If not I guess an additional minor change in the source code is required and I would provide you with an adjusted version for testing.

If simply removing the intensity argument fixes the issue, this is the deeper reason (in case you are interested in it): Actually msiklm supports two different ways how to communicate with the keyboard while the node.js supports only one and thus, supports not as many devices as msiklm does. Some older devices (discussion is available in some closed issues) do not support a full RGB color selection. For this I decided to support two ways (cf. set_color() in msiklm.c) how the color is set while the way how it is done is controlled by the intensity argument. Setting this to anything else than 'rbg' (which is the default if you do not supply it explicitly) results in the color setting command that is required for older devices.

@BobbyWibowo
Copy link
Author

Hello there,

Well, I just ran sudo misklm off to turn off the last settings I had with the node.js version, and then I ran sudo msiklm red,green,blue wave. The keyboard lid up with red, green, blue, as expected, but the wave effect though... well, this was a first. It did work, but it only dimmed the keyboard very very slightly in wave-like manner. Basically, if you did not pay careful attention, you would not have noticed that it actually dimmed the keyboard slightly in wave-like manner but would instead have thought that there was no wave effect at all. But the "speed" of the "wave" seemed to have become just right.

I tried pressing the SteelSeries button nearby the power button "twice" to have it turned off (game mode -> off) and then ran the msiklm command again (wave), but the result was the same.
I kinda assumed using the SteelSeries button would result in a "reset" like effect just in case the node.js version leftover some particular settings that became stuck even after running sudo msiklm off, but that did not seem to be the case.

Also, I mentioned that it used to work a couple of weeks ago. Truthfully back then I even had it setup as an autostart as mentioned in the README. I'm sure I had the settings as red,green,blue wave and it indeed behaved correctly quite a while (a few weeks), but it just suddenly stopped behaving correctly after that.

I couldn't figure out the cause. Actually it also took me quite a while to get it working properly back then, because at first it was also being slow (I'm guessing I did use the high intensity at one point). Anyways, after it stopped working, I gave up and decided to use normal mode till two days ago.

I just started trying the node.js version two days ago and noticed that it had a "cycle period" option and tested it. It worked great with any speed I wanted. But then I remembered that when I did some digging around the old issues, someone also requested a faster wave speed but you mentioned in it that you did not know the "hack" to do it. I figured since the node.js version have it (although I don't know since when exactly), I should also mention it in this issue as a reference.

Oh yeah, I also tried sudo msiklm red,green,blue rgb wave before posting this issue but back then it was also being slow. When I tried it again just now, it behaved exactly the same way I mentioned above. I'm guessing the node.js version had something to do with it though, but whenever I ran the node.js version again with the exact same wave options I liked, it would still work correctly.

@Gibtnix
Copy link
Owner

Gibtnix commented Jul 9, 2018

Ok I will try to fix this issue. As your preferred settings are red,green,blue wave - could you please test what happens if you set the color and the mode independently, i.e. first set only the colors (sudo msiklm red,green,blue) and in an additional call the mode (sudo msiklm wave)? If this also reproduces the issue it would be very intersting to replace only the mode call with the other tool and vice versa (i.e. set the colors first with the nodejs tool and try to set the mode with msiklm).

For the moment I think that it does not have something to do with the color configuration but only with the setting of the mode...

@BobbyWibowo
Copy link
Author

I just tried setting colors first then followed by setting the mode to wave, the behavior was the same as my previous reply.

@Gibtnix
Copy link
Owner

Gibtnix commented Jul 9, 2018

Ok thanks, I'll try to debug it... however, this is not that easy as the issue is not present with my keyboard, but I'll come back to this soon

@BobbyWibowo
Copy link
Author

Alright, many thanks!

@Gibtnix
Copy link
Owner

Gibtnix commented Jul 9, 2018

Ok, I have prepared a version that allows to configure the wave period. Feel free to try the added version, in line 371 you can change the period. Maybe you can find a working configuration for your keyboard...
main.zip

@BobbyWibowo
Copy link
Author

🤔 but it's the exact same file as the one in master

@Gibtnix
Copy link
Owner

Gibtnix commented Jul 10, 2018

Sorry, my fault, packed the wrong file; msiklm.c is the required file, not main.c.

Further I would like to mention that I noticed the following: I also use a GE62 and here, the current master version correctly sets the wave mode (and always did in the past). However, after trying a bit around with the attached version, the previously working version also failed at enabling the wave mode (it was rather slow). Even a reboot did not fix this. I had to turn off the computer and only after restarting after a few minutes, the default version worked again. I don't really know why this is the case, but as you said that previously, msiklm worked for your keyboard, maybe the situation is the same on your side. The way how the mode has been set did never change, only how the colors are set (either predefined or RGB). So if msiklm could set the wave mode, it has been done by the same code currently running.

msiklm.zip

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

No branches or pull requests

2 participants