Suomalainen ohjelmoijan näppäimistö

Etusivulle

Tällä sivulla olevat tiedot ovat suuressa määrin vain uusi versio vanhemmasta Kotoistus projektin sivusta joka kuvaa tämän ongelman [programmer_kb.html].

Nykytilanne on, että ohjelmoijat käyttävät tavallista Suomalaista näppäimistöä tai US näppäimistöä. Molemmissa on vakavia puutteita, eivätkä ne vastaa käyttäjien tarpeita.

Ohjelmoijat tarvitsevat useammin erikoismerkkejä `,./;'[]\~<>?:"{}|!@#$%^&*()-_=+ kuin monia aakkosia, varsinkin ASCII merkistön ulkopuolisia merkkejä. Nämä erkikoismerkit ovat tuotettavissa US näppäimistössä joko suoraan tai shift näppäimen avulla. Tästä johtuen ne on usein valittu ohjelmointikielissä tarvittaviksi erikoismerkeiksi.

Suomalaiset ohjelmoijat tarvitsevat myös ASCII merkistön ulkopuolisia merkkejä kirjoittaessaan suomea. He tarvitsevat suomea kommentteihin, käyttäjälle tarkoitettuhin viesteihin, sekä luonnollisesti myös kommunikoidessaan muiden ohjelmoitsijoiden kanssa suomeksi.

Suomalainen näppäimistö:
Käytettäessä suomalaista näppäimistöä, ohjelmoijat joutuvat käyttämään ALT, ALT+Shift, ALT-GR ja ALT-GR+Shift yhdistelmiä tuottaakseen kaikki ohjelmoinnissa tarvittavat merkit. Tämä on kömpelöä ja erittäin kaukana ihannetilanteesta.

US näppäimistö:
Käytettäessä US International näppäimistöä, ohjelmoijat joutuvat käyttämään Alt-Gr yhdistelmiä tuottaakseen suomen kielessä tarvittavat merkit. Tämä tarkoittaa ainakin öäå merkkejä sekä € merkkiä. Merkkejä ei ole merkitty näppäimistölle joka lisää epäkäytännöllisyyttä. Jos he tarvitsevat muita merkkejä kuten š, saamen ja romanikielten merkit sekä muut merkit, vaikeudet kasaantuvat sillä näiden merkkien tuottamiseen tarvitaan enemmän meta näppäimiä, eikä niitäkään ole merkitty näppäimistölle.

Ohjelmoijan näppäimistö:
Ohjelmoijat tarvitsevat näppäimistön joka vastaa heidän käyttötarpeitaan. Tälläisen näppäimistön tulee ottaa huomioon merkkien yleisyys todellisen käytön mukaisesti. Kirjaimet a-z, A-Z, 0-9, US näppäimistön erikoismerkit sekä öä嚀 tulisi voida tuottaa mahdollisimman helposti, mielellään joko suoraan näppäimistöltä tai shift näppäimen avulla. Näppäimisömerkintöjen tulisi vastata mahdollisimman tarkkaan merkkejä jotka ne tuottavat. Suunnittelussa tulisi ottaa huomioon käyttäjät jotka siirtyvät US-ASCII näppäimistöltä sekä kaiverrukset näppäimistössä. Käyttäjäystävällisyys tulisi olla ensisijaisen tärkeää.

Alla on minun ehdotukseni:

Kävin läpi kaikki näppäimet suomalaisessa näppäimistössä ja vertasin niitä US-ASCII näppäimistöön. Tein sitten luettelon merkeistä jotka voidaan tuottaa suoraan (level 1) tai shiftin kanssa (level 2).

Vaadittava symbols tiedosto löytyy täältä. Lisää sen sisältö tiedostoon
/usr/share/X11/xkb/symbols/fi
(Sijainti saattaa vaihdella eri GNU/Linux versioissa.)

Lisää myös seuraava rivi:
-------- -------- fi(coder)
tiedostoon
/usr/share/X11/xkb/symbols.dir

Aktivoidaksesi asettelun, aja seuraava komento:
setxkbmap 'fi(coder)'


Näppäimistön kuvaus:


Luettelo merkeistä joita tarvitaan sekä niiden tuottamisen vaikeudesta verrattuna
US-ASCII näppäimistöön:

D:    Difficult. Ei tuotettavissa suoraan tai shiftin kanssa.
OK:   Tuotettavissa suoraan tai shiftin kanssa.
SAME: Sama kuin US-ASCII näppäimistö.

!   SAME
#   SAME
%   SAME
'   SAME
,   SAME
.   SAME
A-Za-z0-9  SAME
&   OK
*   OK
()  OK
-   OK
_   OK
=   OK
+   OK
/   OK
;   OK
:   OK
"   OK
<>  OK (Sama näppäin. Käyttö olisi helpompaa jos eri näppäimissä.)
?   OK
$   D
[]  D
{}  D
\   D
|   D
~   D
^   D
`   D
@   D      


Luettelo merkeistä joita ei tarvitse tuottaa suoraan tai shiftin kanssa.
Key: näppäimistöön kaiverrettu merkki.
L1:  merkki joka syntyy painettaessa näppäintä suoraan.
L2:  merkki joka syntyy painettaessa näppäin + Shift.
L3:  merkki joka syntyy painettaessa näppäin + AltGr.
L4:  merkki joka syntyy painettaessa näppäin + AltGr+Shift.
UC:  ei muutoksia eikä vaikutuksia.

Key  L1 L2 L3 L4
------------------
ö    [  {  ö  Ö   (merkkiparit [] ja {} ovat viereisissä näppäimissä myös US-ASCII näppäimistössä. 
                   öÖ pidetty samassa näppäimessä siirtämällä ne kohtiin L3 ja L4.)
ä    ]  }  ä  Ä   (sama kuin yllä)
å    \  |  å  Å   (sama kuin yllä. Uudet merkit kohdissa L1 ja L2 ovat samassa näppäimessä 
                   myös US-ASCII näppäimistöllä.)
4¤   4  $  ¤  UC
¨^   ~  ^  UC UC  (tarke toiminto poistettu L1 sijainnista, L3 pidetty ennallaan (tarke).) 
``   @  `  UC UC  (acute korvattu @-merkillä. Grave merkki ei tarkkeelliseksi.)
½    UC UC UC UC  (ei muutosta. Puuttuu kannettavista.)
§    UC UC UC UC  (ei muutosta. Puuttuu kannettavista.)


Luettelo muutoksista:
Space: Perusnäppäimistössä L4 on NBSP. Se aiheuttaa virheitä kirjoitettaessa ohjelmakoodia.
       Muutettu Space merkiksi.
`    : Tarkkeellisuus poistettu. Merkki syntyy nyt yhdellä painalluksella.
^    : Sama kuin yllä.

Uudet sijainnit, joita ei ole merkitty ja jotka tulee siten muistaa ulkoa.
Jaettu kahteen ryhmään, perustuen siihen kuinka helppoa muistaminen on.

1. Helppo:
[] ja {} parit : ä and ö näppäimissä.
$ : 4-näppäimen kohdalla. Korvaa ¤-merkin. Sama sijainti kuin US-ASCII näppäimistössä.
~ : lisätty L1 kohtaan ilman tarke ominaisuutta. L3 kohta toimii tarke näppäimenä.

2. Vaikea:
@ : kohdassa L1 `-näppäimessä. 
\ ja | : L1 ja L2 kohdissa, å-näppäimessä.



Myös Yucca Korpela on tehnyt ehdotuksen, joka löytyy nimellä "Suomalainen ohjelmointinäppäimistö" osoitteesta http://www.cs.tut.fi/~jkorpela/nappikset.html8.




This page is maintained by Troy Korjuslommi.