-
Notifications
You must be signed in to change notification settings - Fork 40
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
Is there an issue with the generated keyboard descriptor? #44
Comments
How are you filling in the descriptor? There should be 6 slots for scancodes: Line 83 in d0a8000
|
I start with an array of 6 zeroes. Then as I walk over my key matrix I push up to 6 keycodes into that keycodes array. You can see the code for that here: https://github.com/bschwind/key-ripper/blob/main/firmware/src/main.rs#L222 |
Gotcha! I've got two possible theories right now:
|
I'll test this on a linux machine this Thursday when I have access to one, currently sitting out the rest of a quarantine period after covid 😅 Here's the descriptor I currently get from
Here's a report with 4 keys pressed:
With a different HID (specified here), I get:
|
Hi @twitchyliquid64, sorry to get back to you so late on this. I tested the keyboard with your descriptor on a linux machine and it functioned correctly, so this seems to be a quirk with macos. |
Hi, I'm building a keyboard and am currently using this crate. I'm currently using it on MacOS.
I noticed I'm receiving phantom key inputs when I hold down 4 or more keys. Normally this would sound like ghosting, but my keyboard has diodes on every switch, and I verified with
probe-run
anddefmt
that I'm not adding these characters to theKeyboardReport
struct.a
gets inserted after the fourth pressb
gets inserted after the fifth pressc
gets inserted after the sixth pressFor example:
q
,w
,e
r
results inqwera
instead ofqwer
q
,w
,e
,r
t
results inqweratb
instead ofqwert
q
,w
,e
,r
,t
y
results inqweratbyc
instead ofqwerty
I eventually narrowed this down to the keyboard HID descriptor. I swapped it out for one from another project, and now the keyboard works properly with the scenarios above:
bschwind/key-ripper#10
I don't yet know enough about USB HID descriptors to say what's going on, but it feels like a byte is out of place somewhere.
The text was updated successfully, but these errors were encountered: