Like Chording But Not

Repetitive strain injuries (RSI) can be a real pain. You’ve got a shiny new laptop, and everything’s going smoothly, but suddenly you can’t use it without agonizing (as in typing-speed reducing) pain caused by years of keyboard bashing or just plain bad posture. All of us hacker types will likely have or will experience this at some point, and luckily there are many potential solutions.

[Zihao Wang] writes to show us kseqi, another chord-like textual input method, with a focus on the input sequences, as opposed to any particular mechanical arrangement of keys. The idea is to make use of two sets of independent inputs, where the sequence of actuation codes for the keystrokes to be emitted into the application.

Left-hand-first to select a column of the left character set. Right-hand-first selects the other set.

An example interface would be to arrange two sets of five keys as the input mechanism. One can arrange characters in a matrix. The left key is pressed and held first which selects a column (1 out of 5) then the right key is pressed to select a row, and thus a character. Next, you release in the same order, left, then right, to send the character.

Swapping left and right allows a different set of characters. In this simple scheme, fifty characters can be coded. Check out this web assembly demo for how this operates. Swapping out the physical inputs for a pair of joysticks is another option, which may be better for some folks with specific physical difficulties, or maybe because it just looks fun. As [Zihao] mentions in the write-up, the sequence order can be changed to code for other character sets, so this simple scheme can handle many more character codings than this simple example. All you have to do is remember them. Interested parties may want also wish to dig into the kseqi Rust crate for information.

Chorded keyboard projects are plentiful out there, here’s a nice Bluetooth-connected keeb, and another one that’s all wiggly.

Continue reading “Like Chording But Not”

Hobnobbing With The Knob

The scroll wheel might be the best thing that happened to the computer mouse since, well, the computer mouse. But sometimes you want something a little more tangible. For example, with a software-defined radio setup, it doesn’t feel right to scroll your mouse to change frequencies. That’s where [Wagiminator]’ USB knob would come in handy. Marrying a 3D printed case, some addressable LEDs, a rotary encoder, and a CH552E microcontroller, the knob appears to the host operating system as a normal USB keyboard. That means most programs can use it without any special drivers or software.

There’s honestly not much to the hardware. A custom PCB holds two WS2812’s, the tiny CPU, the encoder, and the USB plug. There are a few random discrete components, too, but not many. Everything you need is on the project page. The PCB layout, the software, the schematics, and the 3D print files. The code that does the main work is extremely simple. The USB code is a bit more complex (look in the include directory) but honestly, it isn’t as bad as most USB examples we’ve seen.

This project is ripe for hacking. The software is simple enough to modify easily. The 3D printed case wouldn’t be hard to spruce up or print in different colors. Following the example, this would make a reasonable core for a custom keyboard peripheral that used exotic keys instead of a rotary encoder.

Knobs can be simple or complex. If you want our take on the odd volume control, we used sonar.

Stadia Controller’s Two Extra Buttons Get Seen With WebHID

The Google Stadia game streaming service relied on a proprietary controller. It was a pretty neat piece of hardware that unfortunately looked destined for landfills when Google announced that Stadia would discontinue. Thankfully it’s possible to use them as normal gamepads, and related to that, [Thomas Steiner] has a developer blog post about how to talk to the Stadia controller via WebHID. Continue reading “Stadia Controller’s Two Extra Buttons Get Seen With WebHID”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Breadboard Macropad

For their first custom, hand-wired keyboard, [terryorchard] aka [70rch] didn’t want to mess with making a total split, and we don’t really blame them. However, as you can see, they ended up with a monoblock split, which aside from being our own personal preference, looks fantastic, and also happened to be what fit on the print bed.

What you’re looking at is a 40% remix of the Alice layout with a columnar stagger. It’s also a bit 6×3 Corne-inspired on the ergonomic front. Brain-wise, it’s got an exposed Elite Pi driving a matrix of Kailh Choc pinks and an EC11 encoder. The encoder scrolls by default, and then becomes a volume knob on the numbers and symbols layer. One super cool thing about this keyboard is the secret third layer, which is unlocked by pressing the rotary encoder. This leads to some home row mods and disables the outside columns, culminating in a test 3×5 with two layers.

Via KBD #112

Continue reading “Keebin’ With Kristina: The One With The Breadboard Macropad”

Fulcrum Foils Finger Fatigue

It turns out that typing all day just might be bad for your hands and fingers. Repetitive Strain Injury, RSI, was a real problem for [David Schiller], particularly when coding. So, naturally, he started designing his own keyboard. And bless him, he’s shared the whole project on GitHub.

The solution is Fulcrum, a chording keyboard with keys that can be pressed with minimal movement. And one more clever trick is a thumb joystick, mounted in the thumb’s opposable orientation. It’s a 5-way switch, making for a bunch of combinations. The base model is a 20-key arrangement, and he’s also designed a larger, 40-key option.

The build is pretty simple, if you have access to a 3D printer. Print the STLs, add key switches, and wire it all up to a microcontroller. Use the supplied code, and all that’s left is to learn all the chord combos. And why stop with combos for single characters, when there are plenty of common words and plenty of key combinations. If you decide to build your own take on the Fulcrum, be sure to let us know about it!

Mechanical Keyboard Is Also A Mouse

The mechanical keyboard community is a vibrant, if not fanatical, group of enthusiasts determined to find as many possible ways of assembling, building, and using as many high-quality keyboards as possible. With so many dedicated participants, most things that can be done with a keyboard already have been done. So when something as unique as this split keyboard that also doubles as a mouse pops up, we take notice.

The keyboard is a custom build from [Taliyah Huang] which uses a pair of Arduinos, one in each half of the keyboard, to communicate key and mouse information to a third Arduino which is plugged in to her laptop. The right-hand half of the keyboard also includes the circuitry from an optical mouse, which gets powered up when the caps lock button is held down. When activated, this allows the keyboard to be used as a mouse directly. It also includes support for most Mac gestures as well, making it just as useful as a trackpad.

While there were some problems with the design, including being slightly too tall to be ergonomic and taking nearly 24 hours of soldering to complete, the prototype device is an interesting one especially since it allows for full control of a computer without needing a dedicated mouse. For other unique mechanical keyboard concepts, we recently featured this build which takes design and functionality cues from the Commodore 64.

Continue reading “Mechanical Keyboard Is Also A Mouse”

Building A Fake Printer To Grab Screenshots Off The Parallel Port

[Tom Verbeure] recently found himself lamenting the need to take screen grabs from an Advantest R3273 spectrum analyzer with a phone camera, as the older gear requires you to either grab tables of data over an expensive GPIB interface card, or print them to paper. Then he realized, why not make a simple printer port add-on that looks like a printer, but sends the data over USB as a serial stream?

On the hardware side, the custom PCB (KiCAD project) is based on the Raspberry Pi Pico. Obvious form factor issues aside ([Tom] did revise the PCB to make it smaller) this is a shrewd move, as this is not a critical-path gadget so using the Pico as a USB-to-thing solution is a cost-effective way to get something working with minimal risk. One interesting design point was the use of the 74LVC161284 special function bus interface that handles the 5 V tolerance that the RP2040 lacks, whilst making the project compliant with IEEE-1284 — useful for the fussier instruments.

Using the service manual of the Sharp AP-PK11 copier/printer as a reference, [Tom] again, shows how to correctly use the chip, minimizing the design effort and scope for error. The complete project, with preliminary firmware and everything needed to build this thing, can be found on the project GitHub page. [Tom] does add a warning however that this project is still being worked on so adopters might wish to bear that in mind.

If you don’t own such fancy bench instrumentation, but grabbing screenshots from devices that don’t normally support it, is more your thing, then how about a tool to grab Game Boy screenshots?