KTouch-ohjelmalla voi harjoitella kymmensormijärjestelmää. Ohjelma on perin kätevä.
Tuli sitten mieleen että kymmensormijärjestelmää voisi olla paljon mielekkäämpää harjoitella jollain oikealla tekstillä, eikä pelkästään jollain asdf ölkj dfjk kjdf fdlk adjö-siansaksalla. Huomasin tämän kun oikoluin tuolla dp.rastko.net:issä, kirjan tarina vei mukanaan ja oikolukua tuli tehtyä siinä sivussa kun aika kului niin mukavasti.
Ja näin päästään tämänkertaiseen hulluun ideaan: Otetaan gutenbergista tai vastaavasta jokin kirjallisuuden klassikko, ja tehdään siitä harjoitus KTouchiin! Nyt voit lukea kirjallisuuden klassikoita, ja samalla kehittää huippunopean kymmensormijärjestelmän!
Tämän viestin liitteenä Aleksis Kiven 7 veljestä KTouch-formaatissa!
Muunnosprosessi
Otetaan haluttu teksti tekstimuodossa. Poistetaan mahdolliset tyhjät rivit,
cat teksti.txt | grep -v '^\s*$' > teksti_ilman_valeja.txt
Katsotaan ettei ole mitään erikoismerkkejä joita ei löydy näppäimistöltä. Suomalaisissa kirjoissa gutenbergissa on aika usein lainausmerkin " tilalla vanhanaikaista kulmalainausmerkkiä ». Nämä on hyvä korvata, esim. geditin korvaa-toiminto on hyvä.
Poikkeavat erikoismerkit voi paljastaa seuraavalla komennolla:
tr -d "\000-\011\013-\177\303\244\303\266\303\204\303\226\n" < teksti.txt
Tuo poistaa kaikki normaalit merkit ja tulostaa kaikki jäljellejääneet, eli jos tulostuu pelkkää tyhjää niin mitään ylimääräisiä merkkejä ei pitäisi olla.
Sitten muokataan teksti KTouch muotoon. Tämä käy näppärästi seuraavalla skriptillä:
#!/bin/bash
infile=$1
rows_level=20
i=0
echo "<KTouchLecture>"
echo "<Title></Title>"
echo "<FontSuggestions>Monospace</FontSuggestions>"
echo "<Levels>"
while read row
do
#poistaa ylimääräiset rivinvaihdot
#tekee tiedostosta nätimmän, ei muuta käytännön vaikutusta
row=`echo $row | tr -d [:cntrl:]`
if [ $i -eq 0 ]
then
echo "<Level>"
echo "<LevelComment></LevelComment>"
echo "<NewCharacters>""${row:0:25}...""</NewCharacters>"
fi
echo "<Line>"$row"</Line>"
i=$(($i+1))
if [ $i -eq $rows_level ]
then
echo "</Level>"
i=0
fi
done < $infile
echo "</Levels>"
echo "</KTouchLecture>"
Skriptiä käytetään näin: skripti.sh teksti_ilman_riveja.txt > teksti.ktouch.xml
Tuosta tulee tulokseksi tiedosto teksti.ktouch.xml, joka on valmis ktouch-tiedosto.
Skripti pätkii tekstin 20 rivin mittaisiksi "leveleiksi", jotta kirjoittamisen voi keskeyttää ja jatkaa myöhemmin, eli kun haluaa lopettaa niin laittaa muistiin levelin numeron ja seuraavalla kerralla jatkaa haluamaltaan leveliltä. Ktouchin pitäisi myös saada muistamaan mille levelille viimeksi jäätiin.
Kannattaa Ktouchista laittaa asetuksista Automatic level adjustment päälle mutta kaikki limitit nollaan, jotta ei joudu lukemaan/kirjoittamaan samaa pätkää uudestaan jos esim. tekee liian monta virhettä, vaan että luku/kirjoitus-kokemus sujuu mahdollisimman kitkattomasti.
Liitteet:
Liitteenä on Kiven 7 veljestä KTouch muodossa. Pura paketti ja avaa sisältä löytyvä xml-tiedosto Ktouchissa ja voit alkaa hommiin.
Liitteenä on lisäksi suomalainen näppäimistöasettelu Ktouchiin, sillä huomasin että ainakin tässä minun versiossani on vain ruotsalainen asettelu, jossa siinäkin oli puutteita. Pura paketti ja kopioi sisältä löytyvä fi.keyboard-tiedosto hakemistoon /usr/share/apps/ktouch, ja saat Ktouchiin käyttöön suomalaisen näppäimistöasettelun.
[ylläpito on poistanut liitteen]