Close

[E2][X] Plotting finger movements

A project log for Tetrinsic [gd0041]

A continuous, motorised slider that is force sensitive, haptic, UV self-sterilising and water resistant.

kelvinakelvinA 12/23/2023 at 20:560 Comments

So I spent maybe 2 hours setting up the groundwork of this excel spreadsheet and then maybe 15 minutes actually puttinging in some values. This spreadsheet assumes I'm using #Tetrescent [gd0150] and in a mirrored (aka vertical) mode where for both sides, the placement of characters is Finger1->Finger4.

I've tried plotting the position and force level in the black chart, and the change in position and force level in the white chart. For the most part, I can't really gather any insights so far. Perhaps it's just because I've only input the first sentence to see if I should continue or not.

The fanciest part of the spreadsheet is the use of a lookup table, but the command LOOKUP didn't work. The good news is that we now live in the advent of AI:

In this spreadsheet, I assume that a blank field for the char columns means no input, i.e. 0 force from fingers. Thus, my equations are:

For position X: If the char field is blank, use the previous position
(I'm just lifting my fingers), else find the corresponding position for the 
char:
    =IF(ISBLANK(E4), B3, INDEX($AS$2:$AS$56,MATCH(E4,$AR$2:$AR$56,0)))

For force F: If the char field is blank, the force is 0, else find the 
corresponding force for the char:
    =IF(ISBLANK(E4), 0, INDEX($AT$2:$AT$56,MATCH(E4,$AR$2:$AR$56,0)))

 for the fingers, and 

For position X: If char is blank and the previous position was 1, go to 2, 
else if char is blank, do the same as the fingers.
    =IF(AND(R3=1,ISBLANK((U4))), 2, 
    IF(ISBLANK(U4), R3, INDEX($AS$57:$AS$70,MATCH(U4,$AR$57:$AR$70,0))))

For force F: (similar thing to the position calc and finger force calc:
    =IF(AND(R3=1,ISBLANK((U4))), 2, 
    IF(ISBLANK(U4), 0, INDEX($AT$57:$AT$70,MATCH(U4,$AR$57:$AR$70,0))))

 for the dynamic spacebar thing (which could be the Thumb or Finger5). This is because the finger (in this case, Finger5) rests in the below white box of the layout:

The user pulls back to column 1 --  similar to a trigger or that sliding, on-off toggle thing on the PSP -- and then the motor exerts a force to push the finger back to column 2. This allows me to have a virtual button without having to push down on the Tetrinsic. It's similar to how I envision the datahand-inspired layout to function.


Now, the reason why I typed the phrase out first is so that I could also get pseudorandom typos integrated into it. For this monkeytype test, I had 2 errors. The first one has been recreated here, taking the Tetrinsic layout into account:

The code "s1" stands for the first space option, and "bc" stands for "CTRL+Backspace".
This typo simulates accidentally pushing too hard on Finger4.

[24 Dec: 20:00]

So I've spent a while learning things like the =OFFSET command, so that I could have a dynamic start-end point for the charts without having to laboriously edit tens of values. BingChat initially generated code for =INDIRECT, but then I started moving colums around to make the spreadsheet more readable and the positions didn't update in the charts.

This is the first time I'm even realising there's a "Formulas" tab in Excel, let alone that you can name selections just like in Fusion360.

I've moved things around so that everything is a lot more readable. Hopefully, this gives those finding out about this project a better understanding on how the typing system works.

Then I needed another run. I decided to go with a quote this time, and despite it being 5am without having slept yet, I managed to 100-accuracy it.

For both of these, I've assumed I'm proficient enough to realise when I can reduce finger travel, such as being able to keep Finger2 on "O" between rows 76 - 78.

From doing this, I was able to make some slight optimisations to the layout, which can be seen below:

It's still kind of tough to gather many insights from the charts, but at least it shows what I'm interested in for this study. The ideal layout solution is one where the distance-force chart is as close to what Right Finger5 currently is:

As you can see, there is no movement of the finger and only 2 force levels were needed to input the quote. Perhaps that's actually the strat to understanding the data: looking at individual fingers instead of all of them at once.
Finger2 is looking very promising, especially the right finger where most of the action is in the lower left corner. In contrast, Fingers 3 and 4 are looking less optimal, with 4 slightly worse overall:
My hypothesis is that 4 usually has to deal with punctuation.

[21:30] I've done the next quote, which was a bit longer:

This is how it chords out:

Note that ctrl+backspace applies before the characters denoted by the fingers. It would be rather useless if it didn't work like that, erasing the chord that was enetered at the same time.

As I was doing the chording, characters 'Y' and 'W' stuck out, as well as the fact that 'X' is in a prime real-estate location yet was completely avoided. Since 'W' is only force level 1 as well as being one of the only characters I need to reach on position 5, I left it in place; I thought it'll at least be a nice hop to break up the monotonity or something. I've swapped 'Y' and 'X'. Thanks to that, the distances travelled between steps is mostly constrained to 2 or less. I've also swapped columns 3 and 4 for Finger5 so that there is a lower penalty for backspaces:


Here are the charts:

I found some use of the black charts as a heat-map of sorts.

Another insight I've had from this is that the finger utilisation is comparable, except the thumbs which can be explained; the persona I'm emulating is a user that mainly uses Finger2, 3 and 4, only using Finger1 to fit 4-letter syllables and words into a single chord. I thought Finger5 wouldn't be doing much, but I have been proven wrong.

Discussions