A keypad to control my desk setup
github.com
github.com
I used them with fervor, taking pains to configure them to my liking and I felt I was on the right path to something amazing.
Over time, I kept wondering to myself what I was really gaining compared to just memorizing plain keyboard shortcuts mapped to the handful of functions I assigned to the separate keypad.
Every time I saw these devices unplugged I thought about plugging them back in again only to realize the moment I was removed from my workstation, I would lose the ability to use those shortcuts from my laptop's embedded keyboard.
I guess an advantage of the separate keypad is having dedicated keys, each with their own iconography for their function. But the whole idea is these are functions that are used often, so having their access embedded in muscle memory is in my opinion the better way to accomplish this.
So for example I usually listen to music through my personal mac since that’s what’s hooked up to my DAC/amp and has all of my music files, even if I’m currently got my work mac hooked up to my primary screen and KB+M. While I can use key shortcuts on my personal mac through Universal Control (like Synergy, except using P2P wifi), it’s nice to not have to mouse over to my personal mac’s screen first — just use the media controls on the stream deck hooked up to that machine.
This could also be done with a small macropad like is sold at numerous keyboard enthusiast shops, but it’s not a given that I’ll have keycaps to match the mapped functions which is where the deck’s screen-keys are nice.
i've sat in amazement watching a colorist navigate the large panels without ever taking their eyes off the screen/scopes. there are so many knobs, roller balls, buttons that it is almost sci-fi. lots of other jobs are like this with dedicated gear, and it's part of the mystery of how they do what they do
The problem with keyboard shortcuts is that they're more complicated to press, often requiring two hands or at least a specific hand to press them. Having a macro pad makes it equally easy to activate an action no matter what I'm doing. Outside of programming and writing, my hand is almost always on the mouse, so two-handed or right-handed chords are out of the questions. On the left side, there aren't many combos that are easy to press one-handed and aren't used already.
Additionally, macro pads are also great for rarely-used but annoying actions. Things that aren't common enough to waste screen space or keyboard shortcuts on, but are annoying to do by clicking through menus.
Case in point a home golf simulator. Absolutely not portable and also have noob users who need to operate the system - easier for them to click a specific labeled button for mulligan rather than needing to press ctrl-M on the actual keyboard.
Having said that I use my steam deck on my Mac to play audio and exit from zoom calls. On windows I had a bunch of scripts to launch tools that required multiple steps.
Some people want a button that very satisfyingly clicks to hang up at the end of that zoom call with their boss/lover/employee/whatever. Some of them are even willing to pay money for one. Others want to build one themselves from scratch. Sounds like you're not willing to. That's okay, it's not like someone is forcing you to buy this thing. (Thankfully, desktop computers are quite open and let you connect random hardware and run random supporting software, and they aren't locked down like, say, iPhones, which you are intimately more familiar with than I.)
For me the problem is that there are many shortcuts I need but not enough to memorize them. Also like in my IDE there are so many functions a lot of the shortcuts have to be 3 keys which is a hassle, you feel like you're playing a Chopin opus if you need them back to back.
[1]: Some random examples: https://candykeys.com/product/megalodon-doio-triple-knob-mac...
I started with a Genovation CP24 that triggers macros in Keyboard Maestro. I was very happy with the setup, but when Stream Deck arrived I got the big one and dove into making it work for me. Stream Deck is pretty impressive but the switches on the Gennovation are just better, so I went back. With the Gennovation a finger can just reach where it needs and feel that the click has been done. I could never get that level of comfort with the Stream Deck keys.
I also found that I preferred just making a paper label and popping it under the cover worked better that the cute Stream Deck key system. I can very quickly make paper labels that visually group similar keys. I can also make a key that needs to stand out from the rest. (Such as my universal delete key that works in all applications – saves me a lot of time but I had to learn to not be hitting it by accident.) Once I have labeled my keys just as I like, I don’t change them so the Stream Deck system seems like overkill.
I now have two Genovation CP24’s and one CP48 hooked up to my mac. I am so dependent on them that I browsed eBay to pick up some spares incase I ever need them.
Keyboard Maestro is the other indispensable element to my system. I has it’s quirks but seems to me that everyone should know it (or the PC equivalent) backward and forward. I have about 50 macros that get used every day. I have 252 macros in Keyboard Maestro right now. (I keep a lot of old ones around to serve as notes for making new ones, or for when software updates make one not work.) I can work on other peoples machines but I REALLY love using mine. There is just nothing like having a dedicated key that does a series of steps that you need done very often. It frees up my mind. Some of my macros in DaVinci Resolve do many operations without me having to think about stepping through each one. Same with Pixelmator Pro.
I have hundreds of keyboard shortcuts memorised for things, and I use a QMK programmable Moonlander keyboard with even more.
The real advantage of this is that it also is something my family can easily use.
The opposite of this is why I like i3. Want to use my computer? Good luck: there's no start button and you'll have to guess the chord to open rofi.
To avoid collisions I'll often bind a single key to something like "Control + Shift + Alt + Meta + F14". No application I'm aware of goes hirer than F12 and most keyboard combos require a max of 3 keys. By binding such a ridiculous number of keys to one key I don't have to contort my hand too much and I can still always find the mute key.
Often the key will trigger a script, and the script will use information such as the active window to understand the exact output. (If Zoom mute is Space, if Teams it is Ctrl+Shift+M because of course it is, if Chime forget about Mute just play a recording of me telling our account rep at AWS this is why I won't work there).
This is a better write up than I can do. https://hackaday.io/project/177896-remutermcs
I used to have an emoji + response template keyboard when I was doing social media management. I used HIDMacros[0] and Espanso [1].
My current setup is HIDMacros and Autohotkeys. With AHK's
:*:;<input_text>::{
Send "<expanded_text>"
}
you can do text expansion like Espanso. Nowadays, I am using the macro setup for virtual desktop management with SylphyHorn [2]. For text expansion stuff, I am doing auto correction of commonly mistyped words like: datbase, timstamp etc.Web apps like above show the power of adding USB support to web standards--no more having to actually install software to interact with hardware, it's awesome.
All-in-all, it's a fun automation experiment for those of us who are WFH to automate things we do everyday, such as start up and shut down our spaces.
Otherwise you're inevitable going to hit the "switch input" button when you meant "screen brightness" half the time and have to wait for 10 seconds while it switches back.
I've seen nuclear power stations use beer handles, and submarines use randomly shaped knobs to avoid the "easily confused controls" problem.
And you don't need the stream deck. I use the virtual one included with companion.
The plan is for most of this to be done via hardware signals sent from the microcontroller on the macro pad. I have a ways to go...
[0] https://github.com/haimgel/display-switch
The only thing you’d need to figure out is the standing desk part. My usb switch came with a wireless controller which is the main way I interact with it.
Unfortunately, display switching via DDC is not supported on my current monitor, so if I want that to work I'll have to find a new one that does support it. I also need it to work with Linux, Windows, and Mac M1 machines. Seems like it might be easier to do send all the DDC commands from the Linux machine, rather than get DDC working on all three.
The biggest issue is there is no product page for any monitor I could find that ever mentions if it supports DDC. You’re almost guaranteed to get some sorta DDC support for enterprise-type monitors. Consumer facing stuff is a giant gamble. Basically all LGs are out, some support it others don’t. It is entirely dependent on which controller they had on hand when they did that run, so you could have inconsistencies within the same model. Monoprice doesn’t officially support it, but the two monitors I tired from them did…kinda there were some oddities and sometimes it would just crash and I’d have to unplug and wait 30sec to reset it. Along w the fact that they were VA panels made me send them back.
Dell and HP appear to be good choices, all the dells I’ve tried support it, tho I’ve only got business dell monitors. The HP gaming monitor I settled on supports it fully, tho it takes like 10 seconds to switch, that might be because of the difference in supported refresh rate between the two computers.
I will also add that the HP does support it but it doesn’t always like being told to switch by the computer it’s not currently displaying. Usually it will switch no matter which computer sends the command but there are times it just ignores it if the computer isn’t currently being displayed.
Finally I can’t tell if this is a monitor thing or a computer thing, but sometimes (rarely) the monitors will confuse each other and not switch and when you check the error logs it says that there’s an incorrect code on the ddc buffer, only thing to do is power cycle that monitor.
All that said, I still think this is a better and cheaper solution vs a full hardware usb+video switch.
The USB-connected devices is ok since I can use a USB switcher. But I can't figure out how to switch my monitors' input sources without manually using their OSD and control buttons.
For Linux, there’s ddcutil that can do that, and for Windows there’s TwinkleTray.
I think I mentioned this somewhere and someone pointed out that zigbee is patent-encumbered and has per-device license fees. :/
I had an XKeys strip for a previous iteration, which included similar keycaps. My hand-written labels were ugly, so I skipped them this time around.
Ain't gonna happen. The problem isn't hardware but software.
Spare touchpad or trackball would also give me a lot, if I could configure it easily. Lots of places I want extra degrees of freedom.
I'm not sure what your link does for me. It points to some proprietary Mac app, as well as a few keypads. The keypads are listed as "programmable" but:
- Key codes don't correspond to Unicode characters or similar.
- Multiple keyboards are a mess. I can't, for example, have a Greek keyboard (for math equations) and a US one (for programming) because the key codes overlap.
- Most macro programming on these things is a train wreck. It's usually a proprietary app on an OS I don't use.
You can do all of this without any need for additional runtime software (apart from build environment to build and make changes obv) directly in the keyboard/pad with the mentioned qmk-firmware.
You can build the pad from scratch, buy a kit, or a prebuilt (like the linked example).
https://qmk.github.io/qmk_mkdocs/master/en/feature_unicode/
If I have it working in Alpine, Gentoo, NixOS, Guix, Debian, Mint, Arch and Rocky out of the box I fail to see why Ubuntu would be different ;)
Another great option is zmk, which has better support for Bluetooth if that's your thing.