Mountain-BC / DisplayPad.SDK.Demo

Mountain DisplayPad SDK Demo..
MIT License
7 stars 1 forks source link

Not quite sure how profile switching works with DisplayPad #5

Open Natrox opened 9 months ago

Natrox commented 9 months ago

Hi there.

I've been playing around with the SDK because I want to create an auto-switching mechanic for profiles. Problem is, using the DisplayPadSwitchProfile method hasn't provided me much success.

I call it as such:

helper.DisplayPadSwitchProfile("0", 2); // <-- my device ID is 2

The result is true, but no profile switch occurs. Is this a bug or am I simply doing it wrong?

Natrox commented 9 months ago

Tried more things, one of which is loading the version of DisplayPadSDK.dll shipped with the MBC software. No dice.

Things like getting/setting brightness work.

Even tried to hook into the official software, found the disassembly for SwitchProfile and set a breakpoint, but it never seems to trigger.

I'd appreciate some help, all points to this function either not working or not being used.

I'd love to create some awesome software that interoperates with DisplayPad, but I really can't do very much when I don't know why things don't work.

ravi-devitpl commented 9 months ago

Hi @Natrox

The Profile Index should be 1~5. Can you please check and confirm?

Thanks!

Natrox commented 9 months ago

Hi @Natrox

The Profile Index should be 1~5. Can you please check and confirm?

Thanks!

Hi, thanks for getting back to me.

I've tried all of these indices but they return 'false'. I've got 4 profiles.

ravi-devitpl commented 9 months ago

Hi @Natrox The Profile Index should be 1~5. Can you please check and confirm? Thanks!

Hi, thanks for getting back to me.

I've tried all of these indices but they return 'false'. I've got 4 profiles.

Have you set the APEnable to false before calling any other method?

Natrox commented 8 months ago

Hi @Natrox The Profile Index should be 1~5. Can you please check and confirm? Thanks!

Hi, thanks for getting back to me. I've tried all of these indices but they return 'false'. I've got 4 profiles.

Have you set the APEnable to false before calling any other method?

Tried that just now, unfortunately did not have the right result. Setting APEnable to false reverts the DisplayPad to the initial state with the MC logo as the first button.

FW ver 8 for reference

ravi-devitpl commented 8 months ago

Hi @Natrox The Profile Index should be 1~5. Can you please check and confirm? Thanks!

Hi, thanks for getting back to me. I've tried all of these indices but they return 'false'. I've got 4 profiles.

Have you set the APEnable to false before calling any other method?

Tried that just now, unfortunately did not have the right result. Setting APEnable to false reverts the DisplayPad to the initial state with the MC logo as the first button.

FW ver 8 for reference

Hi,

Thanks for your reply. Understand, I thought you were doing it in firmware mode. All the methods will not work in software mode, you need to control the functionality using your code. You need to utilize the key events and execute your custom functionality like Switch profile. You can save the key bindings on a specific key id and on key press you can identify what key is pressed and if it has any binding you a use your custom code there. Hope it will help.

Thanks!

dpwoods commented 8 months ago

Hi @Natrox I am looking for help with hooking rendering calls to re-route them to an off-center matrix. Do you take contract work?

Natrox commented 8 months ago

Hi @Natrox I am looking for help with hooking rendering calls to re-route them to an off-center matrix. Do you take contract work?

Hello @dpwoods. Perhaps I could help, I'll need more information on what you'd like to achieve.

Here is not the best place to discuss it, can you send me an email? natrox[at]outlook.com