English
suomi

Kotoistus - Ohjelmoijan näppäimistöasettelu


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öt:
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 kaksi minun ehdotustani (X11,GNU/Linux) ja yksi Jukka Korpelan ehdotus (Windowsille):

  • Koodari: vain muutamia pieniä muutoksia.
  • Ascii koodari: niille jotka eivät tarvitse äöå kirjaimia usein.

Vaadittavat symbols tiedostot löytyvät alla olevista linkeistä:

Lisää niiden sisällöt tiedostoon
/usr/share/X11/xkb/symbols/fi
(Sijainti saattaa vaihdella eri GNU/Linux versioissa.)

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

Aktivoidaksesi asettelun, aja jompi kumpi seuraavista komennoista:
setxkbmap 'fi(coder)'
tai
setxkbmap 'fi(asciicoder)'


Koodari:

Näppäimistön kuvaus:

Space: NBSP syntyy ainoastaan AltGr+Space yhdistelmällä. Perusnäppäimistössä myös 
       AltGr+Shift+Space tuottaa NBSP merkin.

@ merkki: § näppäin tuottaa nyt merkin @. § merkki saadaan tuotettua painamalla AltGr+Shift+§.
          (Tämä näppäin puuttuu joissain kannettavissa).

$ merkki: 4+Shift tuottaa nyt $ merkin. ¤ merkki tuotetaan painamalla 4+AltGr.

` (grave) merkki: ` merkki syntyy nyt ` merkin näppäimestä, sekä shiftillä että ilman.

adiaeresis (u-umlaut) näppäin tuottaa nyt ~ merkin ja shiftin kanssa ^ merkin. 


Ascii Koodari:

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).

Näppäimistön kuvaus:


Alla oleva luettelo listaa tarvittavat merkit ja niiden tuottamisen vaikeuden 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ä. Sijainti vasemmassa reunassa on myös huono.)
? 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 $ ¤ 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.




Tämän sivun ylläpidon hoitaa Troy Korjuslommi.

Copyright 2008 Troy Korjuslommi. All rights reserved.