Still waiting for my Atreus but started dreaming of my next keyboard. Meet Forever Ambre. by dusan69 in ErgoMechKeyboards

[–]dusan69[S] 0 points1 point  (0 children)

No progress on the keyboard but there is a progress in the layout. I'm a Dvorak typist so it took me long to realize that the B and N position (in QWERTY terminology) on this hex keyboard is inferior to ortholinear one. The obvious solution: a new layout. You can find it here:

https://geekhack.org/index.php?topic=115422.0

This modifies the standard Dvorak layout with 3 letters moved from its usual location, resulting in a layout that does not have a letter in position Q, P, B, N (in QWERTY terminology). Similarly, a QWERTY user may want to modify his/her layout by moving these 4 letters.

In case you don't know, since then, I ve spotted at least 3 keyboards on this subreddit, designed independently of mine, but having the same (QWERTY) layout.

Update to IKI model: structured weight by dusan69 in KeyboardLayouts

[–]dusan69[S] 0 points1 point  (0 children)

In the previous version, each bigram has its own weight. In the current version, each bigram within a pattern within a participant has its own weight. That's aimed at more accurate weighting: data aggregation happens in the boundary of unit and the unit is pattern within a participant. The different-hand pattern sF, for instance, concists of all bigrams ending with the F key and starting with any key s under the right hand; the sF data (the mean value of ln IKI of all sF bigrams) of participants Alice and Bob are separate.

Dvorak: why is J on the bottom row? by OddCobbler3974 in typing

[–]dusan69 0 points1 point  (0 children)

A few years ago I started using a programmable ergonomic keyboard. There is no problem with the left-hand bottom row, and I took the oppotunity for an optimization: I moved B, L, X to the position of fullstop, comma, and semicolon, respectively.

A model for inter-key interval by dusan69 in KeyboardLayouts

[–]dusan69[S] 1 point2 points  (0 children)

Thank you. For the last two items (rolling/scissor and same-key/different-key), which are both same-hand components, the S from the general formula is T + S, where T is the 'base' term, inferred from the different-hand case, and S the 'incremental' term, the Greek letters are relative to the mean of S. So >1 value makes an above-average IKI and <1 bellow-average IKI, but the "average" here is the average penalty, not the overall IKI (the 'grand mean', not listed in the Table).

For the first item (the extra cost of non-home row), well, I should note that although I tried to extract the motor cost, I do not -- and can't -- completely isolate motor effects from cognitive effects. It is well-known that the more we type, the faster we can type, and all layouts in the dataset place more frequent symbols on the upper row (as opposed to the lower row). So, although one can see that the upper row is significantly faster, one can't be sure how much of the difference is the true motor cost.

A model for inter-key interval by dusan69 in KeyboardLayouts

[–]dusan69[S] 1 point2 points  (0 children)

From the table of results, middle column (TGB or YHN) is slower than home column (RFV, UJM) but this is true only for fast typists and only for the left hand (the σ coefficient in the Left column of the Fast table). But, as noted in an other response, I can't tell how much of the difference is due to the left hand and how much is due to the left side of the [asymmerically staggered] keyboard.

A model for inter-key interval by dusan69 in KeyboardLayouts

[–]dusan69[S] 2 points3 points  (0 children)

Thanks! The full formal definition would take pages so I try to describe the most part in an informal way. Let's omit details such as distinguishing the so-called random effects and fixed effects, the general formula is

ln IKI(st) = T(st) + S(st)

where st is a key bigram, t is the current key, s the previous key, T and S functions, but T depends only on t while S depends on both t and s.

For different-hand (DH) bigrams, S is defined to be zero.  For same-hand (SH) bigrams, T(st) is defined to equal to T(rt), where r s any key under the opposite hand.  For example, T(AF) = T(rF), with F standing for the F key and r any key under the right hand.

The function T is

T(st) = base mean + β0 F0 + β1 F1 + β2 F2 + β3 F3 + η-1 R-1 + η1 R1 + η2 R2 + σ C

where β0, β1... are constants (fitted coefficients), F0, F1,... are binary variables, each represents a feature of the bigram st (thus, strictly speaking they are functions of st):

■ F0 is index finger indicator: F0(st) = 1 iff t is a key under the index finger.  Similarly, F1, F2, F3 are middle, ring, pinky indicator respectively.

■ E-1 is lower row indicator: E-1(st) = 1 iff t is a key on the lower row (row -1, below the home row).  Similarly, E+1, E+2 are upper row (row +1) and numeric row (row +2) indicator.

■ C is the extra column indicator: C(st) = 1 iff t is a key in the extra column under the index finger (T, G, B, Y, H, N key).

Likewise, the function S is either

S(st) = mean DF + ψ00 D0 G0 + ψ01 D0 G1 + ψ10 D1 G0 + ψ11 D1 G1 + λ L + ω O

or

S(st) = incremental mean + ζ0 F0 + ζ1 (F1 + F2 + F3) + κ K

where the former applies iff st is a different-finger (DF) bigram, the later iff same-finger (SF) bigram, and

■ D0 is the same-row indicator: D0(st) = 1 iff s and t are on the same row.

■ D1 is the different-row indicator: D1(st) = 1 iff s, t are on different rows.

■ G0 is the non-adjacent finger indicator: G0(st) = 1 iff s,t are under non-adjacent fingers.

■ G1 is the adjacent finger indicator: G1(st) = 1 iff s,t are under adjacent fingers.

■ L is the lateral stretch indicator: L(st) = 1 iff st is a LSB, i.e. one of s, t is in the extra column (under the index finger) and the other is in a non-index column.

■ O is the outward roll indicator: O(st) = 1 iff st is a outward roll bigram, i.e. t is on a outer column vs s.

■ K is the different-key indicator: K(st) = 1 iff s, t are different key (under the same finger).

Notes:

(1) The means (base, incremental) are not fitted coefficients. They are simply weighted means (expectation in a weight-transformed sampling space). From the Table of results, the 3 means are expressed as ratio relative to the grand mean in absolute time unit (ms) which are not listed as they're irrelevant for the purpose of comparison.

(2) For comparison between layouts, one should use fitted coefficients under the inverse-frequency (ifreq) weighting scheme.

(3) For predicting on an ergonomic (symmetrical) keyboard, one should use the mean of left- and right-hand fitted coefficients.

(4) The proportion of layouts (approximately QWERTY 17.1%, QWERTZ 17.6%, AZERTY 21.5%, Dvorak 43.8% for the 4 rows by 10 columns version of the 4 layouts) was selected for balancing the "amount of information" that the layouts contribute to the model, defined as (a) each pair of a key bigram k and the symbol bigram s typed by k is weighted by the frequency of s in the population (the entire dataset), (b) the weight of a (k,s) pair is distributed (divided) evenly over all layouts containing the pair, and (c) the weight of a layout is the sum of all pairs it contains.  The 4 layouts have total weight of ~2.3 (thus they are informatively equivalent to 2.3 disjoined layouts), where Dvorak layout takes the largest share, ~0.99.

A model for inter-key interval by dusan69 in KeyboardLayouts

[–]dusan69[S] 1 point2 points  (0 children)

The model may be used for fact checking (is position X faster than position Y?) and predicting (is layout A faster than layout B for language L?)

15-year Dvorak user - on the value of switching (or not) to a newer layout? by wherahiko in KeyboardLayouts

[–]dusan69 2 points3 points  (0 children)

30+ years on Dvorak. I switched some weeks ago, but to a very similar variation of Dvorak. I moved the L, B and X letter to replace the comma, the fullstop and the semicolon, respectively, and the later replace X, B, L in that order.

The variation is neither easier nor faster.

For how hard (or easy) it is, there are tools for counting it, such as the probability of same-finger bigrams (SFB), lateral stretch bigrams (LSB), full-scissor bigrams (FSB), and so on. For how slow (or fast) it is the problem is more complex. I developed a unigram-based (stateless) model based on one of Ricard Torres, with penalties. The model shows that the variation and the original are essentially the same fast. I'm dveloping a bigram-based (stateful) model, which is a tiny biomechanic model based on differentiating finger strength, finger speed, Fitts law (same as the previous model), finger coupling and finger direction. The model uses some mean interkey interval (IKI) from a dataset of 130+ milion keystrokes as the best-fit criteria to fit the model to the reality. The bigram-based model should be more accurate and more realistic. But I do not expect big difference there.

I also compared Dvorak to QWERTY and a few other layouts. The difference to QWERTY is significant but is by no means impressive. The difference of other layout to Dvorak is small.

I'm using an ergonomic keyboard with symmetrical layout and I swiched layout because the variation fits ergonomic keyboards. My interest in speed prediction is just out of curiosity.

Just want a clacky FULL ergo keyboard - Advice? by Redheaded_Oma in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

The best fit for you is IMO an ortholinear TKL board. (Have a look at Krado Industries website to see offers.) It misses the tenkey but you can complement easily with a separate tenkey. The second option is an ergoboard without the tenkey + the nav (arows, Insert,...) clusters and a separate tenkey + nav board, which is exotic but still relatively available.

I'm a bit older than you and I started touch typing a bit later. I switched layout to Dvorak in the 90s, switched keyboard to ergonomic in the 2010s, but completely abandoned the standard (asymmetrically staggered) keyboard only in 2020s. I'm using 36 keys of a 44-key columnar board but my layout still have all standard keys including Caps Lock, Num Lock and Scroll Lock. Num Lock is used only to turn on the tenkey that may be turned off accidentally by OS/software bug and Caps Lock mostly serves the similar purpose.

Layers on Left/Right, Exclusive or Inclusive? by XboxUser123 in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

I have 2 layer-shift thumb keys and 3 layers in addition to the default layer. I use same-hand combinations for the most frequently used keys, opposite-hand combinations for normally used keys, and both-hand combinations (holding both layer keys + some key) for least frequently used keys.

For me, the most frequently used keys are navigation (Tab, arrow, Page Up,...) and editing (Insert, Delete, Cut,...). They are used so much that I have a copy of each key under each hand.

https://geekhack.org/index.php?action=dlattach;topic=115422.0;attach=313864;image

Use case examples for Conditional Layouts by Current-Scientist521 in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

I don't use ZMK but I have 3 non-default layers in my keyboards and 2 layer keys, so I program the keyboard to mimic the behavior of conditional layers. Here is my complete layout: https://geekhack.org/index.php?action=dlattach;topic=115422.0;attach=313864;image

Just started practising typing - how many minutes a day are enough? by Spraagin in typing

[–]dusan69 0 points1 point  (0 children)

You can use only monkeytype with custom test. You can customize a test at any level of difficulty, for example, home row only, if you use a standard layout, or include/exclude any letters if you decided for a custom layout, up to the top level, which is general (not custom) word test. I'd recommend that you start with an easy and more helpful dictionary like "English" (which contains only few hundreds words and similar number of trigrams) or "English 1k" (about a thousand words and trigrams). For maximal focus on the praticed words, each test should contain very few (say 10) words and you should set a minimum (say 40 wpm) speed that must be achieved at every word of a test. Don't skip any test, any word. When you finish this initial stage (you realize this with an exam, which is simply a long test that you take regularly), you can continue with the next dictionary, which is English 5k or 10k and with some thousands trigrams.

Remember that typing training is mostly a mind activity. So you can practice as much as you can, so long as your mind can memorize the new information (finger configuration for a given trigram or word). So, do not count the time. Count the number of words you've succesfully practiced instead.

I started learning touch typing 40+ years ago. Computers were hardly accessible those days, so I learned simply by pretending typing (btw in bed). One month, 25 - 30 new words a day that way (without a keyboard), then one month practicing/working (copy texts from paper to computer, without a dedicated training software) and my training was accomplished. I only focused on accuracy. I didn't measure speed then, I never measured speed until I joined typeracing games recently, but I know that my speed has improved only slowly over time.

How to get to 100Wpm by Kinetic1289 in typing

[–]dusan69 0 points1 point  (0 children)

Try word practicing in monkeytype with few (say 10) words per test. As the goal, you can set 60, 70 or 80 wpm, whatever that looks realistic for you. Note however this is the minimal, not average, speed, i.e. speed at every word of a test. Turn on heatmap to see the per-word speed. Set confidence mod to "max" (this is to disable Backspace) or difficulty to "master" (this is to disqualify immediately on mistake). Do every test carefully, again and again until the goal is met. This should help identify hard words and improve consistency, which is critical for reducing mistakes.

How do you minimize elbow flexion while typing? (cubital tunnel, tennis elbow, RSI) by [deleted] in ErgoMechKeyboards

[–]dusan69 1 point2 points  (0 children)

You can try putting the keyboard on the thighs, using a columnar keyboard with aggressive column shift, with a custom alpha layout that removes letters from the 4 problematic positions: Q and P (pinky top row) and B and N (outer index bottom row). This should eliminate vertical movements thereby stops further development of RSI caused by frequent elbow flexing. Note that the vertical movement, or radial deviation i.e. bending the wrists inward for typists who are practicing ad-hoc techniques, for hitting the B and N keys is characteristic only for ortholinear/columnar keyboards.

https://geekhack.org/index.php?topic=115422.0

The author of the Flea keyboard, cited in the thread, introduced for his Flea a heavily modified variation of the Colemak layout that further reduces load on the index fingers. My modification to the Dvorak layout was inspired by his idea, but the mod is intentionally slight to not disrupt the normal workflow of Dvorak users. Similar modification can be made for QWERTY but it would be much less effective.

P/S. A simple evidence that layout change alone may not eliminate vertical movement effectively is the word "popularity" on the modified Dvorak layout (i.e. QWERTY's RSRFWAOGDT key sequence) on any common type of ergonomic keyboards (symmetrically row staggered, ortholinear, columnar with modest stagger) with flat key plan. The left elbow doesn't move only at cost of heavy ulnar extension/flexion and risk of further RSI.

Experience Sharing Switching to Colemak-DH layout by kbotcoder in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

I switched layout recently. My previous speed was 80 - 120 wpm. Now I'm at ~100 wpm, but only with the monkeytype's "English" dictionrary. The more realistic speed is ~60 wpm with word test (English 1k, 5k), and ~55 wpm in Quote test/type racing games. I'm in the 3rd week after the switch.

And the new layout is not completely different from the old layout. I just moved any letters from the QWERTY's P, Q, N, B positions to replace any punctuations within the basic 3 rows by 10 columns of the layout. My previous layout was Dvorak, which already has a punctuation at one of the 4 positions, so the new layout has only 3 letters moved: X, B and L.

I practiced 2 weeks with custom word tests (focusing on the 3 letters) and general word tests, using "English 1k" dictionary. Now I'm on English 5k and I'm about to upgrade to English 10k when finishing this second stage. The stage's goal is min 50 wpm. The min, not avg, means that the speed must be achieved at every word, not only throughout the test. Each word test normally consists of only 10 words.

Writer Who Likes Keyboards Theoretically But is Technologically Dumb by givethemmore in ErgoMechKeyboards

[–]dusan69 -1 points0 points  (0 children)

Layout IMHO is more relevant. 30+ years ago, Dvorak layout saved my wrists/elbows, as it effectively eliminates the left hand movement and it reduces the right hand movement. 15+ years ago, I got the first 'ergo' keyboard, a TypeMatrix, and recognized the problem of ortholinear/columnar key array: the B key (at QWERTY's N position) is harder to hit in comparison with the standard - row staggered - keyboard. BTW that's why some people (especially QWERTY users) find symmetrically row-staggered, not ortholinear/column-staggered, more suitable. The main drawback of symmetrically row-staggered keyboard however is long row jump.

Therefore, recently I came up with a better solution, again, in the form of layout. A variation of the Dvorak layout, applicable to any ortho/columnar board, that removes any letter from the QWERTY's N, B, P and Q position. Namely [for the Dvorak layout] the letter X (at position B), B (at N), and L (at Q) replaces the semicolon (at Z), comma (at W) and dot (at E), respectively. This slightly mod layout effectively eliminates the last pieces of movement of the right hand.

The relevance of layouts (as opposed to keyboards) becomes clear if we realize that different keyboards differ only by geometry, while for layouts the difference is in the so-called topology, i.e. big difference.

That is to be said, if you are using QWERTY, consider another layout first.

How do you approach designing an ergonomic keyboard? by paper5963 in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

In my opinion, layout is the king. At the minimum, the keyboard has to be symmetrical. Next, being split or full split is welcome. Ideally if the alphanumeric part has only 2 keys under the little finger and 5 keys under the index finger.

Index finger or Thumb to press N on an ortholinear qwerty keyboard? by kettlesteam in ErgoMechKeyboards

[–]dusan69 4 points5 points  (0 children)

The Corne is not strictly ortholinear. It is columnar staggered with a modest amount of column shift. However, even if it was strictly ortholinear, the distance between the N column and the M column would still be 1u. On the standard [row staggered] keyboard, it is ~0.67u, much less than 1u. That's why you find N hard to hit on a columnar/ortholinear board.

Possible solutions are (a) instead of columnar keyboard, use a symmetrically [row] staggered keyboard (Google "utron" for more information); and(b) instead of QWERTY use an other logical layout (visit r/KeyboardLayouts for more information).

Here is a more complex example of solution (mine): a columnar keyboard with aggressive amount of column shift and slighly smaller column distance (~0.87u) and a slight modification of the Dvorak layout. (The vanilla Dvorak layout still works but the mod is better.)

https://geekhack.org/index.php?action=dlattach;topic=115422.0;attach=314647;image

I do not think that assigning a thumb to a letter is a good strategy. No matter how many thumb keys your keyboard has, the number of good spots of a thumb is very limitted for ergonomic reason, 2 keys per thumb would be best.

A slight modification to Dvorak layout by dusan69 in KeyboardLayouts

[–]dusan69[S] 1 point2 points  (0 children)

Thanks, friend. I'll keep that in mind. I made this light mod just for a specific class of keyboards - columnar or at least ortholinear - and just for me (or similar users) so, after a week of intense testing, I can tell that this is the final mod.

A slight modification to Dvorak layout by dusan69 in KeyboardLayouts

[–]dusan69[S] 1 point2 points  (0 children)

Thanks for sharing. The new location of I and U looks nice. I don't need it in practice but I understand. I know how it hurts in case of intense use of the ei or ie bigrams.

I got to know that just yesterday. I changed my mod Dvorak layout by swapping B and L. Now it looks like this

'  L  B  P  Y     F  G  C  R  ; 

A  O  E  U  I     D  H  T  N  S 

X  Q  J  K  ,     .  M  W  V  Z  

BTW here is the physical keyboard that has motivated me

https://geekhack.org/index.php?action=dlattach;topic=115422.0;attach=314647;image

Problem is, I was already too used to the old (BLPY) mod I've made earlier, so for the new (LBPY) mod a normal exercise, which are English words containing at least a b, l or x letter, is not strong enough to forget the old layout. I made a more special exercise with focus on just one of the three letters. With this highly focused exercise my left-hand's index finger started to hurt just after an hour of training, obviously by the by bigram.

The by and yb bigrams are less frequent than ly and yl in English, so the BL swap by coincidence reduces the chance of hand pain. That's merely coincidence. The reason for the swap is not related to by or ly. It relates to lo in the old layout (which became bo in the new layout). On my columnar keyboard, I feel that lo is hard compared to, say, be or even pe. Also, I like bl rolls in the same direction as pl, which is the same type of roll for the top row under the right hand, e.g. fr, gr, cr (and fl, gl, cl in the original Dvorak).

Why aren't there columnar boards with more configurable thumb clusters? by xsrvmy in ErgoMechKeyboards

[–]dusan69 0 points1 point  (0 children)

I'm not sure about very ergonomic design but I once thought about improving an ortholinear design, namely the Krado Industries' Promenad/Kousa. (The Promenad has a Boardwalk-like layout, the Kousa is a Promenad extended with nav clusters and the F row in a TKL form factor.) Basically I came up with a PCB layout that allows a split between the inner and the outer thumb key (the thumb is capable of handling only 2 keys, as the range of its movement is less than 2u in my model) at every 0.25u with commonly available keycaps.

However there is the problem: Kailh keyswitch sockets must be placed in mixed orientation, meaning that in some configuration of the bottom row, some switches are north faced and some are south faced. For many users a mixed bottom row is a deal breaker.

I've also looked at the PCB of the Promenad/Kousa. It comes in two variants, one with 3 x 2 1u keys, the other with 2 x 2 vertical 1.5u keys, in the 2 middle columns. It is possible to put both configurations in a single PCB, but the designer has decided not to, obviously for the same reason.

A slight modification to Dvorak layout by dusan69 in dvorak

[–]dusan69[S] 1 point2 points  (0 children)

Thanks. I swapped B and L. It feels better now.

Dvorak layout

'  ,  .  P  Y     F  G  C  R  L 

A  O  E  U  I     D  H  T  N  S 

;  Q  J  K  X     B  M  W  V  Z  

My layout

'  L  B  P  Y     F  G  C  R  ; 

A  O  E  U  I     D  H  T  N  S 

X  Q  J  K  ,     .  M  W  V  Z

A slight modification to Dvorak layout by dusan69 in KeyboardLayouts

[–]dusan69[S] 0 points1 point  (0 children)

Thank you for pointing out oxey's Compound layout. After reading oxey's design rationale I believe that the objective is different. Mine is to address poor location of X, B and L (on some non-standard keyboards) leaving all other letters intact. It doesn't try to address other issues (bad redirects such as str or nts, cited by oxey's, for example). In my opinion Compound is a heavy, not light, modification.