So, I figured I should try Notion’s AI feature for what a keyboard is. Let’s see how it does:
Prompt: what is a keyboard?
A keyboard is a device that allows you to input text and commands into a computer or other electronic device. It typically consists of a set of keys that correspond to letters, numbers, and symbols, as well as various function keys and other special keys. When a key is pressed, it sends a signal to the computer, which then interprets the signal and performs the corresponding action or inputs the corresponding character.
Hmm, not bad. We can looking into this a bit more by asking a more specific question.
Prompt: what is a mechanical keyboard?
A mechanical keyboard is a type of keyboard that uses individual mechanical switches under each key instead of a rubber membrane. These switches provide a tactile and auditory feedback when a key is pressed, and are generally considered to be more durable and satisfying to type on than rubber dome keyboards. Mechanical keyboards are popular among gamers, writers, and other users who require a high level of precision and responsiveness from their keyboards.
Alright, also not bad. But there is a couple things in this response that I can comment on.
…uses individual mechanical switches under each key instead of a rubber membrane.
This is speaking in the sense of a membrane keyboard, and they are generally very common. I myself don’t have any issues with them, as I do enjoy working with them just as much as mechanicals. It’s all preference. I am one to agree with anyone’s comfort in what they used, especially if they understand a majority of the options out there.
These switches provide a tactile and auditory feedback when a key is pressed…
Some do, and I mean both descriptions in this case. There are three main classes of mechanical switches: linear, tactile, and clicky. In a way, clicky sits under tactile, as this is more of a sound characteristic than a feel, but these are generally the terms people look for when asking/speaking about the matter.
Auditory is also something that can not be associated directly 100% of the time to it’s class. Some switches can be (annoyingly) loud, such as some clicky switches. Others can be designed to be silent, dubbed silent switches (how fitting). There are many different terms that people use to describe the sound of a keyboard/switch. Thocky is a very popular term, and is more often than not completely due to the switch entirely, rather the entire keyboard itself. It can be a deep thock, or a light thock. Creamy, smooth, pingy (you don’t want this), full, hollow (you also don’t want this), there are many different kinds of words used to describe.
At this point, you might have some idea as to why one would build a custom keyboard. Kinda like what I said before:
It’s all preference.
Sound, feel, look, man even smell (joke, now laugh). While it can be a rather expensive hobby, you are literally talking to dorks that sit on their PCs (and work on them too), like me :]. Now, while that may seem like a jab at the community, there are some legitimate reasons to consider:
Longevity
Looks
Education/you literary built it
Yeah, yeah, I know. Sam going off on more electronic jargon. I promise I won’t go into it too much. :]
Let’s look back at the quotes Notion gave early:
When a key is pressed, it sends a signal to the computer…
Oh BOI, signals and interrupts and inputs. Sounds just like college.
A signal, as in an electronic signal, is sent to the computer utilizing the HID (human interface device) standard. Something within the keyboard is creating a signal that the computer can then understand. In order to do this, within the keyboard sits a smaller computer (wild concept, right?) called a microcontroller. There are a few different chips that everyone likes to use, such as the 32U4 (many different manufacturers make this chip) and the 2040 (one very cool company makes this chip). When creating the proper software to run on the computer, many tend to turn to QMK. This kind of software is called firmware, and there is a huge amount of customizations that can be done with this software. (Look at the QMK Github, under the keyboards
directory. That is the release of every public keyboard configuration using QMK.)
…which then interprets the signal and performs the corresponding action…
So, actions can be alot of different things. Sure, the standard letters is a good start. What about volume control, or LED lighting control, or even macros. All of this and more can be controlled through these actions assigned with the firmware or some kind of firmware interface, such as VIA or VIAL.
…and performs the corresponding action or inputs the corresponding character.
Ok so, I can geek out and tell you how computers have done this over the years, with the idea of character ROMs (a chip for just character storage, older computers use this such as the PET or VIC-20), but I won’t. Basically, HID handles this all for you, and by the power of ECE wizard hands, ✧・゚it just works・゚✧. (wizard gang).
Now I hear you, “But Saaammmm, how does the keyboard’s microcontroller understand which keys are being pressed?” Ah, see this is possibly one of the coolest things I learned when I was studying, and it is called multiplexing. As nice as it would be to have a chip that can give a pin to every single switch on a keyboard, that is normally not very possible.
Now stay with me, PAY ATTENTION, I know I just said a sentence that may or may not have made sense. Let’s do an analogy to understand this system more clearly.
Think about a bunch of room, all of them have a light switch in the room.