Close

[A] Details before 5th Oct 2022

A project log for Tetent [gd0090]

An input device for quickly entering text and equations, gaming, drawing and cursor/6DoF movement.

kelvinakelvinA 10/05/2022 at 00:131 Comment

I'm just archiving the text in the "details page" here because I want to refactor it.

Abstract

I needed a new character input method that satisfied most or all of the requirements: - Easy to learn (research unveiled that stenography/charachorder is slow to learn to a usable level), - Small enough for use with a smartphone, so that I didn't have to learn a mini and regular layout, - Max theoretical of over 240wpm, ideally 320, - LED backlit, - 1 handed mode, - Wireless and wired, and - Usable with fingernails. I had doubts that a valid solution could exist, but I soon found out about double-action switches (switches that do 2 things depending on how hard/far down you press them) and a potential solution was found, which could even exceed my requirements. Eventually, I refined the conceptual idea, making it even easier and faster to learn and type. The only thing missing are the backlit LEDs because multi-action, motorised belt switches are just BetterTM. 

The input device

Tetent can be used single-handedly or dual-wielded. The secondary (right hand) Tetent appends its characters to the primary (left hand) Tetent.  It is also ambidexterous. Tetent uses the Tetrinsic Switches [gd0041] which allows for software determined actuation force and haptic feedback adjustment, meaning that buyers remorse on getting too light/heavy/linear/tactile switches is a thing of the past. They're inspired by the SmartKnob View but I only considered it because of this keyboard.

Learning difficulty

The OLED on the side is used to show finger position, a list of actuation points under the last moved Tetrinsic, train while typing and search for macros, hopefully reducing the gradient of the learning curve. 

I think that the feature that's really going to cut down the learning curve are the motors in each #Tetrinsic [gd0041] key that will be able to move a users fingers to the correct position. I hope to implement things like simon says and typing ghosts.

Software adjustable sliders

The keys can also be used as sliders, allowing for easy adjustment of analogue settings like brightness/volume. 

Theory

Old method using 4 zones and 3 actuation levels (my initial idea of Tetrinsic)

For fast English typing, the original idea was that characters "a" to "zz", as well as "0" to "99" have their own chord on the keyboard. 

To write "a.keyboard.readChar() {", where the solid bullet point is the start of a chord on the left Tetent and the hollow bullet point is the right one:

It'll look like this on screen:

Or, for faster speed:

The keys have zones set by software. The default was 4 zones, 3 layers for the fingers and 2 zones, 3 layers for the thumbs. 5 zones would allow for 4095 unique chords, and more zones on the thumbs could allow for accents in other latin-based or romanised languages.

It seems that my leisurely simulated chording speed is 3.8 chords per second and focused would be 4.5 (25% increase). This is similar to my leisurely to focused typing speed of 50wpm -> 60 (a 20% increase). I estimate that alphanumerical chording speed at 3.8 chords/second will be 220wpm (182wpm without spaces) and 4.5 chords/second will be 262wpm (216wpm), assuming spaces average 17.6% of all characters in text (value obtained using project logs I've written). Only using 1 hand will halve these numbers. 

New method with the pressure sensing in Tetrinsic

I had the idea from the SmartKnob to use force sensors and haptics instead of physically-moving keys to allow for any number of actuation points. This allows for "a" to "zzz" while reducing the amount of keyboard layout a user needs to learn. 

The layout uses 6 zones and >=5 actuation points for all alphabet characters and common symbols. The idea is to use the motor to help with finger positioning and weights of 40g to 100g with the actuation points 8g apart. 

Using the same example as in the "old method", this is what "chording" would look like:

This new method allows for up to 50% faster chording (and perhaps even more due to the lower mental latency). This means that if I can get a paced 3.8 chords per second, I could be typing at >330wpm for a good amount of time and not the <15 second bursts I've seen on YouTube. I only need to perform 1 chord a second to exceed my QWERTY typing speed (85 > 60).

Discussions

kelvinA wrote 10/05/2022 at 02:00 point

🙄 I just spent 100 mins typing up the new "Details" of the project and it didn't even feel like 50. All the more reason why I want Tetent to exist and be a success. It's 3am right now and I've got 9am classes 😟.

  Are you sure? yes | no