Comments (10)
@N00byKing The keyboard hard crash issue should be resolved with the improvements to the RGB interface in the firmware we're working as I referred to in the other issue. I'll try to remember to let you know when we've pushed that firmware update so you can take it for a spin
from wooting-rgb-sdk.
I have a Program that plays a lil' animation when I lock my Computer. I want the Keyboard to function normally before and after unlocking (the program runs as a background service). Therefore, I call reset after an unlock (and new changes wont be applied after relock etc.).
I have another Program that does lighting effects for a Game and displays stats on the keyboard. That one's pretty recent and therefore probably broken though ᵖˡˢ ᵃᵘʳᵒʳᵃ , but it encounters the same issue: After closing the Game and reopening, color changes fail.
Generally this is probably (?) an issue with any Background Service using the SDK.
I think your suggestion in splitting them is the best course of action, imo.
Sadly I can't test the branch at the moment. I'll try to next Tuesday at the latest (currently away)
from wooting-rgb-sdk.
Tested it, the fix works great!
from wooting-rgb-sdk.
Well, I finally tested it (sorry about the Delay, Corona seperated me from my Keyboard).
It seems to work fine.
However, in one of my Programs it now hard-crashes the Keyboard for some reason. I really have no clue why. I tried making a smaller Program to illustrate the Issue, but I was not able to (If you want to take a look, its ŧhis one).
Otherwise LGTM
from wooting-rgb-sdk.
Just pushed some changes which should hopefully resolve your issues. Could you give them a wee test for me? Just on the develop branch.
Also, what is your use case for applying lighting after calling wooting_rgb_reset()
? As the reset function also closes the keyboard, so it may be worthwhile splitting the function into wooting_rgb_colors_reset
and wooting_rgb_close
?
from wooting-rgb-sdk.
Sorry, but were the changes merged yet?
from wooting-rgb-sdk.
You're right, woops
from wooting-rgb-sdk.
I've pushed an initial version of the separate "Reset RGB" function in the develop branch if you wanna have a wee play around with it @N00byKing
from wooting-rgb-sdk.
Will do as soon as I can. Sadly I am seperated from my Keyboard for a while ._.
from wooting-rgb-sdk.
I refer to the USB send feature commands not the function names for the API.
The initial method was that only by sending RgbColorInit
the keyboard is allowed to change the colours externally until the RgbColorResetAll
command leaves that mode. So that all RGB updates are ignored as long as this mode isn't active. So the original behaviour was expected from me. To me it looks like there isn't a real concept here. Despite the bug, that now a RGB command can put the Wooting into a deadloop or something when sent after the RGB mode is leaved (haven't verified it for myself), a clear handling is missing. Like the keyboard should inform the app with a status message as a reply if it don't accept RGB updates because it's not in the RGB mode, then the app knows that it must send the init command again. Next the init command can have a paramter to control if every LED should be set back to default or not. So the app can reset every key without the need to leave the mode by sending the init command again and it's not needed to have a new command just for the reset. In addition then the app has the choice to not influence the keys it don't take care of. So it's possible to use multiple apps for different keys without interfering each other. The command RgbColorResetAll
should behave as original and only renamed to RgbColorClose
there the init command gets an ResetAll
parameter.
So that wooting_rgb_reset()
API function sends an wooting_usb_send_feature(RgbColorInit, (ResetAll = true), 0, 0, 0)
command to the keyboard.
The main problem here is that multiple apps can change the LEDs instead that only one has the main control and decides which app can change it (like via a priority list). By this it would be also possible to block specific apps (maybe not all future apps are nice). Like how the Razer Connect feature works. In addition I would love to see the ability to exclude different keys in the Wootility from external RGB controlling. So for example that the mode key always has the colour which is set for the specific profile.
from wooting-rgb-sdk.
Related Issues (20)
- Add a function to reset a key in the array buffer HOT 3
- Please attach dll files in releases as assets HOT 3
- State of the RGB SDK HOT 12
- Implement something like an SDK "ping"? HOT 1
- Move hid_write calls to a separate thread HOT 1
- support osx HOT 3
- Wootility inaccessible after running something using the SDK HOT 6
- Initialize rgb buffers with current rgb values HOT 4
- Add opt-out to gamma mapping when using `array_set_full`, `array_set_single`
- Linux compiling issues HOT 6
- Determine whether device is ISO or ANSI HOT 8
- help HOT 1
- Wooting 2HE, LE and 60HE crashing on FW 2.5.9 HOT 6
- Add device ID generation with results consistent with Analog SDK HOT 1
- wooting_rgb_kbd_connected function always returns 0(false) HOT 1
- RGB buffers are shared between devices of the same interface
- Incorrect Caps lock behaviour when SDK is controlling lighting HOT 2
- wooting_rgb_close does not call wooting_rgb_reset_rgb for every keyboard
- Allow override of select keys
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wooting-rgb-sdk.