Free software projects:

  • Weight Chart

    Android application for keeping a personal log of body weight and displaying as a chart

  • captchaimage

    Python extension to generate captcha images

  • oggvideopreview

    Python extension to get preview images from Theora videos in Ogg files

  • v4l2capture

    Python extension to capture video with video4linux2

  • Sinatra

    Karaoke game

Web projects (Swedish):

email: fredrik@jemla.se

Windows 7 Sins

Typematrix EZR-2030

§
½

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

6

7

8

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 blanksteg alt gr home uppåt-
pil
end enter page up
control alt shift control vänster-
pil
nedåt-
pil
höger-
pil
page down

partial alphanumeric_keys
xkb_symbols "dvorak2" {
    key <PGUP> { 
        type[Group1]="ONE_LEVEL",
        symbols[Group1] = [ ISO_Level3_Shift ]
    };
    
    modifier_map Mod5 { ISO_Level3_Shift };

    key <AE01> { [ 1 ] };
    key <AE02> { [ 2, at ] };
    key <AE03> { [ 3, numbersign, sterling ] };
    key <AE04> { [ 4, currency ] };
    key <AE05> { [ 5, percent ] };
    key <AE06> { [ 6 ] };
    key <AE07> { [ 7 ] };
    key <AE08> { [ 8 ] };
    key <AE09> { [ 9 ] };
    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 ] };

    key <AB01> { [ period, colon ] };
    key <AB02> { [ q, Q ] };
    key <AB03> { [ j, J ] };
    key <AB04> { [ k, K ] };
    key <AB05> { [ x, X ] };
    key <AB06> { [ b, B ] };
    key <AB07> { [ m, M ] };
    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 ] };
};