Macro keyboards are mini programmable USB keyboards that can be pressed to trigger shortcuts, a sequence of keypresses etc. They can have several layers so switching to a different one will trigger different keypresses from the same key, so e.g. different IDEs can be represented.
I’ve just bought one with a view to setting up shortcuts for debugging. Each IDE has its own unique keys for navigating through the code, so I figure it’ll be nice to just press one key to start debugging and one key to step into instead of a combination of ctrl+whatever etc
Do you use one? If so, what do you use it for and what size do you use? Is it too big / too small?
A rare case of a topic text opening with providing context on what it is talking about. Thank you! I love it.
I don’t use one. I don’t feel like I have conflicting keybindings, or a need for additional keys. When I do, I customize my bindings through settings.
I have a large selection, but I rarely use them for anything other than media keys and teams call functions. Other stuff like windows management in sway are all done on higher layers on my (40%) keyboard.
My preference is for something with at least one knob as knobs are my preference for things like scrolling, volume control, and zoom.
If you can find latching switches, these are great for triggering layers so you can get more out of your pad. You can obviously do latching layer changes without such switches in QMK, but you really need to trigger leds to help you remember which layer you on otherwise.
Pad I use the most is a CapsUnlocked CU7 that I got just before they imploded as I love the weight of the knob.
I just had mine arrive yesterday!
I have one of these
I’m using ch57x-keyboard-tool to configure it, because I don’t fancy running some random closed-source Chinese code (the manual links to a file on Google Drive). It also means I can move over my config when I switch to Linux.
I have two keys for switching between headphones and speakers, and some set up for shortcuts I forget (like ctrl-shift-e for the network monitor in Firefox). One key types “hello” just because I can.
I’ve got the large knob controlling volume, and I can click it to toggle mute. The other two are currently set to scroll, but I don’t need that as my mouse has better ergonomics for scrolling.
I still have plenty of unused keys and it’s got three layers so I won’t be running out in the foreseeable future.
Also forgot to point out, you can buy keys with a transparent cover over the top on ali so you can shove a piece of paper underneath the transparent bit to use as labels.
I’m using ch57x-keyboard-tool to configure it
Great! I’ve bought similar without the dials (I wish I didn’t have to pay extra for the stupid LEDs) and was hoping there was something open sourcey to configure it with rather than their dodgy codebase for the same reasons you list!
It works great and the config is simple. It doesn’t handle triggering things from those keypresses, but you’ve probably already got something running that does that.
I’m using Mate and it allows me to easily define custom shortcuts to open apps and so on. I suppose autoIt / the linux variants / custom script can add additional functionality to the keypad as well!
I have 6 programmable keys on my keyboard. I have macros for a few snippets that I have to type a lot and my email because my company has a stupid long name that I’m sick of typing out.
I use an old Stream Deck- not the Steam deck- from Elgato. It’s essentially a small touchscreen with a transparent button pad laid over the top, making for a fully programmable macropad with fully customisable screen-per-key.
Not only can I have esoteric shortcuts, but I can also dynamically label them, depending on layer. I have a ‘home’ layer with icons representing each other layer. So, for example I can load up a video game, and press the corresponding icon on my macropad. It will then change the icons to match whatever command it does- various whistle commands in Ark, for example. I can then change programs into my CAD, and have the icons now be various shortcuts for modelling tools.
It sounds beautiful! It’d be really nice if there were transparent rubber keypads available that could be put over phone screens. Then you could fashion an old phone as a keyboard with infinite layers. A simple flutter app to set up the shortcuts and make them configurable and badda boom!
I’m not a programmer but I want to share my experiences anyway. >:3
I have DOIO KB16 because I really needed something to allow me for scrolling and usage of shortcuts while using the drawing tablet. It has 4 layers and onboard memory so I can take it to a new pc and have all the same functionality. I disconnected my mouse and put it on a shelf due to wrist pain in favor of a game controller or drawing tablet + macropad combo for interacting with my pc. I ended up mostly using the macropad as a mouse/keyboard with shortcuts for manipulating webpages and so on. My favourite part about it is that it has 3 whooping knobs which I really wanted to have as many of as I could. By looking at the sellers discord support channel I was really lucky to actually have the macropad delivered at all because it’s some chinese seller with lacking support. Here’s the pic of it:
Edit: The post asked about how I feel about the size. My opinion is that I wish it had 1 (ideally 2) more vertical sets of keys because that would allow me to use my thumb for button pressing too. But overall I’m happy and I think it’s my only real problem with it.
Edit: The post asked about how I feel about the size. My opinion is that I wish it had 1 (ideally 2) more vertical sets of keys because that would allow me to use my thumb for button pressing too. But overall I’m happy and I think it’s my only real problem with it.
Check aliexpress. You’re going to find things that excite you including a kb that’s very similar
EDIT: I thought I’d go searching, some ideas:
- https://www.aliexpress.com/item/1005007032783471.html
- https://www.aliexpress.com/item/1005008256166426.html
- https://www.aliexpress.com/item/1005007032783471.html
- https://www.aliexpress.com/item/1005006814738256.html - an extra row. Sure it’ll take another USB port but you could stick them together!
deleted by creator
I already did so when looking for a macropad but didn’t find anything that would fit my criteria. Macropads with a bigger amount of knobs are stupidly hard to find which is something I didn’t expect when looking for one to buy.
Edit: Oh right, I just remembered that there was a bigger option that was out of stock and waaaaay out of my price range:
That’s 145 USD +shipping. It’s not something I can afford for a small keyboard. I think it may come without caps as well based on the pic included. lmao
Wow. I updated the post above with some cheapo alternatives that have mechanical keys.
There’s also MIDI controllers like: https://www.aliexpress.com/item/1005007444327683.html maybe more listed under DJ / mixing controllers
The first three have one too little horizontal row for a comfortable hand position. The last one is something I contemplated but with knobs instead and I failed to find something like that. I also get an impression that it would be uncomfortable to constantly move my hand between two keyboards but maybe I’m wrong as I never had two small keyboards to use. When hunting in the past I also read that a lot of this stuff has some shitty config apps and/or quality problems. I gave some thought making an ideal macropad myself but I’m too broke for an expensive hobby like that. I’m very happy with the macropad I managed to get because it was really hard to find something that would fit what I was looking for. It’s my first macropad ever and my first mechanical keeb as well so I was very lucky to settle on something good despite my lack of knowledge on this stuff. The settings app, onboard memory, and layers with display are also very satisfactory. It feels so good to use that the macropad I sent above feels like the only thing that would fully satisfy my more advanced needs and I would be willing to buy it if I could afford it. The size is perfect as well, it has a lot of buttons and enough knobs while not taking up too much space to leave a lot of room on my desk for the drawing tablet.
Edit: Us constantly making edits makes it a bit confusing. I’m not sure if the midi thing was there when I started writing the message or if it was added during that time. lol
Anyway, I contemplated a midi board for knobs but midi boards have limited turn radius +that would require finding some special software to actually use it. Additionally there wouldn’t be onboard memory which I’m enjoying a lot. Nothing will beat VIA/QMK programmable purpose specific keyboard.
I’m really happy that it works for you! Well done on doing the hard work to find it!
Yea, doing all the research was a grind. I expected it to be a simple purchase because I thought macropads weren’t that niche but I was proven very wrong on that. xD
Mechanical keyboards have a huge, fanatical following! /c/mechanical_keyboards - shame it’s dead. I expected to see posts of why the IBM Model M is better than everything else!
Looks nice. How much did it cost?
I just have a 36 key split keyboard with layers and combo keys, don’t need a separate macro pad when my main keyboard just is one
Which keyboard is that?
Sorry commented on a different comment down in this thread with the answer, but for other people to see it easier:
Not sure if your interest is specifically the programmable split keyboard or rather programmable in general but my Launch Heavy has this programmable layers feature. Its not split though.
I’ve got a couple keyboards with VIA/QMK and layers, I’m specifically interested in the 36 key split keyboard they mention.
It’s called a chocofi https://github.com/pashutk/chocofi
It’s based on a corne. I’ve got a bunch of bare pcbs available still if you want some, will just have to pay postage, I’m not really going to be doing anything with them.
36??? I have trouble doing a 70
Why so?
I apparently type y and b with the wrong hands.
Also, I seem to require keys on the fly that most mini keyboards don’t account for:
‘~Esc$&:;()[]{}<>=+*
The way layers on my keyboard and smaller ones I’ve tried is awkward. I don’t want a permanent layer just to type a few keys. I need something like thumb keys that change layers when you hold them down (non ortho staggered that I have doesn’t have thumb keys )
I code with mine on a daily basis with work. Best change i ever made for ergonomics and reducing RSI.
Thumb clusters so come in clutch like. Whenever I see a birthday Hertford I just think about the massive waste of space the space bar is on them.
For escape and whatnot I use combos so pressing the two leftmost keys on the top row at the same time press escape. The ones below that, tab, and below that ctrl etc. and i make modifiers like control and shift one shots if I don’t hold them down to help reduce RSI even further and so it’s easy to hit keys that they may be “covering up” as a combo.
Do you mean keys thst you hold down with your thumb while your fingers are on the home row or something else? For the former, I use split space keyboards and map the left one to enter on press, layer on hold, the right one to space on press, and a different layer on hold. That gives me more keys that you would get on a 70+ keyboard. I find this considerably easier than trying to use pinkies on shift and symbols on what is my top row, qwerty row.
Typically, I map tab and the traditional enter key to tab on press, another layer, and backspace with the same layer as tab. This layer I use for window management in sway for home row and anything else I am missing that I really want.
Is this QMK? My keyboard is ZMK I believe
ZMK also has a layer tap key that would suit for this, normal key press of your choosing and layer activation while holding: https://zmk.dev/docs/keymaps/behaviors
Alright I’ll have to give this a try. If it works (I’m already thinking about it) I’m going to make a custom keyboard.
What I’m worried about is I want to go full Bluetooth, but I need the layer tap key to affect both sides
‘~Esc$&:;()[]{}<>=+*
Other than it being your password, why?
Tick mark for executing command in bash Home directory End of line And Switch Case End of statement For clarity Arrays Blocks Math Math Assignment Math Pointers
No macro keyboard but I have a programmable mouse with 12 buttons which I assume is similar. You can have different modes with different key bindings so I made 4 modes = 48 buttons.
I don’t have that many macros though, it’s mostly control keys that are used a lot, arrow keys etc. For coding I have some bindings with ctrl-C, ctrl-V, ctrl-Z, ctrl-/ which work in most editors. Something that’s a bit more interesting, I have a button that places the word “exit” in the clipboard, so you can then press the ctrl-V button to paste the word in a terminal, cause a lot of processes (like the ruby console) can’t be closed with ctrl-C.
Most REPLs can be closed with Ctrl+D which is the EOF character.
Huh true, I’ll have to check again see if it works with the usual programs (it probably does)
Do you use a macro keyboard for shortcuts?
No. I think that macro functionality is useful, but I don’t do it via the physical keyboard.
My general take is that chording (pressing some combination of keys simultaneously) that lets one keep one hands on the home row is faster than pressing one key. So, like, instead of having separate capital and lowercase letter keys, it’s preferable to have “shift” and just one key.
I think that the main arguments for dedicated keys that one lifts one hands for would be for important but relatively-infrequently-used keys that people don’t use enough to remember chorded combinations for – you can just throw the label on the button as a quick reference. Like, we don’t usually have Windows-Alt-7 on a keyboard power on a laptop, but instead have a dedicated power button.
Maybe there’s a use to have keyboard-level-programmed macros with chording, as some keyboards can do…but to me, the use case seems pretty niche. If you’re using multiple software environments (e.g. BIOS, Windows, Linux terminal, whatever) and want the same functionality in all of them (e.g. a way to type your name), that might make some sense. Or maybe if you’re permitted to take a keyboard with you, but are required to use a computer that you can’t configure at the software level, that’d provide configurability at a level that you have control over.
In general, though, I’m happier with configuring stuff like that on the computer’s software; I don’t hit those two use cases, myself.
I have a keyboard with 10 macro keys, 5 on each side. I don’t have a whole lot of uses for them except when using Blender, I have buttons set to switch between vertex, edges, and face selection modes, one to zoom in on the selected objects, and another one or buttons to quickly scale things down to zero on a single axis.
Then I set another mode to do some repetetive things in Dwarf Fortress.