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

Multiple Keyboard/HID support. #2006

Open
mateli opened this issue Apr 1, 2024 · 0 comments
Open

Multiple Keyboard/HID support. #2006

mateli opened this issue Apr 1, 2024 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@mateli
Copy link

mateli commented Apr 1, 2024

Support using multiple keyboard and other HID devices independently from each other.

The input API already has a keyboard index API but at least on Windows it's always zero. The raw keyboard API provides ways to get various information about the source device for a Windows keypress event. This includes enough information to have a non-zero index value as well as vendor+product id so it's possible to identify exactly what device it is.

I don't know how to do this in other operating systems but it should be possible. I would like to avoid adding something platform dependent in my application which is why I suggest this as a feature in SILK, hiding away the specific platform API for doing this.

Note that the online examples for using the windows raw keyboard API from C# doesn't pin the struct between registering and unregistering for raw keyboard notifications. This randomly makes the application stop receiving raw keyboard notifications which is rather annoying. Also not unregistering properly leads to a kernel memory leak like many other Windows API:s so don't do that.

@mateli mateli added the enhancement New feature or request label Apr 1, 2024
@Perksey Perksey added this to the 3.0 milestone Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants