this post was submitted on 18 Jul 2023
170 points (99.4% liked)

ErgoMechKeyboards

5846 readers
92 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 is the first time I built a keyboard!
A cheapino!
It took a little bit of time to get everything figured out, but I was able to finish that build relatively easily.
However, I am having trouble customizing the layout... I can't load it in the qmk.fm tool and when I upload a json file it gives me something that doesn't match my keyboard.
Also, the encoder currently types 'y' when turned right, I got 2 thumb keys working as spaces and I don't have a modifier key.
As far as I can tell, everything is soldered right, the diodes are in the right direction...
Did I mess up my soldering or is the cheapino firmware buggy?
Any app that can help me flash/customize my keyboard? I'll keep googling.
Thanks!

top 41 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 year ago (3 children)

Hey, thats a very nice build!

Im only using Mac, so I mapped the encoder to undo/redo, which on mac is LGUI+KC_Y/Z, but unfortunately not the same on windows. On windows gui(win)+y/z just equals "y/z", so thats why you get y and z when you turn the encoder.

Like @[email protected] says, you need to edit the encoder.c file to tweak it to what you want. If you cant figure it out, let me know how you would like it and Ill send you some code.

I checked the default keymap, and there is indeed double space there, I guess nobody has ever used it...

Anyway, what you want to do is go into keyboards/cheapino/keymaps and copy "tompi" to e.g. "chracoon", and then upload the keymap.json file to the configurator. When you are finished tweaking, download to same place and flash with "make cheapino:chracoon:flash"

Let me know if anything doesnt work.

And like @[email protected] says, I did indeed make a little bobo when routing the reversed RJ45, but fortunately it was pretty easy to fix in software, the matrix has to be custom anyway... There are some ghosting issues which I have not found the root cause for, but havent really hade the time to dig into it(just fixed the ones I found in software...) I suspect these are related to my choice of doubling the columns of the duplex matrix, instead of the usual row-doubling...

[–] [email protected] 5 points 1 year ago (1 children)

Hey! Nice to see you here! Thanks again for your awesome design. Once I have some more spare time, I'm going to make a revision of my board that I based on Cheapino, that will fix the mistake with the RJ45 and some things I wanted to add, and I will open source my design (gotta come up with a name too, and maybe some silkscreen art). Once I do that and test the new prototype, I might apply the same fixes to Cheapino. Would you be interested in a pull request? Again, I don't want to promise anything, since I have very little spare time lately, but I think your board is awesome and it would be awesome if we made it a little easier for people trying to build it.

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

Of course, that would be awesome. I am going to Make a v2, with hotswap and 5 pin support and fix some other small stuff.

The coolest thing would be if you made the reversible RJ45 available as a footprint, then anybody can use it without making the same mistake i did ;)

[–] [email protected] 3 points 1 year ago

That's actually a neat idea. I'll try to implement it once I get to it. Thanks for the suggestion.

[–] [email protected] 3 points 1 year ago

Omg, thanks! I really liked the design/cost and it made me want to try the whole ergomech keyboard idea instead of just looking at pictures.
Your post explains so many things!
I'll jump on it as soon as I get back from work and I'll see if I can solve my issues.
Do you plan on updating the design? No push, just asking.

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

also just fininshed the hardware build and now - for the first time - try to get qmk on it. I cloned the repo just as in build guide and also installed qmk as per qmk docs. but when I issue

make cheapino:default:flash

I get

QMK Firmware 0.15.18 make: *** No rule to make target 'cheapino:default:flash'. Stop.

Any idea? I am also on Mac...

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

Hey. Cool! Send some pics!

Since there is no official qmk support for cheapino, you need to use my fork: https://github.com/tompi/qmk_firmware/tree/cheapino

I should maybe try to get my fork merged into official qmk…

For your question about miryoku, there isnt a super easy way. If you are confident with git and c, you can try merging my cheapino fork into miryoku.

I based my own keymap on miryoku, so if you start with «make cheapino:tompi:flash» you should be pretty close.

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

This sounds excellent. Will give it a try in a few hours and let you know. Maybe we can ask manna to include it into the official Miryoku builds, too.

[–] [email protected] 5 points 1 year ago

I love seeing pics like this! I don’t have advice for you.

[–] [email protected] 4 points 1 year ago (1 children)

I also own the Cheapino and made myself a keymap which is fully working. You can have a look at it here. Hooe that helps at least some bit.

Regarding the qmk toolbox: You can take the json file from one of the keymaps in tompis qmk_firmware repository and upload it in qmk toolbox. Then you can have the correct layout and you can configure it to your liking.

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

Ah! I just recompiled, used your encoder config and the Henrik keymap, it is almost perfect.
Many thanks, the keyboard works really well now and I'll be modifying the keymap to my needs, it's already so close to what I need!
I'll move the NUM layer key to the left so I can enter numbers without lifting my mouse hand. :D

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

Cool! I'm happy it actually helped you :)

[–] [email protected] 4 points 1 year ago (1 children)

I think its a firmware problem. Have you tried compiling the default keymap on tompi's branch to see if that fixes the problem?

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

Yeah, that's what I did with the qmk command line utility on windows...
I am new to qmk and custom keyboards so it's been confusing so far.
I'll try recompiling with another layout.

[–] [email protected] 4 points 1 year ago (1 children)

I might be completely wrong, but I've built my custom based on ideas from cheapino and in my opinion, tompi made a mistake when designing the RJ45 connection. When I copied his design, I ended up with one of the rows connected to ground on the other half. To amend that, I made a custom cable. You can see how he's trying to make it work by adding some bitmasks with functions like fix_ghosting_issue, but it's not a ghosting issue per se, but a mistake in wiring. You can check that with a multimeter running on continuity check mode. I haven't been able to make my keyboard work properly before making a cable with four wires reversed, so that the connection is correct.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Hmmm, that's good to know. I'll check that out with a multimeter.
I was wondering what type of network cable the keeb supports while building it.
Networking cables can either be straight or crossover. I believe 2 pairs are affected by this difference, maybe that's where the issue comes from?
edit: just checked and I have a straight cable.

[–] [email protected] 4 points 1 year ago (1 children)

Can't help with the technical issues, but the keeb looks great. Really like the color of those key caps

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

Thanks! I got the cheapest XDA caps that looked fine on Amazon. I believe they are called 'Aerospace Appolo'. They are just decent; the print is not well aligned on some keys.

[–] [email protected] 3 points 1 year ago

Saw this thumbnail in my feed and thought it was a goatse meme

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Great to see another Cheapino! The rotary encoder needs to edited through the encoder file, I had the same issue it is set like this as default.

I can’t help with qmk.fm I am on Linux and used make:Cheapino for my flashing. But it was confusing for me to figure out as well with this being my first build and first interaction with QMK.

I can send you my .uf2 file and you can flash my layout by just dragging the file into the RPI-RP2 drive hahaha.

I emailed Tompi when I got stuck and he responded very quickly and was very helpful. I’m sure you could do the same.

I also highly recommend adding these legs to the bottom to get some tenting on the board. So comfortable! https://a.aliexpress.com/_mK3uakA

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

Oh thank you!
I might try this again on Linux and see how it goes.
It's good to know that the encoder can be fixed, I'll take a look how to do that.
Those are nice legs, might get some. I am also already in the process of designing a 3d-printed case that will also serve for tenting. We'll see how it goes lol.

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

Let me know how the case goes, I would love a case for mine! Good luck with the keyboard, these are really fun to use!

[–] [email protected] 5 points 1 year ago (1 children)

Here's the first prototype I made in tinkercad.
I don't know how to do CAD modeling, but I'll try my best to make it fit well and I'll share the STLs.

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

this already lookes great - are the stls available?

[–] [email protected] 3 points 1 year ago

Okay I finally gave in and ordered the pcb from JLPCB and the parts from AliExpress to build my own Cheapino. Will post when it's ready!

[–] [email protected] -1 points 1 year ago (4 children)

I'm all about DIYing things, but I'll never understand these fancy keyboards without the basic keys needed for a keyboard to function - number keys, function keys, arrows, etc. That extra 3 square inches of desk real estate is just not important enough to get rid of those things. I can appreciate the work put into something like this, but I just don't get the limitations.

[–] [email protected] 6 points 1 year ago (1 children)

The idea is to minimize required motions of hands and fingers, not desk real estate. Even the ordinary keyboards have layers (Alt, Ctrl, ...) and these minimalistic ones just use the idea of layers to put the most used and important keys on the home row where they are most easily accessed. And not on a key that you need to stretch your finger or even move your hand.

I don't care about the aesthetics - my main keyboard is pretty ugly Fifi keyboard. But the ease of typing is fantastic. Occasional switch to ISO keyboard just reminds me that I am not a creature with a hundred tentacles sprouting from my chest ;) The amount of jumping and stretching is just terrible.

But yes, few months of muscle memory relearning can be painful.

[–] [email protected] -3 points 1 year ago (1 children)

I'm not convinced that anyone types that much that an extra few millimeters of finger movement amount to much of anything.

If people want to mess around with such extreme keyboards as a hobby, then have at it! But I'm rather hard pressed to believe in this day and age - especially since almost everything has a GUI - that people are typing sooooo much that an extra row of numbers or other keys and moving your finger that tiny distance means anything. I've replied to someone else stating that I used to work for a large high end furniture company which had tons and tons of studies on ergonomics and such in office environments. No one is going to convince me these ultra minimal keyboards are for ergonomics or speed. They're for tinkering around, having something that others say "oh, that's different" and a way to pass the time. Which is fine.

[–] [email protected] 3 points 1 year ago

Well ... not here to convince anybody of anything.

But yes, the unnecessary finger movements mean a lot.

I'm not a professional typist or anything but much of my work is done in CLI or an IDE. While the bottleneck is usually my brains and not my fingers, the ease of typing that comes with all the keys easily accessed is an excellent experience.

Of course everyone is allowed to believe what they choose to believe though.

[–] [email protected] 4 points 1 year ago (1 children)

As createkarma said, it's about not having to move your hands to reach keys you like to use. I'm on a 34 key layout, and I've found using my keyboard feels much nicer without have to move my hands around.

Any symbols that I find are important but don't fit on a dedicated key are a combo (e.x. Q+W gives esc or comma+dot gives slash). It definitely takes a bit of getting used to but now that I've become accustomed to it I really don't know if I could go back to using a board with a more traditional key layout.

I always saw QAZ style keyboard didn't understand how you could ever use something like that but now I not only get it but I would honestly recommend people try it out because ive come to really appreciate how it all works

[–] [email protected] 0 points 1 year ago (1 children)

How do you type numbers? Or use the arrow keys? Or get into the BIOS if yiu have having computer issues? Just because a key is there, doesn't mean you have to use it all the time, but I'm not using unicode to type "38294729 + 64828 / 52.73" because I'll be 83 years old by the time I finish. The aesthetic of the keyboard seems cool, but when you go to such extremes that you eliminate some of the most basics of functionality of a device, it kind of turns into a joke, in my opinion. A row of numbers at the top there wouldn't kill the aesthetic one bit and increase usability infinitely.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Numbers are on a row under my home row. Arrows are under ijkl on a different layers. I can access all f-keys and delete quite easily.

It's ever so slightly less efficient in key presses for the sake of not moving my fingers more than 1 key on any direction (exception being to the far pinky keys).

This is a visualization of my current layout if you're curious

ETA: I funnily enough have a keyboard with a number row that I opted out of using because they felt a bit far to reach. Here is my current keyboard. I don't use the number row, the outer most Column, or the outer most thumb keys

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

I felt the same way but I have been using an ergodox for a while, so I already don't have a numpad which I didn't miss. I recently modified my ergodox firmware to map only 44 keys and removed the rest, similar to this layout. It is an interesting concept and I can appreciate how little I have to move my hands now. I don't miss the number row or function row, those were easy enough to get used to, but some of the missing symbols are harder to get used to. I want to try a few more changes before I decide if I like the smaller keyboards better or just want the standard keys back

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

This reminds me of those lowered mini trucks. You ever seen those? They are slammed to the ground. They cut up the bed where yiu normally haul stuff, and fit it with airbags to let it drop so low. Even at their higher settings to drive it, they are so low that they sometimes get hung up on a speed bump. So it can't haul stuff anymore. You can barely drive it, and almost all it's functionality is out the window all for a hobby and aesthetics. Yeah, I think these kinds of keyboards are the lowered mini trucks of the computer world.

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

And yet here you are participating in a community meant to discuss these keyboards.

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

I think there's definitely an element of bling, but there is practical utility as well. I spend 8h+ at the computer, I want it to be as comfortable as possible. Btw, if you think this keyboard has too few keys, check out the steno keyboard, used in courts all over so they can keep up with the speed of speaking: https://en.m.wikipedia.org/wiki/Stenotype

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I also don't understand it at the moment, but I was curious so I built the cheapest good unit I could find to try it out.
Maybe I'll like it or maybe it'll go to eBay. We'll see.
What got me interested initially is the regonomic aspect of split keyboards since I spend most of my time at the computer and I'd like to avoid injury.

[–] [email protected] 0 points 1 year ago (1 children)

The vast majority of "ergonomic" keyboards are marketing BS. You want a comfortable typing pose? Tilt the keyboard away from you so your wrists are in a more natural slightly bent downward pose. Most keyboards are laid out the opposite way - tilted toward the person so you can see the keys easier, but that outs your wrist in an unnatural bent up pose.

Used to work for a very high end furniture company so we have tons of ergonomic studies. There is so much to all this but people rather get something pretty than comfortable.

Anyways, not trying to badmouth this keyboard, but if it had the very important keys that people use all the time, it might actually work.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

I actually bought myself an ergonomic keyboard months ago that does support tilting it in the other direction, with a curved wrist rest to help.
It works quite well, but I also like the concept of the one I built.
I's like to tilt it to make it more comfortable, if it turns out I like using it.
From what I understand, you can have all the keys you need on a keyboard like that, but it requires muscle memory of key combinations, and I do not know yet if that's for me. I'd have liked to start on a board with more keys, but it's expensive just to see if it suits me or not.
I can also see it being useful in VR while playing games like Elite Dangerous, to have one half per arm on a chair with a HOTAS setup.
It's definitely a niche thing.

edit: just read your other comments and I think you should chill a bit. I see these things as specialized and personalized computer input interfaces. People are different and input methods should be too. It might not fit your bill, but it might for some people here or maybe they like experimenting to find what works for them.
I don't want this to become a VI vs Emacs flame war analogy.

[–] [email protected] -1 points 1 year ago (1 children)

I have no idea where you think I wasn't being "chill". In fact I was reading your reply and was going to offer up suggestions in designing a tilt mechanism to get it to tilt away from you since that is just the kind of stuff I do for a living.

[–] [email protected] 3 points 1 year ago

The part with the pickup trucks... idk.
I will not be able to design an intricate tilt mechanism in the short term, I have almost no CAD software knowledge... Thanks though.
I was planning on 'baking' the tilt into the case model or glue little feet.

load more comments
view more: next ›