I've had partial success by doing this: $ xkbcomp :0 default.xkb $ vi default.xkb comment out the two rules that cause syntax errors: // interpret AccessX_Enable+AnyOfOrNone(all) { // action= LockControls(controls=); // }; // interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { // action= LockControls(controls=); // }; Now you can restore the settings back by running $ xkbcmp default.xkb :0 if you screw up and end up with a nonfunctional keyboard. Next $ cp default.xkb mg.xkb $ vi mg.xkb key <RGHT> { type= "PC_FN_LEVEL2", symbols[Group1]= [ Right, Tab ] }; $ xkbcomp mg.xkb :0 and now Fn+Right arrow is a Tab key. Sadly I don't know enough about xkbcomp to see if it's possible to make it load incomplete maps on top of the current configuration, just to update a few symbols without replicating the full configuration.