Linux kent 2 verschillende manieren om je toetsenbord in te stellen. Op de
console kan je loadkeys gebruiken en onder XFree86 gebruik je
xmodmap.
Om de 'keytable' voor een Belgisch toetsenbord te gebruiken, doe je best
loadkeys be2-latin1
of
loadkeys be-latin1
Het verschil is dat be2-latin1 funktionaliteit toevoegt om twosuperior en
threesuperior (keycode 41) en grave (keycode 43).
Normaal wordt loadkeys gestart tijdens het booten vanuit scripts
(ergens in /etc/rc.d Verschillende distributies doen het op een
afwijkende manier. Maar de meeste distributies laten je die scripts wijzigen
dmv. een simpel programma (zoals kbdconfig bij RedHat of
yast bij SuSE).
Je toetsenbord instellen voor XFree86 wordt gedaan door
Xconfigurator (of een gelijkaardig programma). Die maakt oa. een
konfiguratie-file aan voor XFree86 XF86Config dat normaal in
/etc of /etc/X11 staat.
Het volgende zou in je XF86Config moeten staan in het
Keyboard Section.
Section "Keyboard"
Protocol "Standard"
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "be"
EndSection
Als je een 'microsoft' toetsenbord hebt, dan kan je die 3 extra toetsen
gebruiken door "pc101" te veranderen in "pc104". (ik
gebruik die extra toetsen als meta-toetsen voor mijn windowmanager zodat
sneltoetsen van programma's niet in conflict zijn met die die ik in mijn
windowmanager konfigureer).
Om de AltGr-toets te doen werken onder XFree86 kan je gewoon het volgende toevoegen:
RightAlt ModeShift
Om sommige toetsen-combinaties te doen werken onder X11, kan je het volgende veranderen in /usr/X11R6/lib/X11/xkb/symbols/be:
key <AD11> { [ dead_circumflex, diaeresis ],
[ bracketleft ] };
key <AC11> { [ ugrave, percent ],
[ quoteright ] };
key <BKSL> { [ mu, sterling ],
[ quoteleft ] };
key <AB10> { [ equal, plus ],
[ asciitilde ] };
door
key <AD11> { [ dead_circumflex, dead_diaeresis ],
[ bracketleft ] };
key <AC11> { [ ugrave, percent ],
[ dead_acute ] };
key <BKSL> { [ mu, sterling ],
[ dead_grave ] };
key <AB10> { [ equal, plus ],
[ dead_tilde ] };
Sommige mensen gebruiken liever een 'compose'-toets om speciale karakters te typen, zoals:
<compose>'e => é
<compose>/o => ø
<compose>c, => ç
<compose>co => ©
<compose>ss => ß
Oplossing:
xmodmap -e "keycode xx = Multi_key"
of
xmodmap -e "keysym yy = Multi_key"
waarbij 'xx' de keycode en 'yy' de keysym van de toets die je wil instellen als
'compose'-toets. (gebruik xev om dit uit te vinden)
Alternatief steek je
keycode xx = Multi_key
in je /.xmodmaprc, zodat dit automagisch gebeurt.
Sommige applikaties moeten '8-bit clean' gecompileerd worden om de Europese 'charactersets' te ondersteunen. Anderen moet het verteld worden bij het starten.
Je kan het ISO-8859-1 font door het volgende te typen in console:
setfont lat1u-16.psf
mapscrn trivial
echo -ne '\033(K'
Om ë, è, é of ç in console te gebruiken, voeg je best deze regels toe aan /.inputrc:
set meta-flag on
set convert-meta off
set output-meta on
(dit zou voor iedere gebruiker moeten gebeuren, als je dit als standaard wil kan je dit toevoegen aan /etc/skel/.inputrc en het voor iedere bestaande user aanpassen of je kan het plaatsen in /etc/inputrc en de volgende regel toevoegen aan /etc/bashrc,
export INPUTRC=/etc/inputrc
)
Note: dit is enkel nuttig voor programma's die gebruik maken van 'readline' (zoals bash). Zet ook de volgende environment variabelen:
LC_CTYPE=iso-8859-1
SYSFONT=lat1u-16.psf
SYSTERM=linux
Vermits Europa perse zijn eigen symbool wilde hebben, de Euro, is er een
nieuwe standaard. En die heet ISO-8859-15 (aka Latin-9 of Latin-0). Om deze
te gebruiken heb je zowel een nieuwe 'font' als een nieuwe 'keymap' nodig.
Dit zit tegenwoordig wel in iedere Linux distributie, als je een oudere
versie hebt dan ben je wellicht gesteld met een nieuwer
console-tools package.
De veranderingen in de keymap-file bestaan uit de volgende lijnen:
keycode 18 = +e +E currency
keycode 46 = +c +C cent
En de volgende environment-variabele moet gezet worden:
SYSFONT=lat0-16.psf
zodat het juiste font gebruikt wordt.
Aangezien België gelegen is binnen de Central European Time zone (aka MET) dat (in de winter) hetzelfde is als de Greenwhich Mean Time plus 1 (GMT+1), kan je simpelweg een symbolische link leggen van /usr/lib/zoneinfo/localtime/MET naar /etc/localtime door:
ln -sf /usr/lib/zoneinfo/MET /etc/localtime
of
ln -sf /usr/lib/zoneinfo/Europe/Brussels /etc/localtime
Dit zorgt automatisch voor 'Daylight Savings', dus zomertijd. Dus GMT+2 in de
zomer.
Note: verschillende distributies kunnen de files op verschillende plaatsen hebben staan, zoneinfo kan ook in /usr/share enzo...
Note: in RedHat gebruik je best timeconfig, in SuSE
yast
Om de CMOS klok te wijzigen en te synchroniseren met de systeem-tijd, doe het volgende:
hwclock --set --date="Feb 25 03:38"
clock -u -s
Als je CMS klok draait op de lokale tijd (wat we afraden, maar waartoe je verplicht bent als je andere besturingssystemen draait), dan kan je het volgende doen:
hwclock --set --date="Feb 25 04:38"
clock -s
[Merk het uur verschil op ! ;p]
België zit met een taalprobleem, en dus heeft dit onderdeel, 3 onderdeeltjes ;) In se komt het op hetzelfde neer. Niet veel programma's ondersteunen al Locale, als je meer wil weten over Locale of hoe je je programma's kan schrijven zodat ze Locale ondersteunen, kijk op: [put the damn url here ;p]
Let wel op dat Locale het moeilijker maakt om problemen op te lossen aangezien minder mensen je dan nog kunnen helpen !! Als het in technisch Engels is zullen veel mensen je probleem begrijpen, maar als het in het Nederlands bv is wordt het al een stuk moeilijker. (Als je al weet dat er nu al mensen zijn die het moeilijk hebben met beide ;))
Om ondersteuning te hebben voor Nederlandstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=nl
LANGUAGE=nl_BE
Probeer nl_BE.ISO_8859-1 als nl_BE niet werkt.
Om ondersteuning te hebben voor Franstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=fr
LANGUAGE=fr_BE
Probeer fr_BE.ISO_8859-1 als fr_BE niet werkt.
Om ondersteuning te hebben voor Duitstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=de
LANGUAGE=de_BE
Probeer de_BE.ISO_8859-1 als de_BE niet werkt.
Om ondersteuning te hebben voor de Waalse locale support haal je best de files af op volgende adres: http://www.linuxi18n.org/locales/walon/. Om het te gebruiken zet je dan het volgende:
LANG=wa
LANGUAGE=wa_BE:fr_BE
Gebruik wa_BE.ISO_8859-1 als wa_BE niet werkt.
Deze opties voegen ondersteuning toe voor het Belgische karakterset en codepages. Als je deze wil hebben, compileer dan een kernel met volgende opties aan. Ze zijn enkel nodig voor sommige bestandssystemen (FAT-gebaseerd, ISO9660, ...).
< > Codepage 850 (Europe)
< > NLS ISO 8859-1 (Latin 1; Western European Languages)
< > NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)
Te vinden in Filesystems > Native Language Support
Als je een modulaire kernel hebt, zoals die meegeleverd met je distributie (=je hebt geen eigen kernel gemaakt), dan kan je het volgende typen:
insmod nls_cp850
insmod nls_iso8859_1
insmod nls_iso8859_15