Ko var pateikt par 1M taustiņu klikšķiem

Sep 05 2015

Izmantojot dažādus Linux rīkus, apmēram sešu nedēļu laikā savācu 1M (vienu miljonu) taustiņu klikšķus. Tagad esmu apkopojis statistiku par tiem. 

Saturs

Ievads

Izstrādājot Latviešu modernās tastatūras izklājumu, pamatā vadījos no burtu biežuma latviešu (un arī angļu) valodas tekstos. Tomēr ne visus datora tastatūras taustiņus izmanto tikai teksta ievadei. Patiesībā ir tā — jo vairāk īpašu programmu lietotājs lieto, jo lielāka ir atšķirība starp praktiski nospiestajiem taustiņiem un valodā sastopamām rakstzīmēm. Tāpēc nolēmu praktiski pārbaudīt, kāda tieši ir šī atbilstība (vai neatbilstība), uzmanību pievēršot arī īpašajiem, "neburtu" taustiņiem.

Izmantotie rīki

Statistikas vākšanai izmantoju Bash skriptus. start-keylog.sh tika palaists katru reizi, palaižot X-logu sesiju (pēc pieteikšanās datorā), kas kā fona procesu palaida keylog.sh. keylog.sh izmanto xinput tastatūras notikumu izsekošanai un tr ar tr.txt lai xinput notikumus ierakstītu baudāmā formā žurnāla failā.

Šī žurnāla faila fragments ir sekojošs:

┕[[
a
t
ta
c
h
┕.
t
r
.
t
x
t

/
┕]]
x



l
a
i

t
o
s

a
t
t
ē

i
e
r
a
k
st
ī
t

Daži paranoiķi uzskata, ka kopīga tastatūras notikumu apstrādes iespēja būtu jāaizliedz, jo šādā veidā viena "ļauna" Linux lietotne var noklausīties visās citās lietotnēs ievadītos datus. Tomēr es piederu pie tiem, kas uzskata, ka vai nu sistēma ir uzticama, ieskaitot visas tās lietotnes, vai arī tā nav uzticama (piemēram, tāpēc, ka tā ir slēgtā koda sistēma). Tāpēc es tādus rīkus kā xinput uzskatu par labu iespēju, nevis drošības draudu.

Lai apkopotu ievadīto simbolu skaitu, katru minūti ar crontab palaidu count-log.sh skriptu, kas saskaitīja uz doto brīdi nospiesto taustiņu skaitu. Šī faila fragments ir sekojošs:

2015-07-03 13:42 973539
2015-07-03 13:43 973539
2015-07-03 13:44 973560
2015-07-03 13:45 973560
2015-07-03 13:46 973660
2015-07-03 13:47 973689
2015-07-03 13:48 973693
2015-07-03 13:49 973746
2015-07-03 13:50 973751
2015-07-03 13:51 973754
2015-07-03 13:52 973812
2015-07-03 13:53 973829
2015-07-03 13:54 973876
2015-07-03 13:55 973976
2015-07-03 13:56 973976

Taustiņu klikšķu skaits

Izmantoju Kinesis Advantage tastatūru, kurai taustiņi ir izkārtoti normālās, taisnās kolonnās, un īpašie taustiņi ir izkārtoti savādāk, nekā standarta 104 vai 105 taustiņu tastatūrai. Klikšķu sadalījums pa taustiņiem ir parādīts ar taustiņu noēnojumu ("nodilumu") sekojošā attēlā, kur zili/balti burti norāda taustiņa simbolu, bet skaitļi — klikšķus veselos tūkstošos. Rakstzīmju taustiņiem tas kopumā atbilst Latviešu modernās tastatūras izstrādes laikā paredzētajam paredzētajam taustiņu izmantojumam. Tomēr, atšķirības ir speciālajiem taustiņiem, piemēram, Shift un Ctrl, kurus es to ar kreiso roku lietoju daudz biežāk, nekā ar labo, kā arī dažiem burtiem.

TaustinuKlikski.png

Sekojošos attēlos ir parādīts klikšķu sadalījums dažādos veidos. Pievērsiet uzmanību, ka grafikiem ir divas skalas — kreisajā pusē ir norādīts klikšķu skaits tūkstošos, bet labajā pusē — klikšķu relatīvais sadalījums procentos.

Leģendas atšifrējums ir sekojošs:

  • 1 ir mazais pirkstiņš un attiecīgi virzienā uz īkšķi, un 5 ir īkšķis,
  • pirmais burts L/K norāda roku, 
  • otrais burts L/K kreiso vai labo rindu rādāmpirkstam un mazajam pirkstiņam.

Klikšķu sadalījums pa taustiņu kolonnām ir sekojošs:

KlikskiKolonnasKreisaRoka.png

KlikskiKolonnasLabaRoka.png

Tā kā ar rādāmpirkstu un mazo pirkstiņu tiek spiestas divu taustiņu rindas, kopējais klikšķu skaits apvienojot šo pirkstu kolonnas ir sekojošs:

KlikskiPirkstiKreisaRoka.png

KlikskiPirkstiLabaRoka.png

Var redzēt, ka, mazajam pirkstiņam pieskaitot īpašo taustiņu rindu, tā slodze ir praktiski tāda pati kā citiem pirkstiem. Var redzēt, ka Kinesis Advantage īpašo taustiņu izvietojuma dēļ kreisās rokas zeltnesis ir salīdzinoši maz izmantots, tāpēc esmu paredzējis ar laiku īpašo taustiņu izvietojumu nedaudz optimizēt. 

Sekojošos attēlos ir parādīts klikšķu sadalījums pa taustiņu rindām:

KlikskiRindaKreisaRoka.png

KlikskiRindaLabaRoka.png

Salīdzinot klikšķu skaitu rokām, var redzēt, ka es kreiso roku izmantoju biežāk nekā labo. Tas ir ne tik daudz tastatūras burtu izvietojuma dēļ, cik slikta ieraduma dēļ. (Es praktiski vienmēr Shift un Ctrl taustiņus spiežu ar kreiso roku.

KlikskiRokam.png

Rakstīšanas ātrums

Kā redzams, sadalījums ir ļoti nevienmērīgs sākot ar 0 un beidzot ar 240 klikšķiem minūtē. Bet vidējais rādītājs ir ap 50 klikšķiem minūtē. Ņemiet vērā, ka tas ir patiesi nospiesto taustiņu skaits. Simbolu automātiska atkārtošana, ilgāk turot nospiestu taustiņu, netiek ņemta vērā.

KlikskiMinute.png

Taustiņu kombinācijas

Tā kā xinput ļauj izsekot ne tikai taustiņu nospiešanu bet arī atlaišanu, keylog.sh skripts ir veidots tā, ka pārnesums jaunā rindā žurnāla failā ir tikai tad, kad visi taustiņi ir atlaisti. Tas ļauj izsekot arī dažādas taustiņu kombinācijas.

Diezgan pašsaprotamas ir dažādas taustiņu kombinācijas kopā ar Ctrl taustiņu (līnija norāda taustiņu pāri un tās resnums norāda relatīvo biežumu, kur 1 punkts ir aputuveni 1 tūkstotis kombināciju). Jūs noteikti nepārsteidz, ka izplatītākās kombinācijas ir Ctrl+c, Ctrl+x, Ctrl+v rediģēšanai un Ctrl+s saglabāšanai, Ctrl+t Firefox jaunas cilnes atvēršanai. Bet man salīdzinoši izplatītas ir arī mazāk pazīstamas kombinācijas: Ctrl+d — iziešana no Bash, Ctrl+l — termināļa vēstures notīrīšana un Ctrl+Alt+l — X-logu sesijas bloķēšana, Ctrl+n — automātiska vārda pabeigšana VIM teksta redaktorā, Ctrl+o skata pārslēgšana mc pārvaldniekā, Ctrl+r — reversā komandas meklēšanas Bash vēsturē.

Ctrl-.png

Taustiņu kombinācija ar nospiestu Shift taustiņu, pamatā ir izmantota, lai ievadītu lielos burtus. Tomēr arī šeit ir dažas mazāk zināmas kombinācijas: Shift+Ins ir kopētā teksta ievietošana Bash, Shift+[ vai Shift+] ir izmantots, lai ievadītu { vai }, rakstot programmu kodu.

Shift-.png

Interesanti, ka rakstot arī parastu tekstu, nereti nospiežu nākamo taustiņu, pirms vēl esmu atlaidis iepriekšējo. Pamatā tas ir tāpēc, ka rakstot izmantoju visus pirkstus. 

Sekojošā grafikā parādīti izplatītākie taustiņi, kuri ir bijuši nospiesti kopā ar atstarpes taustiņu:
Space-.png

Un sekojošā grafikā ir parādīti citu nospiesto burtu pāri:

BurtuPari.png

Protams, ir kombinācijas ar vairāk kā diviem vienlaicīgi nospiestiem taustiņiem, bet šo kombināciju dažādība ir ļoti liela. Salīdzinoši izplatīta ir kombinācija Ctrl+Alt+t lai atvērtu jaunu termināli, Ctrl+Alt+s, un Ctrl+Alt+r lai sakārtotu logus uz darba virsmas (Win+→ un Win+← analogs). Garākās taustiņu kombinācijas ir, piemēram, Alt+→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
, lai pārtītu garlaicīgu filmu VLC atskaņotājā.

Taustiņu klikšķu salīdzinājums ar burtiem valodā

Lai arī praktiski nospiesto taustiņu skaits ir aptuveni pa vidu starp burtu izplatību angļu un latviešu valodās, dažiem taustiņiem tas tā nav.

Mazāk lietoti burti

  1. Atstarpes taustiņu esmu lietojis retāk nekā dabīgā valodā. Man šķiet, tas ir tāpēc, ka īsos tekstos (piemēram, e-pastā) tukšuma vietā nereti izmantoju pārnesumu jaunā rindā (ievades taustiņu).
  2. Esmu retāk nekā dabīgā valodā lietojis Q taustiņu, jo Latviešu modernajā tastatūrā šo burtu ar vienu taustiņu var ievadīt tikai tad, ja tastatūrai ir IBM ieviestais "102. taustiņš" blakus mazākam kreisajam Shift taustiņam. Tā kā Kinesis Advantage šāda taustiņa nav, es Q burtu ievadu ar 'x taustiņu kombināciju.

Biežāk lietoti burti

  1. X — trūkstošā Q taustiņa dēļ, kā arī tāpēc, ka VIM ar x (vai Ctrl+x citos redaktoros) dzēš iezīmēto tekstu, kā arī ar x iziet no VIM teksta redaktora.
  2. SCtrl+s kombinācijas dēļ.
  3. Nn — doties uz nākamo atrasto tekstu Firefox un VIM, kā arī dažādu kombināciju (Ctrl+n ievietot vārdu VIM u.c.) dēļ.
  4. R — pamatā Ctrl+r kombinācijas dēļ reversai meklēšanai Bash vēsturē.
  5. D — pamatā tāpēc, ka ar d VIM dzēš vienu rakstzīmi, bet ar dd visu rindu
  6. C — pamatā Ctrl+c dēļ,
  7. J — tapēc, ka ar j VIM dodas uz nākamo rindu
  8. . — tāpēc, ka ar . VIM atkārto iepriekšējo komandu (t.sk. izplatīta ir kombinācija j.j.j.j. — doties uz nākamo rindu un izdarīt to pašu)
  9. ' — tāpēc, ka Kinesis Advantage nav labā Alt taustiņa un tā vietā visur izmantoju ' kā "karsto" taustiņu

BurtuSadalijums.png

Iespējamie uzlabojumi un turpmākais darbs

Skatoties uz klikšķu sadalījumu pa taustiņiem, var redzēt, ka angļu valodas ietekmes dēļ taustiņu O esmu lietojis biežāk nekā U taustiņu. Tāpēc radās doma samainīt šos taustiņu vietām, lai pirkstiem būtu jāpārvietojas mazāk. Tomēr, atkārtoti pārbaudot šādu variantu ar Carpalx, šo ideju atmetu.

Vispusīgi vērtējot tastatūras ērtumu, pirkstu ceļš pa tastatūru ir svarīgs, tomēr ir tikai viens no ērtuma rādītājiem. Cits svarīgs ērtuma kritērijs ir burtu secības ievade, tā lai sekojošie burti būtu jāievada ar iespējami mazāku ceļu. Atklājās, ka samainot O un U ar vietām (ar attiecīgi izvēlētu smaguma koeficientu) bāzes slodzes ieguvums neatsver burtu kombinācijas ievades ērtumu. Kā piemērus ērtāk ievadāmām burtu kombinācijām esošajam izklājumam var minēt eu, ou, nu u.tml. Sekojošā attēlā ir parādīta Carpalx statistikas izdruka ar izceltām atšķirībām abiem tastatūras izklājumiem:

Attēla leģenda:

  • k1, k1,k2 un k1,k2,k3 ir viena, divu un trīs burtu secības ievades ērtums
  • b bāzes slodze (pirkstu ceļš pa tastatūru)
  • p "soda punkti" kopā, tajā skaitā:
    • ph soda punkti par roku nevienmērīgu slodzi
    • pr soda punkti par neērtu rindu slodzi
    • pf soda punkti par neērtu pirkstu slodzi
  • s kopējie soda punkti par neērtu burtu rindu ievadi
     
    CarpalxStatistika.png

Rezultātā nolēmu tastatūras burtu izvietojumu atstāt tā, kā ir bijis līdz šim. Tā kā daļa no tastatūras neērtībām ir saistīta ar trūkstošiem taustiņiem, iegādājos Maltron 3D tastatūru, kurai ir vairāk taustiņu. Bet par piedzīvojumiem ar šo tastatūru pastāstīšu tad, kad būšu beidzis savus eksperimentus ar to.

Created by Valdis Vītoliņš on 2015-09-05 12:48
Last modified by Valdis Vītoliņš on 2018-04-06 00:34
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License