-
-
Notifications
You must be signed in to change notification settings - Fork 274
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
Add keyboard HID interface to Solo #446
base: master
Are you sure you want to change the base?
Conversation
My plan for moving this forward is to implement a CTAP vendor command (similar to PR #397) for programming a static sequence of keystrokes and then implement the corresponding support in solo-python.
|
This patch adds a keyboard HID interface to the existing FIDO2 HID interface. It allows injecting keystokes into the host when the Solo button is pressed. For now it injects the hardcoded sequence "1234". The new interface is enabled with the ENABLE_KBD macro. Right now it doesn't work with the other additional interfaces (CCID and CDC). Advertising a random combination of USB interfaces (FIDO2, kbd, CCID, CDC) requires more work and could be addressed in the future. Issue: solokeys#354
The command value is 0x51 and it accepts a single argument which is a byte string.
I have added a new
and then when you press the solo button it emits Demo here: https://twitter.com/rgerganov/status/1272817902496944128 |
you might wanna add an extra element to getinfo tho because devices should have a way to know what of these commands are possible. |
I've tried this PR. I could apply the patch on 4.1.5, and can now use the On Linux I see this appearing when connecting the key:
Using the key as normal still works |
This patch adds a keyboard HID interface to the existing FIDO2 HID
interface. It allows injecting keystokes into the host when the Solo
button is pressed. For now it injects the hardcoded sequence "1234".
The new interface is enabled with the ENABLE_KBD macro. Right now it
doesn't work with the other additional interfaces (CCID and CDC).
Advertising a random combination of USB interfaces (FIDO2, kbd, CCID,
CDC) requires more work and could be addressed in the future.
Issue: #354