From 48dcc6fb882e83bf291eca313e550fc762788f2e Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Sun, 14 Jun 2026 12:24:32 +0300 Subject: refactored site structure and publishing alist --- blog/tekstinsyotto.html~ | 312 ----------------------------------------------- 1 file changed, 312 deletions(-) delete mode 100644 blog/tekstinsyotto.html~ (limited to 'blog/tekstinsyotto.html~') diff --git a/blog/tekstinsyotto.html~ b/blog/tekstinsyotto.html~ deleted file mode 100644 index b828d01..0000000 --- a/blog/tekstinsyotto.html~ +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - Tarina toimivamman tekstinsyöttämiseni taustalla - - - - Siirry pääsisältöön -
- FI · EN -
-
-

Tarina toimivamman tekstinsyöttämiseni taustalla

- -

Näppäimistöni ovat aina herättäneet hilpeyttä ystävieni keskuudessa. -Koska ensimmäisessä blogikirjoituksessani kerroin, kuinka näppärää raakateksti voi olla, -lienee sopivaa luoda katsaus, -miten kirjoitan ohjelmakoodia ja muuta raakatekstiä tietokoneella, - ja kuinka ohjelmisto- ja laitteistoratkaisuni tekstinmuokkauksen suhteen ovat muuttuneet ajan saatossa.

- - -

Joskus lukion alkupuolella siirryin asteittain käyttämään Linuxia, -ensin MinGW:n* kautta, sen jälkeen rinnakkain Windowsin kanssa -ja myöhemmin ainoana käyttöjärjestelmänäni. -Linuxin muokattavuus auttoi minua ymmärtämään, -että kykenen itse vaikuttamaan siihen, -miten ergonomisesti ja tehokkaasti kykenen työskentelemään tietokoneellani.

- -

Kun etsin tietoa netistä ratkaistakseni erinäisiä haasteita, -en voinut olla törmäämättä mainintoihin Vim-ohjelmasta. -Se on juurikin eräs ratkaisuista, -jotka ovat auttaneet minua parantamaan työskentelyni sujuvuutta.

- -

Vim on tehokas tilapohjainen tekstinmuokkausohjelma. -Sen tärkeimmät tilat ovat liiketila ja tekstinsyöttötila. -Tekstinsyöttötilassa kirjoitettu teksti päätyy kulloinkin auki olevaan tiedostoon**. -Liiketilassa taas voi siirtää kursoria ja suorittaa komentoja. -Liiketilan erillisyys tekstinsyöttötilasta on äärimmäisen hyödyllistä; -liiketilassa se mahdollistaa tavallisten kirjainten käytön liikkumis- ja yleiskomentoja vastaavina näppäinyhdistelminä. -Kursoria liikutetaan HJKL-näppäimillä nuolinäppäinten tavoin, -"N G" siirtää kursorin riville N, "$" taas rivin loppuun, -"y y" kopioi rivin, jolla kursori on ja niin edelleen. -Kaikkeen löytyy näppäinyhdistelmä. - Liiketilassa on helppoa yhdistellä, toistaa ja ketjuttaa komentoja. -Vimin etsi ja korvaa -toiminto on tehokkain, minkä olen nähnyt missään koodieditorissa.

- -

Tehokkaan tekstinmuokkauksen lisäksi -Vimin toimintaa voi muokata tarkemmin kuin useimpia muita tekstinmuokkausohjelmia. -Yksi osa tätä on nimenomaan liiketila – voit helposti lisätä näppäinyhdistelmiä, jotka tekevät mitä ikinä tahdot. -Pitkälti kaikkia varsin laajassa dokumentaatiossa [1] mainittuja komentoja ja muuttujia voi muokata omien mieltymystensä mukaan. -Vimiin on saatavilla runsaasti lisäosia [2], jotka voivat esimerkiksi lisätä Vimin yhteensopivuutta muiden ohjelmien kanssa. -Olen sittemmin siirtynyt käyttämään Neovimiä. -Se on Vimin modernimpi ja toteutukseltaan kevyempi***, mutta käytännössä samat ominaisuudet sisältävä versio. -Neovim sisältää sisäänrakennettuna jopa LSP-tuen [3]. -LSP:n tiedoilla se kykenee muun muassa huomauttamaan tekstin muokkaajaa virheistä tämän työstämässä lähdekoodissa. -Käytännössä ohjelma muuttuu LSP-serverin avulla täysiveriseksi IDE:ksi.

- -

Mikäli Vimin kuvaus jäi epäselväksi, on sen itse kokeileminen ja oppiminen sangen helppoa. -Sitä oppii käyttämään katsomalla pari tutoriaalia YouTubesta (esim. youtu.be/-txKSRn0qeA) ja tekemällä -Vimiin sisäänrakennetun tutoriaalin kirjoittamalla ":tutor" ja painamalla enteriä. -Jos Vimin asennus ei vielä houkuta, -löytyy samainen tutoriaali netistä, -esimerkiksi osoitteesta remarkablemark.org/vimtutor/.

- - -

Viime aikoina olen myös tehnyt kokeiluja GNU Emacs -kehitysympäristön parissa, -ja olen vaikuttunut sen kyvyistä. -Lisäosien voimalla käytän sitä toistaiseksi kuitenkin enimmäkseen Vimin tavoin. -On muutenkin järkevää jättää sen käsittely myöhemmäksi – -se on luonteeltaan lähempänä käyttöjärjestelmää kuin tekstinmuokkausohjelmaa.

- - -

Toinen suuri muutos, -jonka tein vaihdettuani Linuxiin, -oli näppäimistöasetteluni vaihtaminen. -En koskaan oppinut kymmensormijärjestelmää kunnolla QWERTY-asettelulla, -muun muassa oudosti aseteltujen näppäinten vuoksi, -jotka hankaloittivat kymmensormijärjestelmän oikeaoppista käyttöä. -Lienee kuitenkin paikallaan selventää, -miksi QWERTY ei ollut minulle – ja tuskin muillekkaan paljon kirjoittaville – toimivin näppäimistöasettelu.

- -

QWERTY-asettelu kehitettiin aikanaan pääasiassa kirjoituskoneille. -Erilaisia asetteluita oli olemassa paljon, joista varhaisimmissa -näppäimet olivat käytännössä vain aakkosjärjestyksessä [4,5]. -Ensimmäisessä sähkeistä suoraan luettavaa tekstiä – morsekoodin sijaan – tuottavassa lennätikoneessa kirjaimet olivat aakkosjärjestyksen lisäksi kaikki samassa rivissä [6]. -Koska sellaisella näppäimistöllä oli vaivalloista kirjoittaa, siirrettiin kirjaimet kolmeen riviin ja numerot neljänteen. -Nyt peräkkäin ja vierekkäin olevat näppäimet saattoivat kuitenkin painaessa juuttua toisiinsa. -Ratkaisuna näppäimet aseteltiin siten, että useimmiten käytetyt näppäimet eivät olleet vierekkäin.

- -

Monilla Youtube-videoilla, joihin törmäsin todennäköisesti Linux-mielenkiintoni ja Youtuben algoritmin vuoksi, -perusteltiin toiseen näppäimistöasetteluun vaihtamista jotakuinkin vastaavasti. -Niillä vihjattiin, ettei ole järkevää, että useimmiten käytetyt kirjaimet ovat hajallaan ympäri näppäimistöä. -Kuvasta 1 näkee helposti, -kuinka yleisimmin käytettyjä kirjaimia vastaavat näppäimet ovat QWERTYllä kaukana toisistaan. -Mistä muusta muutokset ihmisten käytöksessä nykyään johtuisivat kuin YouTubesta.

- -
- Kuva QWERTY-näppäimistöstä korostuksilla -
Kuva 1. Englanninkielinen QWERTY-asettelu, jossa näppäimiä on tummennettu sen perusteella, kuinka paljon niitä vastaavat kirjaimet esiintyvät teksteissä Wikipedian mukaan [7]. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Ei ole perusteltua sanoa, että näppäinten asettelua näppäimistölle ei olisi aikanaan mietitty. -Olisi kuitenkin järkevämpää, että useimmiten käytetyt näppäimet olisivat niin kutsutulla kotirivillä, -jolla sormia oletusarvoisesti pidetään näppäimistöä käytettäessä. -Tällöin sormien tarvitsisi harvemmin jättää kotirivi, -kasvattaen kirjoitusnopeutta ja lyhentäen matkaa, joka sormien on kuljettava näppäimistön yllä.

- -

Joidenkin kokeilujen kautta päädyin käyttämään Colemak-näppäimistöasettelua [8]. -Vuosilukujen valossa sen voidaan olettaa olevan QWERTYä paremmin suunniteltu. -QWERTY syntyi 1800- ja 1900-luvuilla. -Colemak puolestaan on suunniteltu 2000-luvulla [9] tehokkuutta ergonomisuutta ajatellen [8]. -Tietokoneet oli kehitetty jo pitkälle, kun Colemak suunniteltiin, -joten sitä luodessa voitiin paremmin ottaa huomioon tekijöitä, jotka vaativat laajamittaisempaa laskennallista analyysiä. -Esimerkiksi saman sormen peräkkäisiä kirjainpainalluksia, -saman käden kirjainpainalluksia ja kotirivin eri puolille vuoroin kurottavia (esim. ”minimi” QWERTYllä) näppäily-yhdistelmien esiintyvyyksiä on voitu minimoida [10, 11]. -Yksinkertaisin argumentti Colemakin puolesta lienee se, -että useimmin käytetyt näppäimet sijaitsevat kotirivillä, -kuten Kuvasta 2 näkyy.

- -
- Kuva Colemak-näppäimistöstä korostuksilla -
Kuva 2. Colemak, värikoodi tuotettu samoin kuin Kuvassa 1. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Colemak on toiminut hyvin omassa käytössäni. -Uudella asettelulla kirjoittamista harjoitellessa näppäimistöni näppäinhatut olivat fyysisesti yhä QWERTY-asettelussa. -Koska en voinut tarkastaa näppäimen sijaintia silmilläni, -opin kirjoittamaan katsomatta näppäimistöä ollenkaan, -mikä oli ollut minulle QWERTYä käyttäessä hankalaa. -Kirjoittaminen myös on myös tuntunut mukavammalta; -sormien tarvitsee harvemmin poistua kotiriviltä ja epämukavia näppäilysarjoja tuntuu esiintyvän harvemmin.

- -

On tietysti hyvä huomata, että Colemak on suunniteltu nimenomaan englannin kirjoittamista varten. -Tahdon itse käyttää kaikista järkevistä käyttöjärjestelmistä löytyvää yleisnäppäimistöä, -joka on samoin aseteltu riippumatta kielestä, jota kirjoitan. -Koska kirjoitan paljon sekä suomea että englantia, ja joskus ruotsia, -joudun joka tapauksessa näppäimistöasettelua valitessa tekemään kompromissin kielten välillä, -tai valitsemaan jonkun harrastelijan tekemän esoteerisen useamman kielen yhdistävän näppäimistöasettelun, -jota tuskin on todettu toimivaksi käytössä. -Kaikeksi onneksi Suomeakin kirjoittaessa Colemak on tuntunut minusta luontevammalta kuin QWERTY.

- -

Alun perin kokeilin ensimmäisenä näppäimistöasettelunani QWERTYn jälkeen Dvorakia****. -Saatoin mututuntumalla kirjoittaa Dvorakilla nopeammin kuin Colemakilla, -mutta sillä kirjoittaminen oli käsilleni epämukavaa, etenkin oikealle pikkurillilleni, -joka joutui usein kurkottamaan L-näppäimen perään. -Hiljalleen ymmärsin, -että itselle sopivaa näppäimistöasettelua valitessa -olennaisinta on asettelun ergonomisuus eikä kirjoitusnopeus. -Mitä hyötyä on nopeasta kirjoitustyylistä, -jos ei voi kirjoittaa rasitusvamman vuoksi.

- -

Näppäimistöasettelua valitessani minulle oli tärkeää myös erikoismerkkien helppo saatavuus. -Dvorakissa ei ollut juurikaan erikoismerkkejä, ei edes AltGr:n takana. -Colemakilla käytettävissäni ovat helposti muun muassa paljon käyttämäni -nk. ysiysi-lainausmerkit ‘”’ (AltGr+Shift+0) -sekä m-viiva ‘–’ (AltGr+-), ja mukavuuksina esimerkiksi -numeroiden potenssiversioita ‘¹²³’.

- -

Voit saada ensikosketuksen Colemakiin netissä esim. nopeuspelin gnusenpai.net/colemakclub/ kautta. -Asennus-/käyttöönotto-ohjeet Colemakille puolestaan löytyvät osoitteesta colemak.com/Download. -Muitakin eri tarkoituksiin optimoituja näppäimistöasetteluja löytyy runsaasti netistä, -mutta Colemak lienee kaikista testatuin ja luotetuin vaihtoehto, -joka löytyy monista laitteista vaihtoehtona ilman erillistä asennusta. -

- - -

Kiinnostuttuani näppäimistöasetteluni ergonomisuudesta aloin pohtimaan myös fyysisen näppäimistöni ergonomisuutta. -Aloitetaan hyvin yksinkertaisella ajatusleikillä. -Kuvittele olevasi pöydän ääressä ennen ateriaa. -Miten asetat kätesi rennosti pöydälle eteesi? -Entä jos niiden on oltava ainakin hieman erillään eikä yhdessä? -Todennäköisesti kätesi olisivat keskemmällä kuin kyynärpääsi. -On luultavaa, -että ranteesi olisivat suorina, -verrattuna esimerkiksi asentoon, -jossa pikkurillejä taittaa kohti kyynärluita. -Lopulta on yleistä, että kämmenesi eivät olisi olleet litteinä pöytää vasten, -vaan että ranteesi peukalopuoli osoitti joko suoraan ylös tai hieman yläviistoon.

- -

Tavallinen näppäimistö pakottaa kädet epäluonnolliseen suppuun. -Kuvittele ranteesi suoraan sormiesi takana. -Vie sitten sormesi näppäimistön kotiriville. -Joudut taittamaan pikkurilliäsi kohti kyynärluutasi. -Epämukava asento, eikö? -Ongelma ratkeaa jakamalla näppäimistö keskeltä kahtia . -Tällöin eri puoliskot voi asettaa itselleen mieluisiin kulmiin -ja itselleen mieluiselle leveydelle -siten, että ranteet saavat olla suorassa. -Samalla lapasi ja hartiasi pääsevät rentoutumaan.

- -

Ranteita on myös mukava kallistaa nostamalla peukkut ylemmäs kuin pikkurillit. -Nyt kun näppäimistösi on kahdessa osassa, -voit vapaasti kallistaa ne kulmaan, joka on ranteillesi mieluinen. -Ainakin, jos näppäimistöillä on telineet, -jotka sallivat niiden kallistamisen kätevästi. -Jotkut kirjoittavat jopa näppäimistönpuolikkaat lähes pystysuorassa.

- -

Lopulta mielenkiintoisena huomiona on varsin kummallista, että näppäimistöjen sarakkeet ovat useimmiten viistossa eivätkä suoraan ylhäältä alas. -Tämä on QWERTYn lisäksi toinen epäoptimaalinen jäänne kirjoituskoneiden ajalta. -Olihan näppäinten varsien jotenkin ulotuttava pääasialliseen kirjoituslaitteistoon. -Jos näppäimistöt suunniteltaisiin ensimmäistä kertaa nykyään ilman historiallista taakkaa, miksi tabulaattori-, näppäinlukko- ja shift-näppäimiä päätettäisiin kasvattaa eri pituisiksi siten, että loput kirjaimet joutuvat kuin väistämään toisiaan. -Viistous ei sinänsä ole välttämättä epäergonomista, -mutta esimerkiksi kaukana kotirivistä olevien numeronäppäinten löytäminen voi olla hankalaa, -kun vaikkapa numero 5 on etusormen yläpuolella, -vaikka sarakkeiden suoraan mennessä siinä pitäisi olla nelonen.

- -

Markkinoilla on näppäimistöjä, jotka ratkaisevat kaikki nämä ongelmat. -Esimerkiksi Ergodox Ez [12] ja Voyager [13] ovat suosittuja vaihtoehtoja. -Ne vain maksavat halvimmillaan runsaat kolmesataa euroa parilta, -mahdollisia kuljetuskuluja ja tulleja huomioimatta, -ja olen köyhä opiskelija, joten en aio hankkia sellaisia ainakaan vielä.

- -

Olisin kuitenkin paljon halunnut kyseisenlaisen näppäimistön. -Runsas vuosi sitten yritin lievittää pulmaani tilaamalla -Perixx Periboard-524B-näppäimistön. -Näppäimistö on toiminut kiitettävästi, -mutta sen sarakkeet eivät mene suoraan. -Lisäksi näppäimistöllä ei ole mekaanisen näppäimistön hyötyjä. -Muutoin näkemykseni siitä ei ole juurikaan muuttunut sen jälkeen, -kun kirjoitin siitä geminikapselissani [14].

- -

Epäonnekseni tuhlasin rahaa – pian näppäimistön ostamisen jälkeen julkaistiin parempi vaihtoehto, jonka hankkiminen maksaa suunnilleen saman verran. -Onnekseni voin hankkia sen paremman vaihtoehdon nyt, kun huomasin asian. -Noin 10 kuukautta sitten -eräs suomalainen tietotekniikan opiskelija julkaisi netissä ohjeet juuri tarpeeni täyttävän näppäimistön kokoamiseen. -Näppäimistö on vieläpä suunniteltu juuri budjettiystävällisyys ja kokoamisen helppous mielessä. -Näppäimistön nimi on Silakka54, ja sen kokoamisohjeet löytyvät GitHubista [15]. -Voit nähdä näppäimistön Kuvassa 3. -Oletuksena näppäimistössä ei ole kallistavaa telinettä, -mutta olen jo 3D-tulostanut sellaisen. -Näppäimistöjä on saatavilla valmiiksi koottuina AliExpressistä, -tai näppäimistön voi koota tilaamillaan osilla, -kuten itse aion tehdä aidon vapaan lähdekoodin hengen mukaisesti.

- -
- Kuva Silakka54-näppäimistöstä -
Kuva 3. Silakka54-näppäimistö. Kuva on Juho ”Squalius-cephalus” T.:n ja se on lisensoitu MIT-lisenssillä.
-
- -

Paremman asettelun lisäksi Silakka54:n hyötyjä ovat helppo muokattavuus, -mekaanisten näppäinkytkinten tuoma tuntuma sekä QMK:n (tai Vialin) avulla muokattava firmware. -Näppäimistöä voi muokata esimerkiksi sisältämään lisää kerroksia -(vrt. AltGr:n pohjassa pitäminen, -mutta eri näppäimen pohjassa pitäminen avaa pääsyn niihin merkkeihin, -joita itse useimmiten tarvitsee), -ja tavallisia näppäimiä voi asettaa toimimaan eri näppäiminä pohjaan painaessa -– esimerkiksi välilyönnistä voi tehdä myös Ctrl-näppäimen.

- -

Koska näppäimistöasettelu määritellään firmware-tasolla, -voi oman asettelunsa myös ottaa mukaan kaikkialle, -minne näppäimistönsä saa mukaan. -Itse aion hyödyntää tätä esimerkiksi sähköisessä EXAM-tenttijärjestelmässä, -mikäli sallittua, -sillä kyseinen järjestelmä pohjautuu ainoalle yleiselle käyttöjärjestelmälle, -joka ei tarjoa Colemak-näppäimistöasettelua.

- - -

Lopuksi maininnan ansainnee Thumb-Key, -jota käytän näppäimistönä puhelimellani. -Siinä näppäimet ovat suuremmat (ne ovat 4x4-ruudukossa), -joten niihin on helpompi osua. -Toki kääntöpuolena kaikki kirjaimet eivät mahdu näppäimille, -mutta loput merkit saa kirjoitettua vetämällä oikeasta näppäimestä oikeaan suuntaan. -Pidän isommista näppäimistä, muita perusteluja kyseiselle näppäimistölle en anna.

- - -

En varmasti ole vielä valmis työskentelytapojeni optimoinnin kanssa. -Tämä antoi kuitenkin katsauksen nykyään käyttämiini olennaisimpiin tekstinsyöttööni vaikuttaviin ratkaisuihin, -niin ohjelmistojen kuin näppäimistöjen osalta. -Ratkaisut ovat kaikki helposti kokeiltavissa, paitsi mahdollisesti Silakka54 – fyysisiä esineitä kun on hankala kokeilla heti netissä. -Kokeilemalla ei menetä mitään ja kärsivällisellä harjoittelulla kokeilu voi olla sekä hyödyllinen että hauska.

- - -

Linkkejä ja lähteitä

- -

-[1] Vimin dokumentaatio. Vim-ohjelmassa saatavilla komennolla ":help", verkossa vimhelp.org
-[2] Ks. esim. vimawesome.com
-[3] Neovimin dokumentaation LSP-serverien konfiguroinnista: neovim.io/doc/user/lsp.html
-[4] distantwriting.co.uk/instruments.html, kuva 23
-[5] W. A. Burt. Patentti laitteelle Typographer. 1829. United states patent and trademark office. Saatavilla ppubs.uspto.gov/api/pdf/downloadPdf/[...].
-[6] Wikipedia: Printing telegraph. en.wikipedia.org/wiki/Printing_telegraph
-[7] Wikipedia, kirjainten esiintyvyys. en.wikipedia.org/wiki/Letter_frequency
-[8] Colemakin verkkosivut: colemak.com
-[9] Wikipedia-artikkeli Colemakista: en.wikipedia.org/wiki/Colemak
-[10] Colemakin suunnitteluprosessista: colemak.com/Design
-[11] Colemakin ergonomiset tekijät: colemak.com/Ergonomic
-[12] Ergodox Ez: ergodox-ez.com
-[13] Voyager: zsa.io/voyager
-[14] Geminilokini: ”Perixx budget split keyboard – first impression” gemini://cron4.fi/gemlog/periboard.gmi, Verkkoportaalin kautta portal.mozz.us/[...]
-[15] Silakka54 squalius-cephalus.github.io/silakka54
-

- -
- -

-*MinGW ei tietenkään ole Linux, mutta sen kautta sain ensikosketuksen GNU:n komentoriviohjelmiin.
-**Oikeastaan teksti päätyy vain tekstikenttään, josta se sitten usein tallennetaan (kirjoitetaan) tiedostoon. -Usein tekstikentän sisältö myös vastaa kyseisen tiedoston sisältöä välitallennuksia vaille. -Kuitenkaan tekstiä ei suoraan kirjoiteta tiedostoon -kuten ei käytännössä missään tekstinmuokkausohjelmassa. -Tosiasiassa tekstikentän ei tarvitse kuvata mitään tiedostoa, -eikä sen sisältöjä tarvitse kirjoittaa mihinkään tiedostoon.
-***Neovim sovelluksena vie vähemmän tilaa kuin Vim.
-****Todellisuudessa käytin Svdvorakia, Dvorakin ruotsin kirjoittamiseen tarkoitettua versiota, koska oletus-dvorakista ei löydy ääkkösiäkään, toisin kuin oletus-colemakista.
-

-
- - -- cgit v1.2.3