Live data from Hacker News

Making My Own USB Keyboard from Scratch

blakesmith.me

31–40 of 136 posts

Re: Making My Own USB Keyboard from Scratch

#31

Does anybody know if there’s anything inherent in this that makes it have to be QWERTY in layout, or in shape? What I’m thinking about is to actually make a custom physical user interface. Less of a keyboard and more the bridge of USS Enterprise.

I would suspect this same line of thinking is what led to the Touchbar on new MacBooks.

Re: Making My Own USB Keyboard from Scratch

#33
post #7

The keycaps can't be easily DIYed right?

I have seen a parametric keycap library here https://github.com/rsheldiii/KeyV2

But standard FDM printing will not get you keycap that are smooth on the top, as they tend to be sculpted to fit a finger better, and you're still looking at ~0.4mm layers at best. You may be able to do it with SLA 3D printers which are able to do higher resolutions than FDM printers.

https://imgur.com/a/AalpV1r is an interesting project that 3d printed the keycaps too

Re: Making My Own USB Keyboard from Scratch

#34

Does anybody know if there’s anything inherent in this that makes it have to be QWERTY in layout, or in shape? What I’m thinking about is to actually make a custom physical user interface. Less of a keyboard and more the bridge of USS Enterprise.

You could make it whatever shape you want. Then program it to emit whatever usb key codes you want (there are existing libraries to do this quite easily).

This one happens to emit standard qwerty key codes, but there are many more that do other things. For example, there are standard key codes to launch a browser or the calculator (and some keyboards have buttons to do that too). You could also make it emulate any kind of standard usb HID (human interfact device). This one is a keyboard, but you could make something that identifies itself as a mouse, game controller, etc.

Re: Making My Own USB Keyboard from Scratch

#35
post #11

For anyone who’s tried both: are big keyboards with lots of modifiers or little keyboards with “layers” more comfortable and functional for you? I currently have a full-size mechanical PC keyboard and am debating buying a Planck.

I have an ergodox and it has too many keys. The number row is hard to reach. The bottom extra row I basically never use. There are too many thumb keys. I end up using the keys under v and m as raise/lower keys and putting all the symbols (and some macros) on home row while the opposite hand's modifier is held (so ( is that key below v held with your thumb, and j). Having extra keys for your pointer finger sounds good…

It's interesting, I use a kinesis advantage which has a pretty much identical layout and I use the bottom row of keys and thumb 1u thumb cluster keys regularly. In fact I now vastly prefer the fact that the arrow keys are so close to the home row.

That said - the kinesis is curved which probably makes it a lot easier to get your fingers to things?

Re: Making My Own USB Keyboard from Scratch

#36

Does anybody know if there’s anything inherent in this that makes it have to be QWERTY in layout, or in shape? What I’m thinking about is to actually make a custom physical user interface. Less of a keyboard and more the bridge of USS Enterprise.

Nope! In fact, I run mine with a Dvorak layout by default. A lot of people who use the QMK firmware do all kinds of custom modifiers, macros, and what not. And if you're doing your own PCB, you can arrange the buttons any way you want, with any switch type.

Re: Making My Own USB Keyboard from Scratch

#37
post #32

I love stuff like this. We made a whole laptop in this spirit, with a custom USB keyboard, optical trackball, motherboard and 3d printed/cnc milled case, also with KiCAD: https://mntmn.com/media/news_md/2019-01-14-status_update_on_...

Cool. Please contact 36c3 to have dedicated space and punish even more diffusion material!!

Re: Making My Own USB Keyboard from Scratch

#38
post #22

Earlier quoted context omitted.

Sorry for being thick, but I just can't work out what you mean by suggestion #5. What does it mean to use the supported switch footprint? How could you use an unsupported one? What does it mean to connect your ground planes? What do you mean by additional holes (compared to what)?

I think OP is referring to the "PCB mount" version of the cherry keyswitches which has two extra supporting plastic pins. The other "plate mounted" version doesn't have them. Nothing about the PCB mount version prevents you from using a plate but it requires two extra holes per switch. https://support.wasdkeyboards.com/hc/en-us/articles/11500927...

Yes, without these pins the switch can twist. Making them a mess to align without a plate. With those extra holes not only can you use the circuit board without a plate, you can also use any pcb mount switch you may have laying around, or have bought in bulk.

As for the ground plane [0], you usually want this uniformly connected despite the grid routing of the matrix. But since there is no connection on the plastic pins you can use these holes for that instead of making a bunch of other connections.

[0] https://en.wikipedia.org/wiki/Ground_plane#Printed_circuit_b...

Re: Making My Own USB Keyboard from Scratch

#39
Cool project!

For folks interested in doing this themselves there are some communities out there - others have mentioned qmk, here are some useful forums to check out:

* https://www.reddit.com/r/MechanicalKeyboards

* https://geekhack.org/

* https://deskthority.net

Depending on your level of interest/commitment you don't have to design your PCB and software from scratch, there's a spectrum from designing your own PCB, case, etc. to putting together components designed and sold by somebody else.

Re: Making My Own USB Keyboard from Scratch

#40

Earlier quoted context omitted.

Indeed, and this guy did it the hard way. Get a teensy, some switches, diodes, and wire, and read this: https://github.com/qmk/qmk_firmware/blob/master/docs/hand_wi... There is no need to spend any time on the software side of things. It's already been done to death.

even if you want a custom plate, PCB, case, firmware, you can use community-developed web tools like these to do it all: http://www.keyboard-layout-editor.com/#/ https://kalerator.clueboard.co/ http://builder.swillkb.com/ https://config.qmk.fm/ A neat response to this article would be someone making a keyboard using only these tools.

This is how I made mine:

(post is in Spanish, I wish to brag with my old mates:

http://clubdelpra.cluster003.ovh.net/foros/showthread.php?p=...)

Post reply on HN