Settings

Theme

A complete guide to building a hand-wired keyboard (2020)

crackedthecode.co

98 points by bfm 2 years ago · 73 comments

Reader

onetimeuse92304 2 years ago

As an amateur EE, here my thoughts.

If you can do CAD you can probably also design a PCB with a socket for some kind of general purpose MCU or even one of ready-made keyboard controllers.

Through-hole soldering is IMO actually simpler than making these "spiders" (that's how in my country we call circuits with self-supported wire to wire joints, usually with at least some components hanging in air by their leads).

"Spiders" are prone to breaking with any repeatable mechanical strain. In case of this keyboard, what I am seeing is the plastic board will flex and will put repeatable strain on the wires, possibly leading to malfunction at some point. PCB would be much more reliable (if done correctly) as it would take most or all of the load from the joints.

A thicker PCB board would actually be more stiff than the plastic board you have here. Not only materials of PCBs tend to be very tough, the PCB, being below the level of the switches, would need much less cutouts that are weakening your plastic mounting board.

Stiffness of the board the switches are mounted to is important not just for the reliability, but also for the overall feel of the mechanical keyboard. This "feel" is mainly affected by the switches, the stiffness of the board, and the acoustics of the enclosure.

And lastly, as an amateur EE I find "spiders" appealing (if done nicely, artfully). But if you want to showoff for the larger audience that just "don't get it", a custom PCB would immediately score more points.

  • rmaus 2 years ago

    There are certain kinds of fully custom keyboards, such as the one I use (Dactyl Manuform) where the keys do not sit on a single flat plane. Such a build would require a flexible PCB. This is doable for the advanced-amateur EE but the geometry is fiddly, at best, and doesn't allow for easy experimentation on key placement (spacing, offset, radius, etc, the bigger problem for me).

    I've found the happy medium with single-switch PCBs ("Amoeba" is a popular one), which are fast and easy to wire up. Most notably you don't have to do the painstaking row wire stripping -- just use a plain wire from one PCB to the next in the key matrix (or an insulated wire if you have to traverse other components, which still only requires two stripped ends).

    I have a few pictures floating around from my build(s) if that interests anyone.

    • onetimeuse92304 2 years ago

      Couple years ago I started building my own keyboard from scratch. Custom PCB, custom circuit design, custom MCU, custom programming, custom CNC-ed enclosure, some custom keys... In hindsight I should have relaxed a bit on building everything custom and then maybe I would have finished it.

      The main idea was to get a keyboard with built in steno and ability to get programmed any way I want. It would also have a small built in OLED display to aid some of the functionality.

      Another idea was to have built in mouse (trackpoint + keys that can be used as mouse keys).

    • 533474 2 years ago

      I'm interested in your build ;)

      • rmaus 2 years ago

        https://imgur.com/a/wyqPSeo (unsure why this is marked 18+, sorry; it's SFW).

        You can see my first build (blue) in several of these pictures following similar advice to OP's guide (looping diodes, etc), with one modification where I used copper tape for the columns instead of wires.

        Then the first picture you can see how much cleaner the single-switch PCB ends up, and I can assure it was far easier to solder / strip / assemble.

  • ajsnigrutin 2 years ago

    As an non-amateur EE, i fully agree with this. If you can draw a basic circuit for 9 keys on paper, you can draw a full-keyboard one in many of the easy cheap PCB platforms, most of which offer a web interface (no installation of any weird software), rendered 3d views and a very cheap production price.

    If you really want to do it without a chinese PCB manufacturer, you can do it on a perf board ( https://en.wikipedia.org/wiki/Perfboard ). If you have more GPIOs than keys (eg when building a very cheap steam deck with 9/12 keys), you don't even need any kind of "matrix" multiplexing, and you can just connect the keys to individual gpio pins. If you take a better microcontroller than a teensy, you also get bluetooth (and wifi) capabilities, like with eg. esp32 (~$5 on aliexpress).

    But either way, doing fun electronics, be it on a pcb or when soldering "in the air" is a lot better waste of money and time than many other things most people do.

  • spinningarrow 2 years ago

    I think the biggest advantage of point to point wiring for a lot of people is that you can simply go ahead and do it at home. For PCBs, you need to know how to use one of the design tools but more importantly you need to find a place to print them.

    • baz00 2 years ago

      It's really easy to do. Particularly the getting them made bit. I just did a quote for a 2 layer board that's TKL keyboard sized and to get 5 made it's about £20 delivered to my door from JLCPCB.

  • baz00 2 years ago

    Yeah this on all counts.

    Ultimately it's probably better to have a triple-layer for the keyboard from what I can see. The faceplate that the switches are mounted on, the PCB and then the back plate. Could probably sandwich it all together easily.

    There's nothing wrong with dead bug though but on this scale and reliability requirements and mechanical stress, it's the wrong solution for the problem.

  • munificent 2 years ago

    In English, I think it's "point-to-point":

    https://en.wikipedia.org/wiki/Point-to-point_construction

  • fellerts 2 years ago

    This method is usually referred to as "Dead Bug" style wiring in English, because the end result usually resembles a dead bug with its legs curled inwards.

    • onetimeuse92304 2 years ago

      No, it is not. Although I can't fault you for thinking this as there are so many people using this term incorrectly.

      "Dead bug" is referring to mounting chips on their back with wires connected to leads going in all directions. Hence "dead" -- live bugs don't usually spend time laying on their backs. When you see it you immediately know why it is called "dead bug"...

      Here, this is how it looks like: http://dangerousprototypes.com/blog/2012/11/15/fine-pitch-bg...

      This technique is usually used to connect to leads of packages that usually have their leads hidden on the bottom of the package (for example BGA). These packages usually require a PCB made for them or some kind of adapter. They also require a bit more complex soldering process that might be just out of reach of an enthusiast (like good hot air station or reflow oven, etc.) If you find yourself with a component you want to quickly test and don't have an adapter... you improvise and this may result in a dead bug. I did it a lot of times myself.

      This technique is also sometimes used in production where they have an existing through hole board (or other board that is incompatible with the process required to mount the component). Sometimes it is easier to just "dead bug" the component than redesign entire board for the new process.

    • Luc 2 years ago

      IMHO 'dead bug' used to refer to transistors, ICs etc soldered upside down, but it's true that lately it's used more generally. I would call this 'free form' soldering, since there's no dead IC in sight.

beeforpork 2 years ago

Soldering 1N4148 so close to the glass body, plus using a thick drop of solder, makes it really easy to overheat the diode. They are everywhere because they are cheap, not because they are robust... The diodes may become unconditionally conductive, so it may not be an obvious bug.

I fried many of them, because my soldering skills were not that good, I did not read the data sheet and so my iron was too hot and I soldered them for too long. Plus by using short wires, all the heat transferred into that fragile glass body.

qwerty456127 2 years ago

Sounds very interesting. I have looked through premium and "custom" keyboards market recently and found out their customness mostly is about look&feel, key placement and omitting "unnecessary" keys while I want a positively custom set of keys: as many keys as possible - full keypad, multimedia keys separate from f1-12 keys, Windows context menu key, also programmable macro keys if possible, no spatial "optimizations" (when manufacturers try to fit all the keys into as little area as possible) etc. I concluded I will probably have to really build my own. My ideal keyboard would even have a ThinkPad-style trackpoint so I could operate the mouse pointer comfortably without removing my hands from the home row :-)

  • unnouinceput 2 years ago

    Same here. All these modern keyboards are missing a lot of what old one had. The most I miss most is the Alt GR one, the bigger ENTER key and I want a lot of space. Call me fat fingers if you want.

    So I started to actually create my own. And I want it to be programmable. And movable, as in you can move the key around, enlarge or shrink them. And when I say I want them programmable I meant to pull a little gizmo out of it, hook it up to a separate power source and load preset or connect to computer and use an app to make the keys look different.

    So far my idea is to have each key include a magnet, an ESP32 chip and a small LED screen on top of it. The controller to all those 110+ ESP32 chips will be a RPi CM4 module, which will also be the USB connection for the PC. That's one iteration because this way I can actually have a click-clack mechanical one. The other iteration is to just have a big ass touch screen and the RPI underneath to just play that as an app that simulates the keyboard. Prettier, way more customizable as key positions/size go but no click-clack sound/feeling.

    I'm $2000 in my research hole for this with nothing to show up for but is fun. Probably next year I'll finish it :)

    • qwerty456127 2 years ago

      I agree but I don't need the keys look anything. The best thing happened to my keyboard life so far was having to use a keyboard without the letters of a language I used daily drawn on it. I would rather buy "das keyboard" with purely black keys but it doesn't have enough keys for me to invest in.

      However, I would love to have your software-defined visually configurable keyboard as a second one on my table and every app using it as a sorg of a "toolbar" / command palette. This was what Apple tried sort of (it would have been nice idea if they didn't sacrifice a real keys row for it). To me it sounds like an additional display with touch support can do the job.

      • unnouinceput 2 years ago

        The LED display on top of the key, driven by the ESP32 beneath, will allow you to have anything as the letter there, including Arabic, Japanese or just emoji keyboard layout.

    • jan_Sate 2 years ago

      I wouldn't recommend using ESP32 for that. It's overpowered for this application. You don't even need its wireless connectivity. I guess using something like RP2040 or ATTiny would be a better option.

    • nick__m 2 years ago

      why an esp32 instead something simpler like an stm8 (or an stm32f103c8t6 if you need arduino compatibility) if you really want an mcu per key ?

      • unnouinceput 2 years ago

        because I'm experienced in ESP32 and not in STM8. But now that you mention it, a little seed started to grow. Thank you kind stranger, lemme get back to you when this will probably 2 years from now on and another $2000 in research/playing around.

        • nick__m 2 years ago

          I said stm8 but there are a lot's of cheap microcontroller, I don't know what you use to program your esp32 but you should have a look at platform.io . I use that list https://registry.platformio.org/search?t=platform&p=1 to select MCU's for my projects.

          The thing I like the most about it is that I don't have to manually install and managed various tool chains and it's a lot more flexible than the Arduino ide.

          • unnouinceput 2 years ago

            I use Free Pascal/Lazarus to target anything, ESP32 included. As for IDE where it runs, in a nice VM with plenty of processing power and memory on my PC so I can fast iterate code to production.

  • rgoulter 2 years ago

    > omitting "unnecessary" keys .... without removing my hands from the home row

    The "keep hands on home row" is the motivation behind omitting the "unnecessary" keys, at least for the keyboards which use a small spacebar and give the thumbs more keys to use.

    With those small 36-key keyboards, your hands pretty much have nowhere to go except to remain on home row.

    > as many keys as possible

    I once saw someone made a keyboard with 450 keys. https://relivesight.com/projects/433/

    • qwerty456127 2 years ago

      I don't really care that much about the home row (although it's nice to have something right in it so I mentioned). I care about being able to do everything by pressing less keys. Meanwhile a language I often type in (and I type in quite a number of them regularly) has the digits row remapped for extra letters so I can't enter a digit with a single key press without a keypad (I prefer moving a hand to there over using modifier keys). I also make heavy use of F1-12 keys and I have long thin fingers so I woudn't even mind an additional row of keys. Using the mouse every time I want to adjust the sound volume or do something like this is annoying as well. Needless to say I actively use Home, End, PgUp, PgDn and Insert (many compact keyboards lack some of these). At last but not at least, for sake of the muscle memory, I would prefer all the keys to be located at the same places on all the keyboards rather than moved to whatever a place the vendor has been able to fit them in.

    • Mizoguchi 2 years ago

      These small keyboards are usually ortholinear which also helps reducing hand movement.

      I switched to a OLKB Preonic over a year ago and haven't looked back.

      After you get used to the smaller factor and non staggered keys format you realize how ridiculously and unnecessarily huge and clunky traditional keyboards are, even laptop keyboards.

      It's like traveling with a 65 liters bag for years before you learn you can just carry a 40L and travel with less crap and much lighter.

      It took me a couple of months to come up with the layout that worked for me (and even today I still optimizing it), but once I figured it out the typing experience became just such much better.

      The QMK configuration tool makes the process of configuring the layout painless and super quick, so you just need the patience to try and iterate.

      • sleepybrett 2 years ago

        less keys = more cognitive overhead. Having to remember what layer i put fucking pipe on is not better than just hitting the damn key.

        In ~2000 I started suffering from tendonitis and my coding job became very painful, I tried kind of the 'easy onramp' ergo options at the time, namely the ms 'natural'. It did not help. Eventually someone pointed me at the kinesis advantage (then essential) and I bought one. After some struggle coming to terms with thumb keys and wells and ortholinerness I switched to it for all tasks except for gaming and my symptoms basically disapeared.

        About 10 years back I was in a job that was potentially going to cause me to travel a lot, at that point I had already modded my kinesis advange keyboards with custom controllers and wanted to try and build something that travelled better, was smaller, while still not fucking up my wrists.

        I built a lot of keyboards trying to shrink my luggage. I went ortho and built a split preonic, uncomfortable, then I went down the road that leads to corne/iris/etc (thumb keys, vertically aligned but not horizontally aligned). More comfortable but the thing i always ran into when removing keys. Overhead, you have to remember what layer and key you put xyz rarely used symbol on (and when you are a software engineer that's a lot of the symbols).. at the end of the road I built a very low profile board based on the dactyl with the same number of keys as the kinesis advantage minus the f-key chicklets. Reducing the number of layers i have to remember to 1 that only contains the grave and the fkeys.

        Then covid hit and I didn't have to travel anywhere. I take my dactyl when I go see my parents, and unloaded most of my other boards for cheap. (i kept a 65 that I play games with)

        • rgoulter 2 years ago

          > less keys = more cognitive overhead.

          Right.

          The benefits of reducing hand travel / stretching come at the cost of additional complexity. Not everyone will be comfortable with that complexity.

          I find the complexity acceptable; and in many ways more coherent than traditional layouts. e.g. I'd keep slash and backslash (/\) adjacent (or otherwise paired); a question mark (?) is frequent enough even in prose; so, pipe (|) remains paired to backslash. -- But, yeah, it can be annoying for keys which are used very infrequently.

          • sleepybrett 2 years ago

            i have almost 0 hand travel on my kinesis advantage. It lacks f-keys (layered on the numrow) and it has another layer for a keypad (front printed on the keys .. square of u-p m-/)... but also zmk so I could reprogram it if I wanted. It's a 76 ( if I'm counting right) key layout.

  • thejosh 2 years ago

    Keyboards are getting smaller, but I love full size ones for programming.

    I ended up getting the keychron v6, it's wired but fine. Their wireless keyboards are apparently a bit buggy, not sure if the new ones still are.

    QMK is an absolute treasure. You can use your web UI to setup custom keymaps and stuff using the chrome USB feature. But I may have went off the rails, as it's pretty simple to completely customise your keyboard with layers etc if you know a bit of C.

    Warning; this is a gateway into a land of a obsession. :-)

  • wakeupcall 2 years ago

    My impression for the popularity of the 75% form factor is due to laptops and people being accustomed to never have used the "missing" keys in the first place. A tell-tale is that default layout even for thinkpads is to set the Fn row to media keys by default... An increasingly smaller number of people use them, despite being a row of freely remappable keys right _there_.

    What I've seen happen though is that especially on linux you need two-modifier combos (ctrl-shift/ctrl-alt) to perform what you could have done with a single Fn keystroke. Or burn a few extra keys and increase complexity with layers. I went this route a decade ago, and I'm not a fan personally. Removing the Fn row saves 2cm of vertical space from your desk. I see it as completely pointless, even if you never use the Fn keys.

    And I don't buy the "reduced finger travel" argument either. Holding the modifiers in weird positions to access an extra layer is usually worse than a more spacious keyboard where your hands can be kept further apart and require less chording.

    But yeah... I commented on another thread on keyboards, and the current keyboard craze is mostly about customization and looks, and very little about the actual typing experience IMHO (there are exceptions of course..).

    • hnlmorg 2 years ago

      I completely agree. I never understood this craze of removing keys.

      The number pad is another example of this. Typing numbers is massively more comfortable (and quicker too) on the number pad than it is with the row of numbers just below the F-keys.

      The amount of desk space people save is so negligible, particularly when people who buy these keyboards typically work in “paperless” offices, that I never understood the appeal.

      I guess it boils down to people wanting their keyboards to look pretty rather than being actually useful.

      • rgoulter 2 years ago

        > I never understood this craze of removing keys.

        There are (roughly) two families of "smaller keyboards".

        Those with a big spacebar, and those with multiple thumbkeys.

        Big-spacebar-small-keyboards are like laptop keyboards.

        Whereas, for other kinds of small keyboards (such as the moonlander or planck) which provide thumbkeys, I'd say the emphasis is more about "bringing the full functionality of the keyboard to within easy reach of the hands" rather than "remove keys for whatever reason".

        On traditional keyboards, the thumbs only get to use 1 key. A big spacebar is such an odd and inefficient use of keyboard real estate.

        Whereas, with 2-3 keys each, the thumbs can be put to good use. e.g. It's much more comfortable to press backspace with the thumb, than to move your hand (or reach with the pinky finger).

      • joncrocks 2 years ago

        I think it's a concession that use of particular parts of the keyboard is person and context specific.

        e.g. At home, I only very occasionally enter numbers. I very frequently use my mouse, and have large monitors. So I sacrifice slightly less convenient number entry for slightly more room for my mouse(pad) all the time.

        At work, I have a full-size keyboard and I spend a higher proportion of my time typing and entering numbers.

        • qwerty456127 2 years ago

          Isn't it better to have identical keyboards everywhere for sake of muscle memory?

          • nlunbeck 2 years ago

            This is my #1 priority now that I'm in the market for a new keyboard. I lose so much typing efficiency when switching between laptops, so functionality or comfort is no longer a leading factor for me.

      • where-group-by 2 years ago

        I got a keyboard without the numpad due to the looks, but after using it a few years the full sized ones feel too bulky. I have to either move the mouse much further to the right or have my arms bent to the left when typing. Neither of which feels comfortable. I'm sure I could switch back if I needed to, but that extra space is welcome.

        I agree entering numbers is better on a keypad though.

      • delta_p_delta_x 2 years ago

        I do think a full-size 108-key board wastes a lot of space, but a 96%, similar to what's seen on full-size workstation notebooks (Dell Precision 7000 series, HP Zbook Fury, Lenovo ThinkPad P series) is much more efficient, while still providing Home, End, PgUp/Dn, Delete, Insert, arrow keys, and a full num-pad.

      • glormph 2 years ago

        I agree that looks and deskspace is not something to optimize for and number entering is great on the number pad, but the ergonomics expert at my job informed us that shorter hand travel to the mouse is better against straining or something, so not using numpads would help. Or move the mouse/trackpad to the left.

      • SoftTalker 2 years ago

        For many people who rarely need to type numbers, the number pad is wasted space. If you're an accountant you probably want one. Maybe even a separate, dedicated one.

        I rarely type numbers and find that the "top row" number keys are adequate for when I need to.

      • qwerty456127 2 years ago

        > Typing numbers is massively more comfortable (and quicker too) on the number pad than it is with the row of numbers

        Let alone than with the row of numbers holding a Shift pressed (some languages require this because they remap the row for extra letters).

      • eviks 2 years ago

        Why would you move your hand to the numpad if you can use your orthostaggered "numpad" with a layer right where your hand already is on the alpha keys?

        • hnlmorg 2 years ago

          Because moving your hand is a one time effort vs moving it up and down the keyboard to enter those pesky 6 digit TOTP codes where the digits could be at opposite ends of the keyboard.

          Plus I’ve been using keyboards longer than a lot of (probably most) developers on here have been alive and I haven’t ever found using the number pad to be even remotely an effort.

          • eviks 2 years ago

            It's a one time effort you can easily avoid with a much smaller one time effort (tapping/holding a very convenient numpad layer modifier). And it's especially a wasted effort for very short numbers like TOTPs

            And all the digits are right there, not at some opposite ends, e.g., UIO789 JKL456 M,.123 on a qwerty

            • hnlmorg 2 years ago

              I think we’re going to have to agree to disagree on this one.

              • Given_47 2 years ago

                I’m fairly certain they’re talking about creating an actual numpad layer on ur keyboard (which I also have), exactly so digits aren’t on the opposite side of the keyb. Mine is triggered by holding down esc/caps lock with my left, while my right is typing on the “numpad”

                • hnlmorg 2 years ago

                  Yeah I got that, but I disagree having to hold down down additional keys to enable that mode, and importantly in my case, having to remember to hold them down is less effort then moving your wrist two or three inches.

                  Ultimately there’s going to be a lot of personal habit baked into these preferences and we are talking about micro-optimisations at best anyway. Which I why I think it’s probably better to just agree to disagree.

                  • eviks 2 years ago

                    You don't need to remember since you don't need to hold it down, you can toggle Or both, hold for shorter totp codes, toggle for longer data entry sessions Or you could have a one-shot modifier where for single numbers you wouldn't need to hold anything (while avoiding having to frequently move your hand back and forth just for a single symbol). This works similar to one-shot shift for a First Letter Cap

                    And the mistake in your first response with the numbers on the opposite ends isn't about "personal habit"

                    • hnlmorg 2 years ago

                      Everything about keyboard preference is to do with personal habit. Using a keyboard effectively requires committing actions to muscle memory. Which is literally just another way of saying personal habits.

                      The ironic thing is this conversation of ours would have cost us more energy than what would have been saved from a lifetime of any of your keyboard optimisations. Which is why I roll my eyes when people try to intellectualise their keyboard preferences as some kind of revolutionary time and effort saver.

                  • Given_47 2 years ago

                    Oh I didn’t mean to disagree, just wanted to add that it is pretty simple. However I still use the standard top number row for typing in a short sequence of numbers because of habit

        • qwerty456127 2 years ago

          As I already mentioned 4-5 times, one of the languages I use regularly reuses the number row for extra letters (and it isn't even enough for all of them). I have to hold Shift pressed to enter a number this way (using a keypad feels much better) or use CapsLock to enter a capital of such a letter.

          • eviks 2 years ago

            My comment is about NOT using the number row, so your repetition is not a relevant response

    • qwerty456127 2 years ago

      Back in the days when first computer keyboards were invented 7-bit ASCII was enough for everybody, now as everyone everywhere uses Internet daily for all sorts of tasks we have Unicode.

      People don't need a keypad because they have the digits row. But there are languages (in Europe) which reuse the digits row for extra letters (which don't even fit there) so you have to press shift to enter a digit (yes, you can't enter such a letter in capital without using CapsLock), unless you have a kaypad.

      People don't need F-keys (so these can be reused for multimedia controls) because they are not techies. Insert for the same reason.

      People don't use Delete/Home/End/PgUp/PgDn because they are completely uneducated about the basics of using a computer and use mouse/touchpad, arrows and backspace instead. Believe it or not, I've met people who don't even know Ctrl+C/V (let alone Ctrl+X or Ctrl+Z) and would always use the right-click menu (which even requires an additional keyboard key to be held pressed on a Mac) to copy/paste anything.

      This said, compact keyboards target anglophone non-techie users (or hardcore VIM fans who have ways to do everything without leaving the home row).

      • Symbiote 2 years ago

        > But there are languages (in Europe)

        The languages appears to be Czech/Slovak. It would be more useful to mention this, than to repeat the basic point in four or five comments.

    • ako 2 years ago

      Problem with the Fn keys is discoverability: i never remember which functionality is available on which key, and you have to remember different mappings for different apps. Actually thought Apple's solution for this, the touchbar, was pretty nice, sad that it failed...

    • Given_47 2 years ago

      > despite being a row of freely remappable keys right _there_.

      Lol right. And I add a shift layer to the fn row as well, to add more fn keys. Sadly a lot of apps won’t support fn20+ but u find more utility binding them to hand crafted actions anyway

    • eviks 2 years ago

      > Holding the modifiers in weird positions to access an extra layer is usually worse

      What's weird about home row or thumb mods?

  • drekipus 2 years ago

    Really you probably just want a normal keyboard with some good firmware.

    I started out with a moonlander, which had a lot of keys (36 each hand) but to be honest, I'm trying to minimise as much as possible, and remove keys from it. That way I'm fully constrained to the home row.

    Also, layers are amazing and sounds like something you might want to look into. Hold 'a' and use hjkl for media keys, etc. It's all very flexible

    • qwerty456127 2 years ago

      I never knew there are keyboards with configurable firmwares, also never heard about layers. Your comment sounds very helpful, thank you. By the way I already considered buying a Moonlander because of its 2-part design - I have an idea of possibly using a computer while lying on the floor sort of like in the Shavasana posture with my hands by my sides rather than in front of me.

      • digging 2 years ago

        > also never heard about layers

        I was just discussing this yesterday with a friend. It's funny how rare and technical it is to understand layers when everyone uses layers every day - shift + 3 does not render 3, but #. But we don't talk about it that way.

        • drekipus 2 years ago

          I really want to reconfigure some "shift" values, like shift + space should give you an underscore.. but I have to use a layer button for that, not the shift key

hellweaver666 2 years ago

Building your own keyboards is super satisfying. I started off hand-wiring a couple of macropads and then built a 60% handwire and a split ergo. Finally with all the knowledge I learnt I designed a PCB for a macropad and then just scaled up to my own keyboard which is a 50% ortholinear keyboard which has three extra "macro" switches on the side. I found a switch footprint that allows it to take "normal" or "low profile" style switches so I have a version for home and a super slim version for taking to the office.

I think the only thing I would do differently now is to dump QMK and use KMK instead as it's Circuit Python based which means that the firmware can be created and edited directly with your favourite IDE (QMK requires installing all sorts of extra software and compiling etc). If the Microcontroller ever dies on this board I will definitely swap it out for a CircuitPython compatible alternative!

  • barrenko 2 years ago

    Could you please post a picture as well? (this goes out to other enthusiasts in this post)

bmitc 2 years ago

Is there a general source of the, seemingly modern day, fascination with keyboards?

I buy the Logitech ergonomic mice and keyboards and call it a day, because they save my wrists but aren't crazy, are easy to buy off the shelf, and integrate well together. For example, I use two different mice and a keyboard across two computers with a single USB receiver with just a simple KVM built-in to my monitor.

In my personal experience with computers, the keyboard is the least limiting factor with regards to my interaction.

  • Karrot_Kream 2 years ago

    It's a mix of three different cultural factors long extant in the programming community which came together to create today's keyboard culture:

    1. Keyboard elitism

    Until as late as the early 2000s, there was a lot of elitism in programming circles about how using the mouse was something only "lusers" did. Keyboarding was supposedly faster than mousing (even though programmers do a lot more thinking than either keyboarding or mousing) and was the mark of an expert user. These communities would often shill certain keyboards, like the IBM Model M, or the Happy Hacking Keyboard (HHKB) because of their resilience and the feedback one felt from clacking the keys.

    2. Customizing/Hacking

    Not much has to be said here. Hackers have been customizing their setups for as long as setups could be customized. The ability to program custom keyboard layouts and make custom keyboard firmware is as iconic hacking as it gets.

    3. Setup as identity culture

    From the late 2000s, Unix Porn and a lot of other "setup porn" stuff became very popular. People would make cool setups that they really identified with and so setting up your keyboard to express your personal identity became a bit of a hacker rite of passage.

    While keyboard culture may have started with these ingredients, it's definitely its own thing these days. I'm not in it myself but I like watching it from the sidelines and it's really cool to see what people come up with. Cool layouts, custom firmware, colored keys, experimenting with different layouts. It's just like trying to get the perfect emacs config: more bikeshedding than productivity hack, but I mean it's a hobby, and a fun enriching one at that.

    As you say the more practical thing is to just buy an ergo keyboard that works with your wrists/shoulders/neck and call it a day. I have a Model M from when I was an impressionable teen who thought owning a Model M and not using the mouse was the be-all-end-all of being a power computer user, but I mostly use a Kinesis Ergo for my day-to-day computing needs. I'm at a (hybrid) startup these days and we don't really have a dedicated office to store stuff in so I bring an HHKB in to the office because of its portability. I use trackballs for my mousing. That's about it. Holding my arms, wrists, and back in ergo positions is much more important to me than any keyboard really. Though really rock climbing has been the single thing that helped my wrists beat RSI where nothing else really could.

sleepybrett 2 years ago

If you want to understand how keyboards function go ahead and do this, but unless you want a really wild layout this is just makework. There are cheap, reliable and flexible pcbs for just about every layout you could want available on the open market from sites like kbdfans and aliexpress not to mention dozens of local mom and pop sites that service the mechanical keyboard industry. It's a pretty big hobby these days.

bArray 2 years ago

Rather than use the knife to cut sections out of the wire, I would have considered getting some single core wire and sliding pre-cut heat shrink down it - that way you don't risk cutting into the wire. Just remember to let the core cool between heating/soldering to prevent premature shrinking.

genpfault 2 years ago

Any good, mostly-automatic tooling to go from a Keyboard Layout Editor (KLE)[1] JSON to a laid-out (not necessarily routed) PCB design in something like KiCad?

[1]: http://www.keyboard-layout-editor.com/

winrid 2 years ago

What I really want is a mechanical backlit keyboard without terrible PWM flicker. It's so hard on the eyes. Just regular DC dimming would be ideal.

  • thorncorona 2 years ago

    Much easier to just up the PWM frequency

    • winrid 2 years ago

      My 2018 X1 carbon's laptop backlight, which is adjustable, does not have flicker when recorded in slow-mo, so honestly don't see the excuse really.

    • winrid 2 years ago

      Maybe. Are there any with very high PWM frequency? It's not well analyzed right now like screens are.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection