-
Notifications
You must be signed in to change notification settings - Fork 332
Read from multiple inputs #596
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
base: master
Are you sure you want to change the base?
Conversation
Without having looked into the code specifics, I think this is fixable by forwarding all received events that kmonad doesn't care to process to uinput. There may be some extra code that needs to be added to uinput registration for the kernel to accept kmonad's forwarded mouse events, though I'm not sure about that. |
Yes.
If I understand correctly, in this line [1], changing Edit: You may also add Edit-2: Edit-3: This maybe helpful: https://www.kernel.org/doc/html/latest/input/event-codes.html [1] Line 21 in 95bb58b
[2] These are keycodes; see /usr/include/linux/input-event-codes.h .
|
@IzumiRaine any updates on this? |
Sorry, nothing yet. I'll take another look around October (will be a bit too busy before then). Feel free to close the PR meanwhile. |
@IzumiRaine Hi, could you please present a small configuration example of how to use multiple inputs? Thanks! |
@Ninlives sure. You can add multiple paths to
But please keep in mind that so far this is just a quick hack and only for Linux. |
+1 on this feature. It would be nice as well if you could specify "*" as the input device, and then it would match all attached keyboard devices. |
Hacky implementation of multiple inputs on Linux.
My goal was to use extra buttons on my mouse to switch layers on my keyboard, so I needed a way to attach the same kmonad instance to two input devices. Unfortunately, it turns out the mouse pointer stops moving if I run kmonad on the mouse; so I abandonded the idea (I thought the keyboard and mouse parts would be different endpoints, but apparently not). Maybe this code can still be useful for somebody else as a starting point.