title: Put the knife down and take a green herb, dude. |
descrip: One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com Using 89% of the same design the blog had in 2001. |
FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white. As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green. |
|
x
MarkUpDown is the best Markdown editor for professionals on Windows 10. It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support. Features you won't find anywhere else include...
You've wasted more than $15 of your time looking for a great Markdown editor. Stop looking. MarkUpDown is the app you're looking for. Learn more or head over to the 'Store now! |
|
Sunday, February 27, 2022 | |
When you discover you can eventually figure out most anything, you know, like, "I can replace the transmission in my car," you start going down serious rabbit holes. I like rabbit holes. The problem is that though you can do most anything, it's still often difficult to actually pull something tangible off. For instance, it seems pretty easy to make an audio cassette player. Schematics are out there. And I bet with a good enough motor, you wouldn't need a flywheel to regulate play speed. You certainly learn some cool stuff -- exhibit analog computers, for instance, was something my cassette player rabbit hole turned up as part of an intermediate cMoy amplifier rabbit hole. But there's often still a barrier to true productivity after the euphoria of researching a new topic that's probably a bit too high to easily deliver concrete results without enlisting some "real" expert help. (This is also the difference between replacing a transmission, which I've pulled of a few times, and an engine, where I think I 90% succeeded, but still took to a shop to finally get the installation debugged & fired up.) Anyhow, my latest rabbit hole has been custom keyboards, and it's one where I think any reasonable schmoe can achieve productive, concrete results. I mean, it's a very popular geek pastime, and the domain is pretty straightforward.
Apparently PS/2 is super simple, but we've still been using microprocessors to read the circuits for some time. From wikipedia.org:
So on its face, a very simple proposition, repeated a number of times, and you've got a keyboard, which we always knew in theory was just a lot of buttons each like the battery-powered buzzers we might have played with years ago, but there's nothing like studying the innards for that to really, practically make sense. Anyhow, that's too much preamble. I'm not writing a book. Here, in good web-log style, are some good links to information about keyboards that I've run into during the rabbit hole exploration... (Warning, like other giant log dumps, this post wasn't proofread even as well as my typical post, which is pretty bad...) The parts of a keyboardThe quick overview from Wikipedia, above, is actually nice and succinct:
So we need to figure out three things:
This three-part series, "Designing a keyboard from scratch", is a pretty in-depth conversation about all the steps put together, if you're less of a weblog reader and more a TL;DRer, though, plot twist, there's a lot of reading. #1, The MatrixFor #1, you have two choices:
Here's a little on hand-wiring, which I might do for fun with my WASD Keyboards switch test taster [sic], but wouldn't do, I don't think, for a full-sized keyboard.
That said, as we saw in the "Designing a keyboard from scratch" series, using a PCB is probably a better idea, and certainly makes it easier to share your creations. #2, The switchesThere's not much to say here. We want mechanical switches. Most keyboards today are those weird membranes. They're cheap and small. From computerworld.com:
But they aren't multi-use designs. That is, you can't pull the membrane for your keyboard out of your laptop and easily rearrange the keys or layout (though there are some neat guides like this one on how to pull a laptop keyboard, give it a new processor, and use it like any other external, wired keyboard). So membranes we don't want to do. It's not feasible for hobbyists because it requires high volume and prevents experimentation. Instead, we use the kewl one-off switches, as many as we need to make our keyboard. The reason these things enable so much customization is because they're very simple. They have two wires sticking out of their back. Power goes into one side and doesn't come out of the other until the switch is closed, just like a light switch, except that these are spring loaded to "unswitch" when you lift your finger. You know, just like those battery-powered buzzers you might have played with when you were younger. There are no inter-key depdencies. Hack them up however you want. I mean, I guess I should talk about different switch types, but that's really down to personal preference. That said, here's a pretty good general rundown of mechanical switches on the market today from matt3o.com as an intro:
If you don't already know your preference, that WASD Keyboards switch test taster isn't a horrible idea. I've got one. Better is to steal your friends' keyboard to try them out, however! #3, ControllersThere are lots of choices here. The conventional answer seems to be to use Teensy microcontrollers with a keyboard library like TMK or QMK. But Teensys are $20 a pop and I already had a Raspberry Pi Pico sitting around. Those run $4. I wondered if I couldn't use one of those instead. I mean, we're just detecting closed circuits and reporting via USB, right? And at first I tried to see if I could handle it all "myself" on the pi's CPU (the keyphrase is "bit banging" -- here are some results), but then I figured out how stupid that was. The pi already supports USB interfaces! I was thinking I needed that USB port to debug and program -- and I do -- but apparently it can also be used to perform USB out, no PS/2 bit banging and USB wire mapping required. The TL;DR is to watch this video, "CircuitPython with Raspberry Pi Pico - Getting Started". It's not making a full keyboard, but the PoC is all there. That's where I'm going to start, I believe. Note that it also talks about turning a joystick into a mouse, which I discuss a little more down belong under the "windmills" section (the pie-in-the-sky personal goals where I want to add a trackpoint to a keyboard). Here's some more info on controllers I've run over:
Personal windmillsOkay, cards on the table, here's what's driving my rabbit hole: I've been using Microsoft Natural Keyboard Pro for, sheesh, over twenty years. It's comfortable, and I've nearly muscle memoried it to the point I'm not quite as fast anywhere else (though I use Lenovo ThinkPad Bluetooth Keyboard on laptops with ease). There are four problems with this keyboard, however.
My perfect keyboard would, then, keep an ergonomic feel close to/inspired by the Natural Keyboard Pro, would drop the keypad, would be backlit, and have a trackpoint for mouseless driving when I wanted. That's some work, but it's good to have goals, right? For point 4, this from hackaday.com is kinda neat:
More on trackpoint customization:
Backlight: Rabbit hole fringe benefitsSpeaking of finding interesting things, how about this one-handed ergonomic keyboard from the 1980s! From Microsoft Research's Buxton Collection:
posted by ruffin at 2/27/2022 11:47:00 AM |
|
| |
All posts can be accessed here: Just the last year o' posts: |
||||||||||||||||||||||
|