partial alphanumeric_keys
xkb_symbols "su-8w" {
    // forked from from pc(pc105); madness.
    key <ESC>  {	[ Escape			]	};

    // the extra key on most European keyboards
    key <LSGT> {	[      less,    greater,          bar,    brokenbar ]	};

    // these keys are common to all layouts
    key <BKSL> {	[ backslash,	bar		]	};
    key <SPCE> {	[ 	 space			]	};

    key <BKSP> { [ BackSpace ] };

    key  <TAB> {	[ Tab,	ISO_Left_Tab	]	};
    key <RTRN> {	[ Return	]	};
    // we don't ever generate this key, but the VKB needs it always.
    key <KPEN> {        [ KP_Enter      ]       };
    // generated from the headset, must always be in the map.
    key <I29>  {        [ XF86Phone     ]       };

    key <CAPS> {	[ Caps_Lock	]	};

    key <NMLK> {	[ Num_Lock, Pointer_EnableKeys		]	};

    key <LFSH> {	[ Shift_L	]	};
    key <LCTL> {	[ Control_L	]	};
    key <LALT> {	[ Alt_L,	Meta_L		]	};
    key <LWIN> {	[ Super_L			]	};

    key <RTSH> {	[ Shift_R	]	};
    key <RCTL> {	[ Control_R	]	};
    key <RALT> {	[ Alt_R,	Meta_R		]	};
    key <RWIN> {	[ Super_R			]	};

    key <MENU> {	[ Menu			]	};

    key <FK01> { [ F1 ] };
    key <FK02> { [ F2 ] };
    key <FK03> { [ F3 ] };
    key <FK04> { [ F4 ] };
    key <FK05> { [ F5 ] };
    key <FK06> { [ F6 ] };
    key <FK07> { [ F7 ] };
    key <FK08> { [ F8 ] };
    key <FK09> { [ F9 ] };
    key <FK10> { [ F11 ] };
    key <FK11> { [ F10 ] };
    key <FK12> { [ F12 ] };

    // begin modifier mappings
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod2   { Num_Lock };

    //  Fake keys for virtual<->real modifiers mapping 
    key <LVL3> {	[ ISO_Level3_Shift	]	};
    key <MDSW> {	[ Mode_switch 		]	};
    modifier_map Mod5   { <LVL3>, <MDSW> };

    key <ALT>  {	[ NoSymbol, Alt_L	]	};
    modifier_map Mod1   { <ALT>, <LALT> };

    key <META> {	[ NoSymbol, Meta_L	]	};
    modifier_map Mod1   { <META> };

    key <SUPR> {	[ NoSymbol, Super_L	]	};
    modifier_map Mod4   { <SUPR> };

    key <HYPR> {	[ NoSymbol, Hyper_L	]	};
    modifier_map Mod4   { <HYPR> };

    key  <INS> {        [  Insert               ]       };
    key <DELE> {        [  Delete               ]       };
    key  <END> {        [  End                  ]       };
    key   <UP> {	[  Up			]	};
    key <LEFT> {	[  Left			]	};
    key <DOWN> {	[  Down			]	};
    key <RGHT> {	[  Right		]	};

    // True for all layouts (except for ru).
    key <TLDE> { [ grave, asterisk, asciitilde ] };

    // SU-8W uses 140 for Home, not the normal keycode.  Very useful.
    key <HOME> {        [       NoSymbol                ]       };
    // Ditto LWIN/RWIN and Page Up/Page Down.
    key <PGUP> {        [       none                ]       };
    key <PGDN> {        [       NoSymbol                ]       };

    // The LWIN & RWIN keys correspond to the 'select left' and
    // 'select right' keys.
    key <LWIN> {	[	Prior		]	};
    key <RWIN> {	[	Next		]	};

    key <I0C> {		[	Home			]	};
    key <I06> {		[	Menu			]	};
    key <I6C> {		[	XF86Mail		]	};

    // Power button.
    key <I5E> {         [       Execute                 ]       };
};
