# Xorg 7.0 och svorak

## Sachankara

Hej,

Jo det är så att jag fick se att Xorg nu har stöd för svensk, norsk, dansk, m.fl., dvorak och undrar om någon har lyckats få det att fungera korrekt? Jag kan köra "setxkbmap dvorak -variant sv", men får ändå dvoraklayout. Kollar man vidare genom dvorakfilerna under /etc/X11/xkb/symbols[/pc] så ska de också innehålla t.ex. brittisk dvorak, men den kan jag inte ladda i huvudtaget.

Ger inga felmeddelanden, men fungerar inte:

```
setxkbmap dvorak -variant sv
```

Ger direkta felmeddelanden:

```
$ setxkbmap dvorak -variant se

Error loading new keyboard description

$ setxkbmap dvorak -variant gb

Error loading new keyboard description

$ setxkbmap dvorak -variant no

Error loading new keyboard description

o.s.v...
```

----------

## Raniz

jag kör med

```
setxkbmap se dvorak
```

Dock så har jag märkt att Xorg skeppar fel svorak-layout (för mig iaf). Xorg skeppar layouten där . och , ligger precis bredvid varandra.

Om du vill ha en ordentlig layout med en massa specialtecken och sånt så ersätt /usr/share/x11/xkb/symbols/pc/se med den här:

```
// $XdotOrg$

// based on a keyboard map from an 'xkb/symbols/se' file

//

// $XFree86: xc/programs/xkbcomp/symbols/se,v 1.5 2003/01/26 02:01:48 dawes Exp $

partial default alphanumeric_keys

xkb_symbols "basic" {

    include "pc/latin(type2)"

    include "pc/se(se)"

};

partial alphanumeric_keys

xkb_symbols "se" {

    name[Group1]="Sweden";

    key <AE05>  { [         5,    percent,     EuroSign,         cent ] };

    key <AE11>  { [      plus,   question,    backslash, questiondown ] };

    key <AE12>  { [dead_acute, dead_grave,    plusminus,      notsign ] };

    key <AC10>  { [odiaeresis, Odiaeresis,       oslash,     Ooblique ] };

    key <AC11>  { [adiaeresis, Adiaeresis,           ae,           AE ] };

    key <TLDE>  { [   section,    onehalf,    paragraph, threequarters] };

    key <BKSL>  { [apostrophe,   asterisk,        acute,     multiply ] };

    key <SPCE>  { [     space,      space,        space, nobreakspace ] };

    include "keypad(comma)"

    include "level3(ralt_switch)"

};

partial alphanumeric_keys

xkb_symbols "nodeadkeys" {

    // Modifies the basic Swedish layout to eliminate all dead keys

    include "pc/latin(type2)"

    include "pc/latin(type2_nodeadkeys)"

    include "pc/se(se)"

    name[Group1]="Sweden - Eliminate dead keys";

    key <AE12>  { [     acute,      grave,    plusminus,      notsign ] };

};

// Swedish Dvorak

partial alphanumeric_keys

xkb_symbols "dvorak" {

    include "pc/se(basic)"

    key <AD01> { [     aring,      Aring,    backslash,       slash  ]  };

    key <AD02> { [  adiaeresis, Adiaeresis,  braceleft,  bracketleft ]  };

    key <AD03> { [ odiaeresis, Odiaeresis,  braceright, bracketright ]  };

    key <AD04> { [         p,          P,        thorn,        THORN ]  };

    key <AD05> { [         y,          Y,    leftarrow,          yen ]  };

    key <AD06> { [         f,          F,      dstroke,  ordfeminine ]  };

    key <AD07> { [         g,          G,          eng,          ENG ]  };

    key <AD08> { [         c,          C,    copyright,    copyright ]  };

    key <AD09> { [         r,          R,   registered,   registered ]  };

    key <AD10> { [         l,          L,      lstroke,      Lstroke ]  };

    key <AD11> { [     comma,  semicolon, dead_cedilla,  dead_ogonek ]  };

    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum     ]       };

    key <AC01> { [         a,          A,           ae,           AE ]  };

    key <AC02> { [         o,          O,       oslash,       Oslash ]  };

    key <AC03> { [         e,          E,     EuroSign,         cent ]  };

    key <AC04> { [         u,          U,    downarrow,      uparrow ]  };

    key <AC05> { [         i,          I,   rightarrow,     idotless ]  };

    key <AC06> { [         d,          D,          eth,          ETH ]  };

    key <AC07> { [         h,          H,      hstroke,      Hstroke ]  };

    key <AC08> { [         t,          T,       tslash,       Tslash ]  };

    key <AC09> { [         n,          N ]      };

    key <AC10> { [         s,          S,       ssharp,      section ]  };

    key <AC11> { [     minus, underscore, dead_belowdot, dead_abovedot ] };

    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ]  };

    key <AB02> { [         q,          Q,           at,  Greek_OMEGA ]  };

    key <AB03> { [         j,          J ]      };

    key <AB04> { [         k,          K,          kra,    ampersand ]  };

    key <AB05> { [         x,          X, guillemotright,    greater ]  };

    key <AB06> { [         b,          B, rightdoublequotemark, apostrophe ] };

    key <AB07> { [         m,          M,           mu,    masculine ]  };

    key <AB08> { [         w,          W,      lstroke,      Lstroke ]  };

    key <AB09> { [         v,          V, leftdoublequotemark, grave ]  };

    key <AB10> { [         z,          Z, guillemotleft,        less ]  };

};

// Ivan Popov, 2005-07-17

// phonetic layout for Russian cyrillic letters

// on Swedish (latin type2) keyboards

// level3 modifier is a shortcut to the "se" meaning of the keys where

// we place cyrillic letters, handy for accessing the corresponding

// punctuation marks.

// It is important to have access to punctuation marks, and the rest of

// alphabetical keys are added for being consequent so that the users

// can expect the level3 modifier to give what the key label shows.

partial alphanumeric_keys

xkb_symbols "rus" {

    include "pc/se(basic)"

    name[Group1]="Sweden - Russian phonetic";

    key.type[group1]="ALPHABETIC";

    key <TLDE> {        [ Cyrillic_io, Cyrillic_IO ]    };

    key <AE12> {        [ Cyrillic_hardsign, Cyrillic_HARDSIGN ]        };

    key <AD01> {        [ Cyrillic_ya, Cyrillic_YA ]    };

    key <AD02> {        [ Cyrillic_ve, Cyrillic_VE ]    };

    key <AD03> {        [ Cyrillic_ie, Cyrillic_IE ]    };

    key <AD04> {        [ Cyrillic_er, Cyrillic_ER ]    };

    key <AD05> {        [ Cyrillic_te, Cyrillic_TE ]    };

    key <AD06> {        [ Cyrillic_yeru, Cyrillic_YERU ]        };

    key <AD07> {        [ Cyrillic_u, Cyrillic_U ]      };

    key <AD08> {        [ Cyrillic_i, Cyrillic_I ]      };

    key <AD09> {        [ Cyrillic_o, Cyrillic_O ]      };

    key <AD10> {        [ Cyrillic_pe, Cyrillic_PE ]    };

    key <AD11> {        [ Cyrillic_e, Cyrillic_E ]      };

    key <AC01> {        [ Cyrillic_a, Cyrillic_A ]      };

    key <AC02> {        [ Cyrillic_es, Cyrillic_ES ]    };

    key <AC03> {        [ Cyrillic_de, Cyrillic_DE ]    };

    key <AC04> {        [ Cyrillic_ef, Cyrillic_EF ]    };

    key <AC05> {        [ Cyrillic_ghe, Cyrillic_GHE ]  };

    key <AC06> {        [ Cyrillic_ha, Cyrillic_HA ]    };

    key <AC07> {        [ Cyrillic_shorti, Cyrillic_SHORTI ]    };

    key <AC08> {        [ Cyrillic_ka, Cyrillic_KA ]    };

    key <AC09> {        [ Cyrillic_el, Cyrillic_EL ]    };

    key <AC10> {        [ Cyrillic_sha, Cyrillic_SHA ]  };

    key <AC11> {        [ Cyrillic_shcha, Cyrillic_SHCHA ]      };

    key <BKSL> {        [ Cyrillic_yu, Cyrillic_YU ]    };

    key <LSGT> {        [ Cyrillic_che, Cyrillic_CHE ]  };

    key <AB01> {        [ Cyrillic_ze, Cyrillic_ZE ]    };

    key <AB02> {        [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]        };

    key <AB03> {        [ Cyrillic_tse, Cyrillic_TSE ]  };

    key <AB04> {        [ Cyrillic_zhe, Cyrillic_ZHE ]  };

    key <AB05> {        [ Cyrillic_be, Cyrillic_BE ]    };

    key <AB06> {        [ Cyrillic_en, Cyrillic_EN ]    };

    key <AB07> {        [ Cyrillic_em, Cyrillic_EM ]    };

};

partial alphanumeric_keys

xkb_symbols "rus_nodeadkeys" {

    include "pc/se(nodeadkeys)"

    include "pc/se(rus)"

    name[Group1]="Sweden - Russian phonetic, eliminate dead keys";

    key <AE12> {        [ Cyrillic_hardsign, Cyrillic_HARDSIGN ]        };

};

xkb_symbols "smi" {

    // Describes the differences between a Norwegian Northern Sami

    // (keyboard with dead key support) and a Swedish/Finnish Sami

    // keyboard according to the specs at:

    // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html

    include "pc/fi(smi)"

    name[Group1]= "Sweden - Northern Saami";

};
```

Den har bland annat lite trevligheter för oss som använder \, { och } mycket... dom ligger på [ALt GR] + å, ä eller ö.

----------

## Sachankara

Tackar. Det fungerar.  :Smile:  Synd bara att / inte är mer lättillgänglig. Kör annars dvorak för programmering då det går mycket snabbare att nå vissa specialtecken. Enklast är dock ändå engelskt standardtangentbord för programmering, men då blir man ju tvungen att köra qwerty vilket inte känns störtbra direkt. :/

----------

## Sachankara

Senaste Xorg 6.8.x och 7.x har "korrekt" svorak-stöd utan att behöva slänga in sitt egna. Rätt nice faktiskt.  :Smile: 

----------

## phibxr

Jag har en egenmodifierad Xmodmap upplagd. Den har fungerat utmärkt för mig på allt från min P3, genom skolans AMD till min PPC.

```
$ wget http://joshua.haninge.kth.se/~phibxr/Xmodmap

$ cp ~/.Xmodmap ~/.Xmodmap.backup

$ mv Xmodmap ~/.Xmodmap

$ xmodmap ~/.Xmodmap

$ echo "xmodmap ~/.Xmodmap" >> ~/.xinitrc
```

----------

