this post was submitted on 08 Feb 2025
40 points (100.0% liked)

Programming

18127 readers
466 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 !webdev@programming.dev



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
[–] MrScottyTay@sh.itjust.works 8 points 1 day ago* (last edited 1 day 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

[–] MorphiusFaydal@lemmy.world 1 points 1 day ago (2 children)
[–] MrScottyTay@sh.itjust.works 4 points 1 day 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

[–] BingBong@sh.itjust.works 2 points 1 day 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.

[–] MorphiusFaydal@lemmy.world 2 points 1 day 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.

[–] MrScottyTay@sh.itjust.works 3 points 1 day ago

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.

[–] hddsx@lemmy.ca 1 points 1 day ago (1 children)

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

[–] MrScottyTay@sh.itjust.works 1 points 1 day ago (1 children)
[–] hddsx@lemmy.ca 2 points 1 day 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 )

[–] MrScottyTay@sh.itjust.works 2 points 15 hours 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.

[–] tankplanker@lemmy.world 2 points 1 day 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@lemmy.ca 2 points 23 hours ago (1 children)

Is this QMK? My keyboard is ZMK I believe

[–] tankplanker@lemmy.world 2 points 22 hours 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@lemmy.ca 1 points 22 hours 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

[–] tankplanker@lemmy.world 1 points 22 hours 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@lemmy.ca 2 points 21 hours ago (1 children)

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

[–] tankplanker@lemmy.world 1 points 21 hours ago

Nice, it does look a fun project though!

[–] 0101100101@programming.dev 1 points 23 hours ago (1 children)

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

Other than it being your password, why?

[–] hddsx@lemmy.ca 2 points 23 hours 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