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

Not all MS keyboards start with CD #19

Open
javl opened this issue Dec 3, 2019 · 0 comments
Open

Not all MS keyboards start with CD #19

javl opened this issue Dec 3, 2019 · 0 comments

Comments

@javl
Copy link

javl commented Dec 3, 2019

I'm not sure if you'd be interested in making any updates to keysweeper, but I'll post this here anyway. Might be useful for other people trying to get it to work.

The dongle for my Microsoft Sculpt keyboard/numpad/mouse combo broke and I'm trying to see if I could replace it with keysweeper (though if it works I'm not sure I want to keep using a keyboard you can sniff so easily).

keysweeper wasn't able to find my keyboard initially, but after doing some debugging it seems this line was the problem:

if (p[4] == 0xCD) { ....

It seems the first part of the MS Sculpt keyboard's MAC is oxC8 instead, 0x98 for its numpad and 0x68 for the mouse). After changing this in the script I can reliably find all three devices.

The keyboard seems to be recognized as an encrypted one, pretty much always outputting 8: 08 38 84 01 C9 BB E0 14, so that's another puzzle though. Interesting thing here is that the numpad and mouse do return different data with every event, so it seems those might not be encrypted?

edit: the actual keypresses are detected OK (the event, not the contents) but I do get a lot of false positives for 'potential keyboard found' which leads me to think the values are not actually the MAC value. Also, it wouldn't make sense for the three devices to have different starting MAC addresses, as that value is supposed to be the vendor ID I believe? So perhaps they might be using a different message format altogether.

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

No branches or pull requests

1 participant