this post was submitted on 19 Jul 2023
27 points (100.0% liked)

ErgoMechKeyboards

5836 readers
3 users here now

Ergonomic, split and other weird keyboards

Rules

Keep it ergo

Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)

i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²

¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid

No Spam

No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.

No Buy/Sell/Trade

This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.

Some useful links

founded 1 year ago
MODERATORS
 

This program does 2 things:

  • It adds a layer behind a "toggle key" that can be configured based on the active application.

  • It creates a pop-up to show what each key will do when the toggle is being held.

You can turn either of these features on/off with options in a config.json file.

This script currently only works on windows. This isn't ideal but none of this code is "ideal". It's quick and dirty because it evolved from a much simpler script.

I think the program could be useful when learning new keyboard layers because it gives you a way to visually search for the keys on a layer. You can customize the layout of keys in the GUI with JSONs from the keyboard layout editor.

I use this script with a MMO gaming mouse so all the example layouts/keymaps are 12 keys long and the layout is just a 3*4 grid.

Let me know what you guys think. The code is rough but I enjoy the experience it delivers.

top 5 comments
sorted by: hot top controversial new old
[–] Chimrod@lemmy.world 5 points 1 year ago (1 children)

I've made something very close, which create a mapping following the window name (windows/xlib)

https://git.chimrod.com/smartcropad.git/about/

I've made it for circuit python, and it works with a serial connexion / JSON messages. (It could be updated with raw USB )

Not yet finished, but already used daily.

[–] zmac@lemmy.world 2 points 1 year ago

Yeah having the keys change for each program is so nice. I've had trouble building up configurations for all the programs I'm using and then learning those configs so I find the GUI really nice.

[–] curioushom@lemmy.one 2 points 1 year ago (1 children)

It's awesome you made something cool. Does it essentially function as a keylogger though? If so, might be a good idea to give users an indication of that and how to stay safe (not from your application but just not becoming conformable installing keylogger type application without consideration). Thanks for making something cool and sharing!

[–] zmac@lemmy.world 3 points 1 year ago (1 children)

There's no logging of the keys being pressed. There are hooks installed on top of the keys configured to be re-mapped and the key used for toggling but these presses aren't logged anywhere. All the configuration is stored in plain text though so you'll want to be careful about what you put in there.

[–] curioushom@lemmy.one 2 points 1 year ago

Thanks for the note. My error in saying key logger, should have said key capture. Good luck!