Personal:

Free software projects:

Web projects (Swedish):

email: fredrik@jemla.se

Windows 7 Sins

Typematrix EZR-2030

Keyboard map updated 2011-05-11

I've made a custom keyboard layout based on Svorak (Swedish Dvorak).

  • Characters of frequent use in programming are moved to more convenient places.
  • Characters ellipsis (…), en-dash (–) and em-space ( ), which are useful when making user interfaces are added.
  • Dead keys for háček (ˇ) and ring (°) are added so I can type in Czech without switching keyboard layout. I use them a lot for my deck of 6660 cards of Czech words (updated 43) in Anki, and they work great. To se mi líbí!
  • The Typematrix version of the layout moves alt gr to page up so it can conveniently be used with the right thumb.
§
½

1
@
2
#
3
¤
4
%
5
back-
space

6 “

7 ”

8 emspace

9 ß

0

+
`
'
function
tab Å | Ä \ Ö [ P ] Y F G { C } R & L ! , ^
" ~
back-
steg
shift A ; O = E " U $ I / enter D ? H ( T ) N < S > _
- –
shift delete
:
. …
Q J K ˇ X B M ° W V Z *
'
insert
function start app shuffle space alt gr home up end enter page up
control alt shift control left down right page down

Append to /usr/share/X11/xkb/symbols/se:

partial alphanumeric_keys
xkb_symbols "dvorak2base" {
    key <AE01> { [ 1 ] };
    key <AE02> { [ 2, at ] };
    key <AE03> { [ 3, numbersign, sterling ] };
    key <AE04> { [ 4, currency ] };
    key <AE05> { [ 5, percent ] };
    key <AE06> { [ 6, leftdoublequotemark, leftsinglequotemark ] };
    key <AE07> { [ 7, rightdoublequotemark, rightsinglequotemark ] };
    key <AE08> { [ 8, emspace ] };
    key <AE09> { [ 9, ssharp ] };
    key <AE10> { [ 0 ] };
    key <AE11> { [ plus ] };
    key <AE12> { [ dead_acute, dead_grave ] };

    key <AD01> { [ aring, Aring, bar ] };
    key <AD02> { [ adiaeresis, Adiaeresis, backslash ] };
    key <AD03> { [ odiaeresis, Odiaeresis, bracketleft ] };
    key <AD04> { [ p, P, bracketright] };
    key <AD05> { [ y, Y ] };
    key <AD06> { [ f, F ] };
    key <AD07> { [ g, G, braceleft ] };
    key <AD08> { [ c, C, braceright ] };
    key <AD09> { [ r, R, ampersand ] };
    key <AD10> { [ l, L, exclam ] };
    key <AD11> { [ comma, comma ] };
    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde ] };

    key <AC01> { [ a, A, semicolon ] };
    key <AC02> { [ o, O, equal ] };
    key <AC03> { [ e, E, quotedbl ] };
    key <AC04> { [ u, U, dollar ] };
    key <AC05> { [ i, I, slash ] };
    key <AC06> { [ d, D, question ] };
    key <AC07> { [ h, H, parenleft ] };
    key <AC08> { [ t, T, parenright ] };
    key <AC09> { [ n, N, less ] };
    key <AC10> { [ s, S, greater ] };
    key <AC11> { [ minus, underscore, endash ] };

    key <AB01> { [ period, colon, ellipsis ] };
    key <AB02> { [ q, Q ] };
    key <AB03> { [ j, J ] };
    key <AB04> { [ k, K, dead_caron ] };
    key <AB05> { [ x, X ] };
    key <AB06> { [ b, B ] };
    key <AB07> { [ m, M, dead_abovering ] };
    key <AB08> { [ w, W ] };
    key <AB09> { [ v, V ] };
    key <AB10> { [ z, Z ] };

    key <BKSL> { [ apostrophe, asterisk ] };
    key <PGDN> { [ Control_L ] };
    key <RALT> { [ Prior ] };
    key <RCTL> { [ Next ] };
    key <TLDE> { [ section, onehalf ] };
};

partial alphanumeric_keys
xkb_symbols "dvorak2" {
    name[Group1]="Swedish - Typematrix";
    include "se(dvorak2base)"
    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "typematrix" {
    name[Group1]="Swedish - Typematrix";
    include "se(dvorak2base)"

    key <PGUP> {
        type[Group1]="ONE_LEVEL",
        symbols[Group1] = [ ISO_Level3_Shift ]
    };

    modifier_map Mod5 { ISO_Level3_Shift };
};

To change keyboard layout with alt gr in the usual place:
setxkbmap se dvorak2

To change keyboard layout for Typematrix and move alt gr to page up for Typematrix:
setxkbmap se typematrix