Svensk och amerikansk tangentbordslayout i XFree86 4.3.0

Har du något? Posta då här.
Post Reply
mikma
Posts: 3349
Joined: 10 July 2003, 21:19

Svensk och amerikansk tangentbordslayout i XFree86 4.3.0

Post by mikma » 6 June 2004, 15:33

XFree86 4.3.0 och senare har stöd för multipla tangentbordslayouter. Det innebär att flera olika layouter (grupper) kan vara laddade samtidigt. Dessa kan man snabbt byta mellan med en tangenttryckning eller en tangentkombination.

I min konfiguration har jag valt att byta mellan svensk och amerikansk layout med caps lock, eftersom jag ändå inte brukar använda den tangenten. Den ursprungliga caps lock-funtionen får man genom att hålla inne shift samtidigt som man trycker caps lock.

Jag har också valt att använda caps lock-lysdioden för att indikera vilken layout som är aktiv.

Allt detta åstadkommer jag med följande sektion i XF86Config-4.

Code: Select all

Section "InputDevice"
        Identifier      "Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "se,us"
        Option          "XkbOptions"    "grp:caps_toggle,grp_led:caps"
EndSection


Det finns även andra sätt att byta layout och indikera aktiv layout, se [url=file:///etc/X11/xkb/rules/xfree86]/etc/X11/xkb/rules/xfree86[/url].

Den går också att aktivera med följande setxkbmap-anrop.

Code: Select all

setxkbmap -layout "se,us" -option -option "grp:caps_toggle" -option "grp_led:caps"


Om man kör Gnome går det att konfigurera multipla layouter i kontrollpanelen "Tangentbordlayouter". Den ingår i GSwitchIt. GSwitchIt innehåller även en applet som visar aktuell layout och kan byta layout. Det går också att ha separat layout för varje fönster.

En nackdel som jag hittat är att Alt Gr inte fungerar som Alt i den amerikanska layouten med ovanstående konfiguration, dessutom måste den svenska vara först annars fungerar Alt Gr inte i den svenska layouten istället.

/Mikael

Post Reply