this post was submitted on 08 Feb 2025
42 points (97.7% liked)

Programming

18154 readers
335 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 3 days ago* (last edited 2 days ago) (2 children)

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

[–] [email protected] 2 points 2 days ago (2 children)
[–] [email protected] 4 points 2 days ago

Sorry commented on a different comment down in this thread with the answer, but for other people to see it easier:

https://github.com/pashutk/chocofi

[–] [email protected] 2 points 2 days ago (1 children)

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.

[–] [email protected] 2 points 2 days ago (1 children)

I've got a couple keyboards with VIA/QMK and layers, I'm specifically interested in the 36 key split keyboard they mention.

[–] [email protected] 3 points 2 days ago (1 children)

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.

[–] [email protected] 1 points 1 day ago (1 children)

I'd definitely be interested. What else would I need to build it?

[–] [email protected] 2 points 20 hours ago (1 children)

There should be a parts list on that GitHub. You'd need two microcontrollers, two batteries, all of the switches and keycaps you want a bunch of resisters and hot swap sockets if you want hotswappable switches.

The keyboard is a modification of the corne so if you can't find a tutorial on this one specifically I'd you want to watch a video, a corne one would suffice.

[–] [email protected] 1 points 13 hours ago (1 children)

Well, I can't see a parts list in that repo, but I did find others. If the offer's still open, I'll definitely take a couple PCBs. Where did you buy the rest of the parts from?

[–] [email protected] 1 points 12 hours ago

Ahh, having a quick look around looks like I may have followed a corne build guide but just made sure I had choc stuff instead. (Don't think there was an actual choc variant of the corne at the time).

I bought all of my parts here: https://mechboards.co.uk/

The machine pin socket was to hotswap the controller whilst also giving storage for the battery underneath. I think I followed a YouTube guide for that one. It's not something you need to do though. If you are thinking of that and can't find the video yourself I'll try and look around for you.

But yeah if you give me an address I'll try and see how much the postage will cost for you, and I'll try and find where I've put them too. So don't buy any of the extra parts until you know for certain I've sent pcbs your way. Just in case I don't find them. Slim chance, but you never know.

[–] hddsx 1 points 2 days ago (1 children)

36????? I have trouble doing a 70

[–] [email protected] 1 points 2 days ago (1 children)
[–] hddsx 2 points 2 days ago (3 children)

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 )

[–] [email protected] 2 points 1 day ago

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.

[–] [email protected] 2 points 2 days ago (1 children)

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.

[–] hddsx 2 points 2 days ago (1 children)

Is this QMK? My keyboard is ZMK I believe

[–] [email protected] 2 points 2 days ago (1 children)

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

[–] hddsx 1 points 2 days ago (1 children)

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

[–] [email protected] 1 points 2 days ago (1 children)

From scratch? Or a kit?

I've never tried a wireless keyboard (despiteowningmore than 50), still waiting on my Pearl three years after I ordered it lol, that would have been my first.

All my splits are cabled, so it's no issue for me.

Another option is home row layer keys, duplicating the layer options in pairs so a and h, s and j, and so on so you have the same layer from each side.

Smaller boards I use home row mods (control, super, and so on), and that works extremely well for me.

[–] hddsx 2 points 2 days ago (1 children)

Scratch probably. My friend helped me realize that the circuit is real easy. the most daunting for me is the case

[–] [email protected] 1 points 2 days ago

Nice, it does look a fun project though!

[–] [email protected] 1 points 2 days ago (1 children)

‘~Esc$&:;()[]{}<>=+*

Other than it being your password, why?

[–] hddsx 2 points 2 days ago

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