DarthAffe / RGB.NET

The one-stop SDK for RGB-peripherals
http://lib.arge.be
GNU Lesser General Public License v2.1
403 stars 71 forks source link

Razer Blackwidow V4 Pro gets detected as Regular Blackwidow V4 #389

Closed Codemonkey6658 closed 2 months ago

Codemonkey6658 commented 2 months ago

Both Aurora and Artemis detected my Razer Blackwidow V4 Pro as a regular Blackwidow V4 and as such disable the dial,underglow and media key lights(minus the next track light) or in the case of aurora does not report it as being a usable led zone

DarthAffe commented 2 months ago

Which PID is the Blackwidow V4 Pro reporting with?

But this is just a cosmetic issue (it shows the wrong name). The capabilities are the same for all detected keyboards (the razer sdk does not make any difference between connected devices of the same type)

dial, underglow and media key lights are an issue because they are not listed as supported leds in the documentation (but its absolutely possible they are and I just don't know how to address them.)

Codemonkey6658 commented 2 months ago

PID is my keyboards pid As for the unmentioned leds in the documentation i have created a draft of how artemis reports all led ids and could provide led names if needed Layout

here the red squares dont count towards the led index the 6th row is where the underglow starts, this row is for the left side of the keyboard and starts at the dial going down to the M1 key row 7 is for the underglow on the right side and this one goes from bottom to top row 8 seems to do nothing and is labeled as void but is defined inside the actual layout row 9 is for the underglow on the wrist rest and goes from left to right

Hope that this helps

DarthAffe commented 2 months ago

What do you mean with "artemis reports all led ids" / where does the data for this layout come from? This is so different to the way it's currently implemented that it shouldn't really work at all right now if that is true.

Codemonkey6658 commented 2 months ago

That is artemis with openrgb that is the layout when you set the layout provider to none from what little i saw in their code they have a table of sorts for defining these ids

DarthAffe commented 2 months ago

Ok, to get clear of what we're talking about here: You're using Artemis and openrgb. You have the openrgb provider enabled to load your razer devices. This keyboard is shown with the wrong name and is missing some leds (like media keys). You're NOT using the razer provider.

Codemonkey6658 commented 2 months ago

The missing leds and wrong name are when I am using the razer provider.

If I am using Artemis with openrgb the name and leds are correct (note; i am using the experimental version of openrgb as 0.9.0 has not yet received the blackwidow v4 pro support)

The draft i sent over was made with the openrgb device provider

DarthAffe commented 2 months ago

Ok. In that case this does not help. The razer-sdk and openrgb are not related at all. The led-layout openrgb uses does not apply to the razer-sdk.

I doubt that they are supported, but what would be possible is that I create a small program that allows to test what happens when using undefined or off-grid slots in the led-matrix. Maybe at least some of the missing leds are controllable.

Codemonkey6658 commented 2 months ago

I wouldn't mind testing a program that tests every slot one by one or different colors for the slots and report back with the information

DarthAffe commented 2 months ago

This should do it (but i can't test if it works): RazerLedMappingTest.zip

The ones documented should work for sure, if any of the black slots in the grid does something it would be interesting to know which led it's bound to https://developer.razer.com/wp-content/uploads/2021/04/razer-chroma-led-profiles-keyboardv3.jpg

Codemonkey6658 commented 2 months ago

Screenshot 2024-06-18 232949

Most of the black slots are mapped to an led on the keyboard but some in a weird fashion 1/1 is the command dial 1/19 -> 1/22 are the media keys prev track, play, next track and mute in that order and for the underglow they are a little weird and sometimes combining multiple zones

0/0 > 3/0 are the first 4 leds on the top left of the underglow 4/0 is the 5th on the left and the first on the bottom of the wristrest after the left curve 5/0 is the 6th and 7th on the left and the 2nd and 3rd on the bottom of the wristrest after the left corner 6/0 is the 8th and 9th on the left, first 2 on the left of the wristrest and 4th and 5th on the bottom 7/0 is the 3nd on the left of the wristrest and the corner

6/23 is the 6th and 7th led on the bottom of the wristrest and the first 2 on the bottom right of the keyboard 5/23 is the 8th and 9th led on the bottom of the wristrest and the 3rd and 4th from the bottom on the right of the keyboard 4/23 is the 10th led on the bottom of the wristrest and the 5th on the right of the keyboard 3/23 is the 11th led on the bottom of the wristrest and the 6th on the right of the keyboard 2/23 is the 12th led on the bottom of the wristrest and the 7th on the right of the keyboard 1/23 is the right corner of the wristrest and the 8th on the right of the keyboard 0/23 is the first led from the bottom on the right of the wristrest

6/18 is a shared button with the right arrow key and the 2nd on the right of the wristrest 6/19 is the 3rd led on the right of the wristrest

DarthAffe commented 2 months ago

wtf ... i'd understand if they'd map them in in groups of 2 if they don't have enough space in the grid, but then with direct neighbors and not randomly spread Oo I'll add that to the mapping, but I doubt that it will be useful for anything but solid colors :(

Codemonkey6658 commented 2 months ago

Yeah that was my reaction exactly but thx for adding it