From 60e06a26f4f35160528d22169ee314864c277db5 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Fri, 12 Jun 2026 00:15:21 +0300 Subject: created & configured finnish side of blog & imported two old blog posts --- generated/blog/tekstinsyotto.html | 312 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 312 insertions(+) create mode 100644 generated/blog/tekstinsyotto.html (limited to 'generated/blog/tekstinsyotto.html') diff --git a/generated/blog/tekstinsyotto.html b/generated/blog/tekstinsyotto.html new file mode 100644 index 0000000..9ae7d80 --- /dev/null +++ b/generated/blog/tekstinsyotto.html @@ -0,0 +1,312 @@ + + + + + + + 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