xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { type "ALPHABETIC" { modifiers= Shift+Lock; map[Shift]= Level2; map[Lock]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Caps"; }; }; xkb_compat { virtual_modifiers Hyper; interpret Mod3+AnyOfOrNone(all) { virtualModifier= Hyper; useModMapMods=level1; action= SetGroup(group=+2); }; interpret Mode_switch+AnyOfOrNone(all) { virtualModifier= Hyper; useModMapMods=level1; action= SetGroup(group=+1); }; }; xkb_symbols "chatpad-qwerty" { name[group1]="Germany"; # Row 1 key { [ Escape ] }; key { symbols[Group1]= [ 1, exclam ] }; key { symbols[Group1]= [ 2, quotedbl ] }; key { symbols[Group1]= [ 3, section ] }; key { symbols[Group1]= [ 4, dollar ] }; key { symbols[Group1]= [ 5, percent] }; key { symbols[Group1]= [ 6, ampersand ] }; key { symbols[Group1]= [ 7, slash ] }; key { symbols[Group1]= [ 8, bracketright ] }; key { symbols[Group1]= [ 9, bracketleft ] }; key { symbols[Group1]= [ 0, equal ] }; # Row 2 key { type= "ALPHABETIC", symbols[Group1]= [ q, Q ], symbols[Group2]= [ exclam ], symbols[Group3]= [ at ] # @ }; key { type= "ALPHABETIC", symbols[Group1]= [ w, W ], symbols[Group2]= [ quotedbl ], symbols[Group3]= [ exclamdown ] # inverted ! }; key { type= "ALPHABETIC", symbols[Group1]= [ e, E ], symbols[Group2]= [ EuroSign, cent ], symbols[Group3]= [ eacute, Eacute ] # é }; key { type= "ALPHABETIC", symbols[Group1]= [ r, R ], symbols[Group2]= [ dollar ], symbols[Group3]= [ yen ] # yen }; key { type= "ALPHABETIC", symbols[Group1]= [ t, T ], symbols[Group2]= [ percent ], symbols[Group3]= [ THORN ] # |b }; key { type= "ALPHABETIC", symbols[Group1]= [ z, Z ], symbols[Group2]= [ ampersand ], symbols[Group3]= [ asciicircum ] # ^ }; key { type= "ALPHABETIC", symbols[Group1]= [ u, U ], symbols[Group2]= [ slash ], symbols[Group3]= [ udiaeresis, Udiaeresis ] # ü }; key { type= "ALPHABETIC", symbols[Group1]= [ i, I ], symbols[Group2]= [ parenleft ], symbols[Group3]= [ iacute, Iacute ] # í ' <- as dot }; key { type= "ALPHABETIC", symbols[Group1]= [ o, O ], symbols[Group2]= [ parenright ], symbols[Group3]= [ odiaeresis, Odiaeresis ] }; key { type= "ALPHABETIC", symbols[Group1]= [ p, P ], symbols[Group2]= [ equal ], symbols[Group3]= [ backslash ] }; key { type= "ALPHABETIC", symbols[Group1]= [ a, A ], symbols[Group2]= [ aring, Aring ], # a° symbols[Group3]= [ adiaeresis, Adiaeresis ] }; key { type= "ALPHABETIC", symbols[Group1]= [ s, S ], symbols[Group2]= [ ssharp ], # ß symbols[Group3]= [ scaron, Scaron ] # s + v }; key { type= "ALPHABETIC", symbols[Group1]= [ d, D ], symbols[Group2]= [ guillemotleft ], # << symbols[Group3]= [ eth, Eth ] # delta + ~ }; key { type= "ALPHABETIC", symbols[Group1]= [ f, F ], symbols[Group2]= [ guillemotright ], # >> symbols[Group3]= [ sterling ] # L pound }; key { type= "ALPHABETIC", symbols[Group1]= [ g, G ], symbols[Group2]= [ diaeresis ], # .. symbols[Group3]= [ currency ] # Microsoft Points symbol }; key { type= "ALPHABETIC", symbols[Group1]= [ h, H ], symbols[Group2]= [ braceleft ], # { symbols[Group3]= [ grave ] # ` }; key { type= "ALPHABETIC", symbols[Group1]= [ j, J ], symbols[Group2]= [ braceright ], # } symbols[Group3]= [ oslash, Oslash ] # o + / }; key { type= "ALPHABETIC", symbols[Group1]= [ k, K ], symbols[Group2]= [ bracketleft ], # [ symbols[Group3]= [ ae, AE ] # ae }; key { type= "ALPHABETIC", symbols[Group1]= [ l, L ], symbols[Group2]= [ bracketright ], # ] symbols[Group3]= [ oe, OE ] # oe }; key { type= "ALPHABETIC", symbols[Group1]= [ period ], symbols[Group2]= [ question ], symbols[Group3]= [ numbersign ] # # }; key { symbols[Group1]= [ Shift_L ], symbols[Group2]= [ ], symbols[Group3]= [ ] # Capslock }; key { type= "ALPHABETIC", symbols[Group1]= [ y, Y ], symbols[Group2]= [ less ], # < symbols[Group3]= [ degree ] # ° }; key { type= "ALPHABETIC", symbols[Group1]= [ x, X ], symbols[Group2]= [ greater ], # > symbols[Group3]= [ bar ] # | }; key { type= "ALPHABETIC", symbols[Group1]= [ c, C ], symbols[Group2]= [ asciitilde ], # ~ symbols[Group3]= [ ccedilla, Ccedilla] # c + , }; key { type= "ALPHABETIC", symbols[Group1]= [ v, V ], symbols[Group2]= [ minus ], # - symbols[Group3]= [ underscore ] # _ }; key { type= "ALPHABETIC", symbols[Group1]= [ b, B ], symbols[Group2]= [ asterisk ], # * symbols[Group3]= [ plus ] # + }; key { type= "ALPHABETIC", symbols[Group1]= [ n, N ], symbols[Group2]= [ semicolon ], # ; symbols[Group3]= [ ntilde, Ntilde ] # n + ~ }; key { type= "ALPHABETIC", symbols[Group1]= [ m, M ], symbols[Group2]= [ colon ], # : symbols[Group3]= [ mu ] # mü }; key { type= "ALPHABETIC", symbols[Group1]= [ comma ], symbols[Group2]= [ apostrophe ], symbols[Group3]= [ questiondown ] }; key { symbols[Group1]= [ Return ] }; key { repeat= No, symbols[Group1]= [ Mode_switch ] }; key { repeat= No, symbols[Group1]= [ Super_L ] }; key { symbols[Group1]= [ Left ] }; key { symbols[Group1]= [ space ] }; key { symbols[Group1]= [ Right ] }; key { symbols[Group1]= [ BackSpace ] }; key { repeat= No, symbols[Group1]= [ Hyper_R ] }; modifier_map Shift { }; modifier_map Mod2 { }; // green modifier_map Mod3 { }; // orange modifier_map Mod4 { }; // people }; xkb_geometry { width = 250; height = 140; baseColor= "white"; labelColor= "black"; xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; description= "Microsoft Xbox360 Chatpad"; shape "NUM" { corner= 4, # corner roundness { [ 15, 11 ] }, # width, height { [ 1, 1 ], [ 14, 9 ] } # top/left, bottom right }; shape "ALPHA" { corner= 4, # corner roundness { [ 16, 13 ] }, # width, height { [ 1, 1 ], [ 15, 11 ] } # top/left, bottom right }; shape "SPACE" { corner= 4, # corner roundness { [ 54, 13 ] }, # width, height { [ 1, 1 ], [ 53, 11 ] } # top/left, bottom right }; section "Numbers" { key.color= "white"; priority= 2; top= 47; left= 35; width= 138; height= 102; angle= 0; row { top= 1; left= 1; keys { { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 }, { , "NUM", 1 } }; }; }; section "Alpha" { key.color= "white"; priority= 2; top= 61; left= 30; width= 138; height= 102; angle= 0; row { top= 1; left= 1; keys { { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 } }; }; row { top= 16; left= 1; keys { { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 } }; }; row { top= 32; left= 1; keys { { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 } }; }; row { top= 48; left= 7; keys { { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "SPACE", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 }, { , "ALPHA", 1 } }; }; }; }; };