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.
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.
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).
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.
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.
"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.
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.
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 :)
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.
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/
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.
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. :-)
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..).
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.
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).
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
What's weird about home row or thumb mods?
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
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!
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.
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.