Live data from Hacker News

My First Keyboard Build

davecooper.org

21–30 of 82 posts

Re: My First Keyboard Build

#21

Current keyboard designs bug me, to put it mildly. Put a mux on each group of switches, have the microcontroller rapidly scan the muxes to determine which switches are down. And now all of a sudden you have a keyboard that you can actually press down as many keys as you need and it still works. Except it won't. Because USB keyboards don't support arbitrary numbers of keys being pressed at once.

I'd love that, I sometimes use my keyboard to play synth and the muxing behaviour is very annoying.

Re: My First Keyboard Build

#22

Excellent build quality, but I was surprised by these two statements on things you need: A decent soldering iron. You will thank yourself later. Also note: you will burn yourself many times throughout the build. Might as well do it with a fancy iron! LEADED SOLDER – I started the build without leaded solder and oh dear… If you have a "decent soldering iron", then lead-free solder shouldn't be a problem. Also, if you…

Thanks for the tips!

I found it very difficult to do the soldering due to an extremely unsteady hand and not a whole lot of experience. I 100% agree with everything you're saying though - I just ran with what I thought worked.

Re: My First Keyboard Build

#24
post #8

If I were to build a keyboard I would definitely take a couple of ideas from typematrix. First of all, staggered keys make absolutely no sense(unles it's actually a typewriter). It takes a week to get used to a straight layout, and it feels more natural. It's not a problem to switch between staggered and matrix layouts either. Second thing I would copy is having enter and backspace between the two halves of the keybo…

> and it feels more natural

I've always wondered about this - I don't disbelieve that some people feel this way, but is it really a general consensus? And is there a reason we should expect it, I don't see why staggered keys make fundamentally less sense.

Re: My First Keyboard Build

#25
post #8

If I were to build a keyboard I would definitely take a couple of ideas from typematrix. First of all, staggered keys make absolutely no sense(unles it's actually a typewriter). It takes a week to get used to a straight layout, and it feels more natural. It's not a problem to switch between staggered and matrix layouts either. Second thing I would copy is having enter and backspace between the two halves of the keybo…

> and it feels more natural I've always wondered about this - I don't disbelieve that some people feel this way, but is it really a general consensus? And is there a reason we should expect it, I don't see why staggered keys make fundamentally less sense.

The standard staggered keyboard layout not symmetrical. If the layout of the keys were optimal for the left hand for instance, the "u" key should have been slightly to the right of the "j" key in order to have the same experience with the right hand.

A good way to see if a keyboard actually tries to be ergonomic is to see if the left and right hand layouts are relatively symmetrical.

Re: My First Keyboard Build

#26
post #25

Earlier quoted context omitted.

> and it feels more natural I've always wondered about this - I don't disbelieve that some people feel this way, but is it really a general consensus? And is there a reason we should expect it, I don't see why staggered keys make fundamentally less sense.

The standard staggered keyboard layout not symmetrical. If the layout of the keys were optimal for the left hand for instance, the "u" key should have been slightly to the right of the "j" key in order to have the same experience with the right hand. A good way to see if a keyboard actually tries to be ergonomic is to see if the left and right hand layouts are relatively symmetrical.

This argument is insufficient - even taking it at face value, it's only an argument that an optimal layout will be symmetrical, not that a given symmetrical layout is necessarily superior to a given asymmetrical one.

In the context of straight columns, what seems strange about it is that my wrists are naturally at an angle when typing, because the width of my keyboard is less than the width of my shoulders. Straight columns intuitively seem like they would require more wrist distortion, not less. This might not be the case on a wider keyboard, but I don't think typematrix ones are significantly wider than 'normal' keyboards?

I don't know if this reasoning is accurate or not, and I'm sure it can't be a real issue because typematrix keyboards are clearly popular, but I'm not convinced about it just because they're more symmetrical. Plus, in terms of general typing efficiency, I also don't know if I should believe the symmetry is actually important - it might be negligible compared to (for instance) the inefficiencies of qwerty that most people are using, or even compared to simple posture improvements.

Re: My First Keyboard Build

#30
post #11

About the column wiring: You can buy ptfe sleeving and single core uninsulated wire. PTFE won't melt. Here's one example, it comes in a bunch of sizes and usually in 5 m lengths. Really great write-up btw!

I'd extend the insulation remark that the cognitive load should be spread. So a hundred identical simple diodes should have insulation slipped on all of them and then the somewhat more cognitively challenging job of individual column wiring can just be bare wire.

Another suggestion is I've never built a keyboard but I've done weird LED arrays and one trick to pre bend all the leads the same way, involves a chunk of scrap wood and a bunch of nails (and maybe multiple forming steps/bending jigs). Much like a sheet metal worker, you'll rapidly discover the leads will spring back a little and you'll have to bend them to 100 degrees if you want a right angle. Its just scrap wood and nails, so play around a bit. You can do it by hand but a bunch of nails in a block of wood works better and is faster overall.

You were worried a bit about getting the diode polarity backwards. You have the source and you'd basically be inverting the bits you're polling with, see the gh60/matrix.c code. The system depends on the internal pull ups so you'd want to not enable the internal pull ups and solder in a couple external pull downs like 1K or so. Just saying it would be survivable and more fun than redoing all those diodes not that its necessarily a good idea.

(edited to add, on your next build, if you want to try something really strange, wire up all the "rows" with 500 or so ohm resistors making a massive resistor divider such that the pin in the middle is at 2.5 volts and 0 and 5 volts at the ends, and then wire up the other pins in parallel. So you hit the 1st of 10 and get an analog voltage of 0.5 volts, hit the 5th of 10 and the analogy voltage of 2.5 volts (for 5V anyway) and have the stereotypical onboard A/D microcontroller input sample it. Some MC are not very high res or stable. I imagine this would be an interesting key debouncing challenge involving painful latency, but it would be cool in an insane way)

Post reply on HN