Closed reidprichard closed 3 months ago
Hi, thanks! Yes, being able to filter by device also on Windows would be a valuable addition. I will try to implement it!
Great, I'd love to see that happen! For now I'm trying Kanata, but it's quite a different paradigm. Like Kmonad, it sets a map and layers for the entire keyboard, which has its advantages but is a bit cumbersome for one-off keybinds. I love the simplicity of your format with "in >> out", and the virtual keys concept is very useful.
Not sure if you are familiar with Rust (I'm not, sadly), but Kanata accomplishes device-specific remapping on Windows using the interception driver. Hopefully that's a more relevant example that AutoHotkey.
By the way - the reason I use device-specific keybinds is that I have a macropad with lots of buttons, and it's easier to set them to a-z than to find that many key combinations that are not commonly mapped in applications. One workaround I've used before is to set the macropad to the joystick buttons to remap in software. I don't see these buttons in Mozilla's key list from the readme - does that mean they're not supported?
This would be a great addition
Hi, this will be available in the upcoming 4.0.0 release which is already documented and testable in the next
branch. It is also using the Interception driver, with its shortcoming (especially this open issue).
could be fun to play around with two numpad-keyboards and mapping them as one split keyboard
@kbilsted This is exactly what I am going to be doing soon ;)
Cool project! I'm just wondering if implementation of the
device
filter in Windows is planned in the near term. My workflow depends on having per-device and per-application keybinds, and being able to do that all in a single cross-platform program would be incredible.I'm currently using a combination of kmonad and keyd on Linux and AutoHotkey with AutoHotkey Interception on Windows and man is it annoying to keep up with all that.
There are a lot of remapper tools out there, but AFAIK yours is the only one that simultaneously allows device- and application-specific binds. Having both of those work cross-platform would be a killer feature. (Some sort of layering feature would be very cool too, but I think that can be worked around more easily.)