roccatvulcan
roccatvulcan copied to clipboard
How does initialization work?
First, thanks for this library! I have some more ROCCAT Devices I'd like to control, so I simply tried to copy and modify your code. I also discovered my wanted device(s). But now I'm quite stuck, because I don't get whats happening inside your code :) In particulary I wanted to initialize a Sense Mousepad, but the sending of of the FeatureReport fails. I can see in your code that you're sending some encoded configurations to the keyboard. How does this work? Did you just copy that from somewhere? Honestly I have no idea how to change it so it works on another device. Any help is appreciated!
Hi Jonny How does this work: I dont know! These are the commands, which sends the roccat application when you edit the colors of the keys in the settings app. I used an USB sniffer to record whats happing between keyboard and computer and then just send the same commands. What they actually mean: Absolutely no Idea...
Thank you for the response, then I'll try that way too :) Greetings from Germany^^
Hey sorry to bother you again, but how exactly have you done it? I installed two sniffers (wireshark and hdd). I can capture the data swarm sends to the device, but I fail to reproduce the data streams. It seems the device mostly communicates in packages of 36bytes, but whenever I use the device.write(bytes)-function like you did, it is sending out packages of 64bytes (instead of 36). When I try to use the device.sendFeatureReport()-function, the device always rejects.
Example:
Swarm sending to device:
1c 00 10 90 15 48 0d d9 ff ff 00 00 00 00 0b 00
00 01 00 0d 00 80 02 08 00 00 00 00 80 06 03 03
09 04 02 04
But when I send the same data:
let wireshark1 = [ 0x1c, 0x00, 0x10, 0x20, 0x67, 0x3a, 0x0d, 0xd9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x80, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x06, 0x03, 0x03, 0x09, 0x04, 0x02, 0x04]; response = ledDevice.write([0x00].concat(wireshark1));
then a much too large block gets send
1C 00 10 20 67 3A 0D D9 FF FF 00 00 00 00 0B 00
00 01 00 0D 00 80 02 08 00 00 00 00 80 06 03 03
09 04 02 04 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Do you have any ideas what else to try?
Hi Jonny
I have to admit, I have absolutely no idea. Sorry I cant help!
Good news, I did it! Now my mousepad can react to color-changes :) I'd like to publish this modification of your package as npm seperate package. Or as an alternative we could try to merge these packages in one? I'm also planning to do modification for the kone-mouse and the khan-headset. How do you think about it? Since you came up with the concept and idea I'd like your advice.
Hi Jonny
Sorry for the delay, I was abroad a few days (probably last time this year, you know why...). Thats great news! Send some videos if you have one :) Would be great to have all in one package, but its up to you!
Videos will come as soon as I'm done fighting with hue, that's another problem but has nothing to do with your great module :) I published an "extended" version of your package see here. Can I add you as contributer or something like that? I'm quite new at this github thing, I'm usually using gitlab.
If ok for you I will have a look if I can merge it and I can give you write access to the repo. But first I am very curious what you are doing :)
Well the idea was to build a program to integrate roccat devices into my philips hue setup. I'm using a lightstrip at the back of my monitor to achieve ambilighting. But unfortunately the default AIMO protocol lights up my gear in any colors, but mostly not matching my ambilighting. Hue provides an API to read the status of their lights, so I'm using that for syncing. I've already implemented a working prototype see here, but that one only works in the "scene" mode of hue, not the actual screen ambilighting. Short demo here