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

Information exchange regarding keyboard layout #1

Open
chmod222 opened this issue Sep 14, 2018 · 1 comment
Open

Information exchange regarding keyboard layout #1

chmod222 opened this issue Sep 14, 2018 · 1 comment
Assignees
Labels
question Further information is requested

Comments

@chmod222
Copy link

chmod222 commented Sep 14, 2018

Hey RedFantom,

it appears that we are working towards the same goal. I have mapped out and implemented large parts of the protocol used not only by the official SDK but also the control software itself.

I found your repository while trying to locate all MasterKeys models with their respective USB product IDs so that I may implement automatic layout detection, but this might be a dead end now, as both your ANSI Pro L and my ISO Pro L have the same USB product ID, 003b.

So what I am thinking now is that the layout information is encoded somewhere in the init exchange of the protocol that I have largely been unable to decipher. I know that the very first 01 02 ... exchange returns the firmware version in ASCII, but there's also some 40 20 ... package that I can't make sense of. This is the exchange I recorded during initialization:

>> 40 20 00 00 00 00 00 00   00 00 00 00 00 00 [00...]
<< 40 20 00 00 05 14 04 0c   12 01 20 00 00 00 [00...]

Since you are the only other person I know who has an ANSI Pro L, maybe we could compare these and find out which field, if any, is responsible for carrying the layout information?

@RedFantom RedFantom added the question Further information is requested label Sep 15, 2018
@RedFantom RedFantom self-assigned this Sep 15, 2018
@RedFantom
Copy link
Owner

RedFantom commented Sep 15, 2018

That is very interesting indeed. I used the same approach to decode the protocol used, but I also got stuck on certain parts because I only have a single test device, indeed an ANSI Pro L. The fact that your ISO and my ANSI have the same USB identifiers is kind of disappointing, but I suppose this is a great opportunity for decoding a larger part of the protocol.

I will post the output of the debug executable in issue #10 of your repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants