FNRS layout is carpalx optimization with preset home keys. Optimization is based on reference text containing 5 000 featured articles from English wikipedia.
It's easy to convert standard ANSI, ISO and KS keyboards to FNRS ones as long as keycap profile is uniform.
Ten finger distribution takes into account last letter frequencies and assumes that opposite hand's thumb is responsible for space bar. Eight finger distribution is calculated without taking into account spaces. Strong fingers contribute most.
Calculation of typing effort takes into account 26 letters and 2 most common punctuation characters (full stop and comma).
Keyboard effort ------------------------------------------------------------ k1 0.809 78.9 78.9 k1,k2 0.998 18.4 97.4 k1,k2,k3 1.025 2.6 100.0 b 0.401 22.5 22.5 p 0.625 35.1 164.1 ph 0.000 0.0 0.0 pr 0.171 27.4 27.4 pf 0.372 59.5 86.9 s 0.755 42.4 100.0 all 1.780 100.0 100.0
Total typing effort is 1.78, about 10% lower then that of JNSF and JNRF layouts.
FNRS XKB configuration combines FNRS optimization with symbols imported from standard US layout.
Linux users can unpack it and copy configuration file to /usr/share/X11/xkb/symbols/
directory:
sudo cp fnrs /usr/share/X11/xkb/symbols/fnrs
FNRS layout for ANSI keyboards can be selected with
setxkbmap fnrs
and set as default as
localectl --no-convert set-x11-keymap fnrs pc104
FNRS layout for ISO keyboards can be selected with
setxkbmap fnrs
and set as default as
localectl --no-convert set-x11-keymap fnrs pc105
Extra key can be used as compose key.
FNRS layout for KS keyboards can be selected with
setxkbmap fnrs -symbols 'pc+inet(evdev)+fnrs'
and for persistent layout change one can comment out HNGL and HJCV
key assignments in /usr/share/X11/xkb/symbols/inet
and set FNRS layout as default with
localectl --no-convert set-x11-keymap fnrs
Extra thumb keys can be used as Delete and Backspace.
Alternatively one can use cross platform KMonad configuration.
Another alternative is to use FNRS configuration for keyd key remapping daemon.
January 2, 2022. Giorgi Chavchanidze.