// I know nothing about this just messing around :P // This is a Swedish variant of the Mirrorboard, // entirely made by copypasting a lot of segments // from other files and a few from Munroe's Mirrorboard. // Idea is completely of Munroe // His original layout uses the level 3 modifier // to add the necessary letters on the keyboard. // The swedish qwerty RELIES heavily on the level 3 // modifier in the form om ALT GR (right alt). // Therefore, the swedish qwerty and mirrorboard // isn't entirely compatible... // I've omitted some of the characters not used commonly // and relocated some that couldn't stay (most notably @). // You'll find I've done my best to keep characters // where they should, but of course, one thing // can't be the best for all. // If you find my placements REALLY disturbing // you can of course change here. // The file must be the most self-explainatory thing // I've ever seen, so no worries. // Some characters remain where they are on the // swedish qwerty, and remains with the level // 3 modifier, though you have to press caps lock // to get characters like {, [, ], } and ~... // This should be no problem as I find that // even more intuitive. :) // His comments to original file: //> // //> // MirrorBoard one-hand keymapping //> // Hacked together by Randall Munroe and neale //> // 2007-06-25 //> // //> //> // This is a keymapping for occasional left-handed typing. //> // Run it with //> // xkbcomp mirrorboard.xkb $DISPLAY //> // (optionally, 2>/dev/null -- it prints a lot of warnings) //> //> // Skip past all this text to see/edit the actual mappings. //> //> // One-handed layouts are interesting but hard to learn. //> // I noticed, however, that with little effort I could //> // type with my left hand as if it were my right. That is, //> // if I take my right hand away from the keyboard and tell //> // my left hand to type the word 'parking', with a little //> // effort, 'qardevg' comes out. I'm doing the same hand //> // motions I'd do with both hands, but constraining them //> // to one hand. //> //> // I noticed that when casually switching windows with the //> // mouse to type responses on IRC, it was convenient when //> // the responses could be typed entirely with my left hand. //> // 'lol' cannot, but 'sweet' can. I have yet to have a //> // chance to say 'we fear a few dwarf watercraft //> // stewardesses were regarded as desegregated after a great //> // texas tweezer war', but boy is it weird to type. //> //> // So I realized that if I set a modifier key (caps lock) //> // to switch layouts such that q was p, w was o, and so //> // forth, I could write 'parking' with my left hand, by //> // typing //> //> // The nice thing about this is that I can do it without //> // learning a new layout -- once I got it working, I was //> // able to use it right away. I find it's really handy //> // to be able to type things like 'ls' without taking my //> // right hand off the mouse (or anything else -- go ahead //> // and get the porn jokes out of your system now). And //> // since it doesn't get in the way of normal typing, //> // there's very little cost to it. //> //> // I made a few changes besides the basic mirroring. //> // caps+tilde is backspace (you'll need this at first) //> // caps+space is return (essential), and 'a' maps to the //> // apostrophe/quote key instead of semicolon/colon. //> // There's not room to do both. //> //> // Oh, and lastly, capital letters can't really be typed //> // this way. I put in the keysms, but they only work //> // for some of the keys. I think this is due to physical //> // constraints -- the keyboard can't handle all three-key //> // chords. But I find most casual short things I type //> // use only lowercase, so that's okay for me. xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc(pc105)" name[Group1]= "Mirrorboard - Swedish"; // Alphanumeric section key { [ section, onehalf, BackSpace ] }; key { [ 1, exclam, 0, question ] }; key { [ 2, quotedbl, 9, parenleft ] }; key { [ 3, numbersign, 8, parenright ] }; key { [ 4, at, 7, slash ] }; key { [ 5, percent, 6, ampersand ] }; key { [ 6, ampersand, 5, equal ] }; key { [ 7, slash, braceleft ] }; key { [ 8, parenleft, bracketleft ] }; key { [ 9, parenright, bracketright ] }; key { [ 0, equal, braceright ] }; key { [ plus, question, backslash ] }; key { [dead_acute, dead_grave ] }; key { [ q, Q, aring, Aring ] }; key { [ w, W, p, P ] }; key { [ e, E, o, O ] }; key { [ r, R, i, I ] }; key { [ t, T, u, U ] }; key { [ y, Y ] }; key { [ u, U ] }; key { [ i, I ] }; key { [ o, O ] }; key { [ p, P ] }; key { [ aring, Aring ] }; key { [dead_diaeresis,dead_circumflex,dead_tilde ] }; key { [ a, A, adiaeresis, Adiaeresis ] }; key { [ s, S, odiaeresis, Odiaeresis ] }; key { [ d, D, l, L ] }; key { [ f, F, k, K ] }; key { [ g, G, j, J ] }; key { [ h, H ] }; key { [ j, J ] }; key { [ k, K ] }; key { [ l, L ] }; key { [ odiaeresis, Odiaeresis ] }; key { [ adiaeresis, Adiaeresis ] }; key { [ z, Z, minus, underscore ] }; key { [ x, X, period, colon ] }; key { [ c, C, comma, semicolon ] }; key { [ v, V, m, M ] }; key { [ b, B, n, N ] }; key { [ n, N ] }; key { [ m, M ] }; key { [ comma, semicolon ] }; key { [ period, colon ] }; key { [ minus, underscore ] }; key { [apostrophe, asterisk ] }; key { [ space, space, Return] }; // End alphanumeric section key { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] }; }; xkb_geometry { include "pc(pc104)" }; };