Some help configuring an alternate input
August 20, 2020 11:27 PM Subscribe
I bought a pedal for my computer to reduce strain on my hands...now I want to trick out configuration (though in the future this could apply to any sort of input). I'm on a mac, but also use parallels into windows...will lay out what I'm looking for, am hoping to configure this with keyboard maestro and/or karabiner elements but am open to buying new software if necessary.
So I bought a pedal as an alternate input on my computer. The details aren't terribly important, though what is is how the firmware works: you can easily reprogram what the pedals do, but reprogramming requires their driver to reprogram the pedal itself. This isn't too hard to do, but it's very inconvenient to do every time one changes an app, which is why I want to figure out something using some sort of key mapping software.
I should mention again that I'm on a mac, and often uses parallels into windows. I've used keyboard maestro for minor macros, but no clue if they will work in the parallels environment...I am willing to buy software on the PC side of things if necessary, and would appreciate tips on how to get this all working with parallels.
My goal is that I can configure the pedal such that there is a default configuration, but then when certain apps are in focus it will switch to another configuration if there is one. Furthermore, i'd like to be able to "force" it into a given configuration. Though honestly as I type this the automatic per-app switching is a nice to have, I'd be more than ok with having to manually switch it through a number of presets or something.
Is this achievable? My thought is that I can have the pedals map to some weird combination of keys nothing else uses (any recommendations?), then keyboard maestro or karabiner elements (or something else?) should be able to do the rest...though I'm not quite sure how, and I'm very not sure about the parallels/windows side of things.
I feel like this is a question well suited to some sort of subreddit, but I don't know which one. If you think there is another place on the web where I should ask this, I'd also appreciate that.
I should also mention that I can program, I just don't know hardware at all, so how keyboards and keyboard reprogramming work is a mystery to me. One solution that could work would be if there was a way where I could just make it run a script any time I hit the pedal...if the script got information on the keystroke and active app, then it could manage everything (assuming it could intercept the keystroke and then emit a new one). I'm not sure how possible this is though...and there may be an easier way leveraging apps that do this sort of thing.
So I bought a pedal as an alternate input on my computer. The details aren't terribly important, though what is is how the firmware works: you can easily reprogram what the pedals do, but reprogramming requires their driver to reprogram the pedal itself. This isn't too hard to do, but it's very inconvenient to do every time one changes an app, which is why I want to figure out something using some sort of key mapping software.
I should mention again that I'm on a mac, and often uses parallels into windows. I've used keyboard maestro for minor macros, but no clue if they will work in the parallels environment...I am willing to buy software on the PC side of things if necessary, and would appreciate tips on how to get this all working with parallels.
My goal is that I can configure the pedal such that there is a default configuration, but then when certain apps are in focus it will switch to another configuration if there is one. Furthermore, i'd like to be able to "force" it into a given configuration. Though honestly as I type this the automatic per-app switching is a nice to have, I'd be more than ok with having to manually switch it through a number of presets or something.
Is this achievable? My thought is that I can have the pedals map to some weird combination of keys nothing else uses (any recommendations?), then keyboard maestro or karabiner elements (or something else?) should be able to do the rest...though I'm not quite sure how, and I'm very not sure about the parallels/windows side of things.
I feel like this is a question well suited to some sort of subreddit, but I don't know which one. If you think there is another place on the web where I should ask this, I'd also appreciate that.
I should also mention that I can program, I just don't know hardware at all, so how keyboards and keyboard reprogramming work is a mystery to me. One solution that could work would be if there was a way where I could just make it run a script any time I hit the pedal...if the script got information on the keystroke and active app, then it could manage everything (assuming it could intercept the keystroke and then emit a new one). I'm not sure how possible this is though...and there may be an easier way leveraging apps that do this sort of thing.
I'm guessing this probably won't work for most of your use cases, but just in case it does: some programs allow you to assign hotkey combos to actions. You could assign your pedal hot key combo to the actions you want, rather than trying to make your pedal ultimately emit the default combo.
If all the Windows apps you use allow this but the Mac ones don't (or vice versa), that means you only have to solve the interception problem on one OS.
posted by natabat at 7:00 AM on August 21, 2020
If all the Windows apps you use allow this but the Mac ones don't (or vice versa), that means you only have to solve the interception problem on one OS.
posted by natabat at 7:00 AM on August 21, 2020
It might be easier to point you to scripting options knowing what hardware is involved. Is it possible to give the make/model of pedal?
posted by They sucked his brains out! at 11:09 AM on August 21, 2020
posted by They sucked his brains out! at 11:09 AM on August 21, 2020
A bit late, but I'll put this here in case it's relevant to anyone:
I just came across Geekhand.org, which is a forum full of people tinkering with ergonomic equipment and often making their own, or custom making it for others (here's a thread about making your own Datahand, for instance!)
Seems like a potentially useful place to ask this kind of question.
posted by trig at 5:07 AM on September 27, 2020
I just came across Geekhand.org, which is a forum full of people tinkering with ergonomic equipment and often making their own, or custom making it for others (here's a thread about making your own Datahand, for instance!)
Seems like a potentially useful place to ask this kind of question.
posted by trig at 5:07 AM on September 27, 2020
This thread is closed to new comments.
It sounds to me that you are on the right track, but there are a number of puzzles you will need to figure out. I am certain that the method you outline in the last paragraph is possible. The other idea of manually switching actually sounds harder because then you have to have an interface in addition to the background process.
Here is a little Windows executable I wrote that maps keystrokes to other keystrokes. And of course with any programming, there are a million ways to do everything.
The Mac scripting tools would probably work. Whatever tools you use, search for how to work your list of requirements:
Listen for keystrokes
Determine current top window
Emit mapped keystrokes
Asking questions on StackOverflow about the specific programming environment and lower level problems, like one of the items on this list is how to get real answers.
You will want to think about how hard it would be edit the configuration, like when you add a new program.
And since you are working on two operating systems, you might want to look for something cross platform. I would assume that whatever you end up with it would be installed separately on Mac and Windows.
Sounds like a fun project. Good luck!
posted by bitslayer at 6:30 AM on August 21, 2020