4x4 Macro Pad Kit
0xc45.com
0xc45.com
PS. Ye cannae be a 'bit unique' ;-)
Art Lebedev had the popularis keyboard which is basically what a stream deck keyboard would be like: https://www.artlebedev.com/optimus/popularis/
Also, Lebedev's Aux concept from 2008 is basically what the stream deck is.
I played with an Optimus Maximus once (Booz Allen Hamilton had one), and it was beautiful; however it wasn't particularly nice to type on.
[0] https://www.digikey.com/en/products/filter/programmable-disp...
edit - instructable for doing exactly that: https://www.instructables.com/Making-a-powerful-programmable...
If we really want custom hardware involved, the most economical solution would probably be a USB repeater that did the re-interpreting in hardware.
Took me a while to work out that the reason my pasted passwords would occasionally not work was the remapping of a couple of symbol keys. (I'm accustomed to a weird mashup of USA/UK layout, thanks mainly to Apple's non-standard 'UK' layout donating Americani?ms, but then useless prominent keys I swapped for something more helpful (backtick & pipe I think, off the top of my head, for things so useless that I literally never use them and don't know their names.))
I have thought about custom in-line hardware but that's honestly as complicated as QMK. Plus latency.
What I would love however is an inline monitor to see what keycodes I'm issuing. It gets...zany.
this is actually very simple to do with QMK if you have a board with an OLED display. it's also implemented in the default keymap for a bunch of the split ergo boards (Lily58 is one that has it)
Mac: Karabiner-Elements[3]
*nix: idk but should be plentiful ways
PC DOS: you’re probably out of luck
Sure, you could just pull out the existing hardware and replace it. Sometimes it’s easier to just start from scratch though.
#define SEND(case_enum, string) \
case case_enum:\
if (record -> event.pressed) {\
SEND_STRING(string);\
}\
return false;\
break
Looking at the OP article, I don't know if the `return false;` is really necessary? I copied it from elsewhere.This lets you just say `SEND(MIC_MUTE, SS_LCTL(SS_LALT(SS_LSFT(SS_TAP(X_F10))));` or what have you.
I left off the final semicolon because it looks more natural to me.
Pro tip, as a professional C/C++ dev, for macros:
Wrap the body in a do-while loop, to force a semicolon after it’s called https://stackoverflow.com/questions/1067226/c-multi-line-mac...
In genereal, I think hiding control flow in macros is a bad idea.
[1] https://twitter.com/Azxiana/status/1285402557846781952/photo...
I optimize my keyboard to programming. I already have a second layer for programming specific functions. I could add a third, but it's more mental load. It's not worth it.
Things that I'd put onto this:
* Mute/Unmute for Zoom * Screenshot key * Bind to a few key apps so I can switch between them quickly * Media and volume keys (so I can use a smaller keyboard, but have these within react) * A few emojis just for fun. * I'd likely have a toggle so it could serve as a num pad
caps + a => !, caps + s => @, etc. Brackets and underscores are extremely convenient to have on the home row. I also have these mapped to convenient positions "=>" and "() => {}"
Finally, I have arrows mapped to u, i, o, and p. Really, really nice for hopping one or two characters without having to shift my hands too far.
Working in situations where a full keyboard doesn’t work, I did this with a remapped numpad when I was playing with using a Surface to let me get art done in Illustrator on the bus.
Also it saddens me we have a speaker mute keycode but no system-wide mute mic.
[0] https://docs.splitkb.com/hc/en-us/articles/360011510839-Why-...
If you want to go even cheaper for a 4x4 macro pad, you can just hand-wire the thing and not buy a circuit board. I hand-wired a full keyboard and while it was not the quickest task in the world, it also wasn't that bad. Kind of relaxing. You also don't need to go overboard with mechanical supports for the keyswitches; I just 3D-printed a platform that the keyswitches slot into.
Basically, if you happen to have some magnet wire, a microcontroller, and some Cherry clones sitting around... you can make yourself a keyboard. (Diodes are nice, but you probably don't need n-key rollover on a macro pad.)
...still need to do that project. Just a small, single use device to make my Emacs life easier.
It has something to do with the custom font. If I disable "font-family: AdobeSourceCodePro, monospace" the colors appear: https://imgur.com/a/mcUX5XD
I think basically what's happening here is that the font includes some SVG glyphs (for a bunch of emoji, no doubt). This causes us to render it via a "color font" codepath, and color fonts ignore the CSS color property as the glyphs are painted with their inherent colors instead.
But in this case many (most) of the glyphs do not actually have color versions, and so they simply paint as black. We need to be making the decision whether to paint "as a color font" (ignoring CSS color) on a per-glyph basis, not per-font-run, so that glyphs without inherent color don't just default to all-black all the time.
Another way of getting to similar results without hardware hacking is via using midi controllers combined with software to translate midi messages to keystrokes (and/or macros).