dotfiles / other / symbols

// FireFly's custom svorak (A1) variant.

// based on a keyboard map from an 'xkb/symbols/se' file
//
// $XKeyboardConfig$
// $XFree86: xc/programs/xkbcomp/symbols/se,v 1.5 2003/01/26 02:01:48 dawes Exp $

default partial alphanumeric_keys xkb_symbols "crazy" {
    name[Group1]="Sweden - Dvorak";

    include "se(basic)"

  //key.type[group1]="EIGHT_LEVEL_ALPHABETIC";

    key <AD01> { [     aring,      Aring,           at,           at ] };
    key <AD02> { [ adiaeresis, Adiaeresis,          at,           at ] };
    key <AD03> { [ odiaeresis, Odiaeresis,    EuroSign,           at ] };
    key <AD04> { [         p,          P,           at,           at ] };
    key <AD05> { [         y,          Y,           at,           at ] };
    key <AD06> { [         f,          F,           at,           at ] };
    key <AD07> { [         g,          G,          jot,           at ] };
    key <AD08> { [         c,          C,           at,           at ] };
    key <AD09> { [         r,          R,           at,           at ] };
    key <AD10> { [         l,          L,        Right               ] };
    key <AD11> { [     comma,  semicolon,      radical,  dead_ogonek ] };
    key <AD12> { [ dead_diaeresis, dead_circumflex, asciitilde, asciicircum ] };

  //key <AC01> { [         a,          A,           ae,           AE ] };
    key <AC01> { [         a,          A,           ae,           AE, o,o,o,o ] };
    key <AC02> { [         o,          O,       oslash,       Oslash ] };
    key <AC03> { [         e,          E,          Tab,           at ] };
    key <AC04> { [         u,          U, ISO_Left_Tab,           at ] };
    key <AC05> { [         i,          I,     infinity,           at ] };
    key <AC06> { [         d,          D,           at,           at ] };
    // TODO: make sure that e.g. altgr+shift+h gets interpreted as Shift+Left
    key <AC07> { [         h,          H,         Left               ] };
    key <AC08> { [         t,          T,         Down               ] };
    key <AC09> { [         n,          N,           Up               ] };
    key <AC10> { [         s,          S,        Right               ] };
 // key <AC07> { symbols[Group1] = [ h, H,  Left ] };
 // key <AC08> { symbols[Group1] = [ t, T,  Down ] };
 // key <AC09> { symbols[Group1] = [ n, N,    Up ] };
 // key <AC10> { symbols[Group1] = [ s, S, Right ] };
    key <AC11> { [     minus, underscore, dead_belowdot, dead_macron ] };
//  key <AC12> { [     minus, underscore, dead_belowdot, dead_macron ] };
    key <BKSL> { [ apostrophe,  asterisk,         grave,    multiply ] };

    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ] };
    key <AB02> { [         q,          Q,           at,      because ] };
    key <AB03> { [         j,          J,         Down               ] };
 // key <AB03> { symbols[Group1] = [ j, J,  Down ] };
  //key <AB03> { [         j,          J,    elementof, notelementof ] };
    key <AB04> { [         k,          K,           Up               ] };
 // key <AB04> { symbols[Group1] = [ k, K,    Up ] };
  //key <AB04> { [         k,          K,           at,           at ] };
    key <AB05> { [         x,          X,           at,           at ] };
    key <AB06> { [         b,          B,           at,           at ] };
    key <AB07> { [         m,          M,           mu,           at ] };
    key <AB08> { [         w,          W,           at,           at ] };
    key <AB09> { [         v,          V,           at,           at ] };
    key <AB10> { [         z,          Z,           at,           at ] };

    replace key <CAPS>  { type="ONE_LEVEL", [ Control_L  ] };
    replace key <LCTL>  { type="ONE_LEVEL", [ VoidSymbol ] };

  //replace key <MENU>  { type="ONE_LEVEL", [ ISO_Level5_Shift ] };

    // åäöpyfgcrl,¨  ÅÄÖPYFGCRL;^  ..........√   ..........
    // aoeuidhtns-   AOEUIDHTNS_   æø()∞.{}..    ÆØ....[]..¯
    // .qjkxbmwvz    :QJKXBMWVZ    ·.∈∋...µ...   ˙.........

// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │     │ !   │ "   │ #   │ ¤   │ %   │ &   │ /   │ (   │ )   │ =   │ ?   │ ` ¬ ┃         ┃
// │     │ 1 ¡ │ 2 @ │ 3 £ │ 4 $ │ 5   │ 6   │ 7 { │ 8 [ │ 9 ] │ 0 } │ + \ │ ´ ± ┃   BS    ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃       ┃     │     │     │     │     │     │     │     │     │     │ ;   │ ^ ^ ┃       ┃
// ┃ Tab   ┃ å   │ ä   │ ö € │ p   │ y   │ f   │ g ∘ │ c   │ r   │ l → │ , √ │ ¨ ~ ┃       ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  CR  ┃
// ┃ (Esc)  ┃   Æ │   Ø │  RTb│     │     │     │     │     │     │     │ _   │ * × ┃      ┃
// ┃ Ctrl_L ┃ a æ │ o ø │ e Tb│ u   │ i ∞ │ d   │ h ← │ t ↓ │ n ↑ │ s → │ -   │ '   ┃      ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃       ┃ >   │ :   │     │     │     │     │     │     │     │     │     ┃             ┃
// ┃ Shift ┃ < | │ . · │ q   │ j ↓ │ k ↑ │ x   │ b   │ m µ │ w   │ v   │ z   ┃             ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃       ┃       ┃       ┃                                   ┃       ┃       ┃       ┃
// ┃       ┃ Mod4  ┃  Alt  ┃               Space               ┃ AltGr ┃       ┃       ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
//
//    All letter keys have their corresponding uppercase letter as their shifted
//    symbol; these have been omitted for brevity.
//
//       ┌─────┐   1: regular,
//       │ 2 4 │   2: shifted,
//       │ 1 3 │   3: altgr,
//       └─────┘   4: shift+altgr
//

};

//xkb_compatibility "compat" {
//  include "complete"
//
//  replace indicator "Caps Lock" {
//    !allowExplicit;
// // whichModState= locked;
//    whichModState = latched;
//    modifiers     = Lock;
//  };
//};

//partial hidden modifier_keys xkb_symbols "tweaks" {
//	// rebind caps to escape
////	key <caps> { [ escape,      escape     ] }; // caps:escape
////	key <esc>  { [ voidsymbol,  voidsymbol ] };
//    key <caps> { [ control_l,   control_l  ] };
//
//    replace key <caps>  {  [ control_l  ] };
//    replace key <lctl>  {  [ voidsymbol ] };
// // modifier_map  control { <caps>, <lctl> };
//
////	key <tab>  { [ escape,      escape     ] };
////	key <lctl> { [ tab,         tab        ] };
////	key <lsgt> { [ control_l,   control_l  ] };
//
//	// rebind altgr to act as ctrl, and move altgr to the right (to rwin/menu)
////	key <ralt> { [ control_r               ] };
////	key <rwin> { [ iso_level3_shift        ] };
////	key <menu> { [ iso_level3_shift        ] };
////	modifier_map control { <ralt> };
//
////	key <lctl> { [ voidsymbol              ] };
////	key <rtsh> { [ menu                    ] };
//
////	key <menu> { [ control_r,   control_r  ] }; // ctrl:menu_rctrl
//};


//default partial alphanumeric_keys xkb_symbols "crazy" {
partial alphanumeric_keys xkb_symbols "crazy" {
    name[Group1]="Sweden - Dvorak";

    include "se(basic)"

    key <AE01> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE02> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE03> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE04> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE05> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE06> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE07> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE08> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE09> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };
    key <AE10> { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] };

    key <AD01> { [     aring,      Aring,            1,           at ]	};
    key <AD02> { [ adiaeresis, Adiaeresis,           2,           at ]	};
    key <AD03> { [ odiaeresis, Odiaeresis,           3,           at ]	};
    key <AD04> { [         p,          P,            4,           at ]	};
    key <AD05> { [         y,          Y,            5,           at ]	};
    key <AD06> { [         f,          F,            6,           at ]	};
    key <AD07> { [         g,          G,            7,           at ]	};
    key <AD08> { [         c,          C,            8,           at ]	};
    key <AD09> { [         r,          R,            9,           at ]	};
    key <AD10> { [         l,          L,            0,           at ]	};
    key <AD11> { [     comma,  semicolon,      radical,  dead_ogonek ]	};
    key <AD12> { [ dead_diaeresis, dead_circumflex, asciitilde, asciicircum ]	};
 // key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ]	};

// elementof, notelementof; containsas, U220C; therefore, because

    key <AC01> { [         a,          A,       exclam,           AE ]	};
    key <AC02> { [         o,          O,     quotedbl,       Oslash ]	};
    key <AC03> { [         e,          E,   numbersign,           at ]	};
    key <AC04> { [         u,          U,     currency,           at ]	};
    key <AC05> { [         i,          I,      percent,           at ]	};
    key <AC06> { [         d,          D,    ampersand,           at ]	};
    key <AC07> { [         h,          H,        slash,  bracketleft ]	};
    key <AC08> { [         t,          T,    parenleft, bracketright ]	};
    key <AC09> { [         n,          N,   parenright,           at ]	};
    key <AC10> { [         s,          S,        equal,           at ]	};
    key <AC11> { [     minus, underscore, dead_belowdot, dead_macron ]	};

    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ]	};
    key <AB02> { [         q,          Q,           at,      because ]	};
    key <AB03> { [         j,          J,     sterling, notelementof ]	};
    key <AB04> { [         k,          K,       dollar,           at ]	};
    key <AB05> { [         x,          X,   VoidSymbol,           at ]	};
    key <AB06> { [         b,          B,   VoidSymbol,           at ]	};
    key <AB07> { [         m,          M,    braceleft,           at ]	};
    key <AB08> { [         w,          W,  bracketleft,           at ]	};
    key <AB09> { [         v,          V, bracketright,           at ]	};
    key <AB10> { [         z,          Z,   braceright,           at ]	};

    replace key <CAPS>  {  [ Control_L  ] };
    replace key <LCTL>  {  [ VoidSymbol ] };

    // åäöpyfgcrl,¨  ÅÄÖPYFGCRL;^  ..........√   ..........
    // aoeuidhtns-   AOEUIDHTNS_   æø()∞.{}..    ÆØ....[]..¯
    // .qjkxbmwvz    :QJKXBMWVZ    ·.∈∋...µ...   ˙.........
};
//partial hidden modifier_keys xkb_symbols "tweaks" {
//};

partial alphanumeric_keys xkb_symbols "se-dvorak-spacecadet" {
    name[Group1]="Sweden - Dvorak";

    include "se(basic)"

    key <AD01> { [     aring,      Aring,   logicaland,        U2200 ]	};  // U+2200 FOR ALL
    key <AD02> { [ adiaeresis, Adiaeresis,   logicalor,        U2203 ]	};  // U+2203 THERE EXISTS
    key <AD03> { [ odiaeresis, Odiaeresis,       union,       uptack ]	};
    key <AD04> { [         p,          P, intersection,     downtack ]	};
    key <AD05> { [         y,          Y,   includedin,        U2286 ]	};  // U+2286 SUBSET OF OR EQUAL TO
    key <AD06> { [         f,          F,     includes,        U2287 ]	};  // U+2287 SUPERSET OF OR EQUAL TO
    key <AD07> { [         g,          G,          jot,        U2219 ]	}; // U+2219 BULLET OPERATOR
    key <AD08> { [         c,          C,           at,           at ]	};
    key <AD09> { [         r,          R,           at,           at ]	};
    key <AD10> { [         l,          L,           at,           at ]	};
    key <AD11> { [     comma,  semicolon,      radical,  dead_ogonek ]	};
    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ]	};

// elementof, notelementof; containsas, U220C; therefore, because

    key <AC01> { [         a,          A,           ae,           AE ]	};
    key <AC02> { [         o,          O,       oslash,       Oslash ]	};
    key <AC03> { [         e,          E,           at,           at ]	};
    key <AC04> { [         u,          U,           at,           at ]	};
    key <AC05> { [         i,          I,     infinity,           at ]	};
    key <AC06> { [         d,          D,           at,           at ]	};
    key <AC07> { [         h,          H,    leftarrow,        U21D0 ]	};  // U+21D0 LEFTWARDS DOUBLE ARROW
    key <AC08> { [         t,          T,    downarrow,     ifonlyif ]	};
    key <AC09> { [         n,          N,      uparrow,        U21A6 ]	};
    key <AC10> { [         s,          S,   rightarrow,      implies ]	};
    key <AC11> { [     minus, underscore, dead_belowdot, dead_macron ]	};

    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ]	};
    key <AB02> { [         q,          Q,    therefore,      because ]	};
    key <AB03> { [         j,          J,    elementof, notelementof ]	};
    key <AB04> { [         k,          K,   containsas,        U220C ]	};  // U+220C DOES NOT CONTAIN AS MEMBER
    key <AB05> { [         x,          X,        equal,     notequal ]	};
    key <AB06> { [         b,          B,    identical, notidentical ]	};
    key <AB07> { [         m,          M,         less, lessthanequal ]	};
    key <AB08> { [         w,          W,      greater, greaterthanequal ]	};
    key <AB09> { [         v,          V,     approxeq,        U2249 ]	};  // U+2249 NOT ALMOST EQUAL TO
    key <AB10> { [         z,          Z,           at,           at ]	};

    // åäöpyfgcrl,¨  ÅÄÖPYFGCRL;^  ∧∨∪∩⊂⊃ @@@√   ∀∃  ⊆⊇∙@@@
    // aoeuidhtns-   AOEUIDHTNS_   æø@@∞d←↓↑→    ÆØ@@@@⇐ ↦⇒¯
    // .qjkxbmwvz    :QJKXBMWVZ    ·∴∈∋=  <>≈@   ˙∵∉∌≠≢≤≥≉@
};

// vim:syn=xkb
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.