the keyboard map driver boyd mentions provides a keyboard map device, but is distributed in a package that also changes kbd.c to allow its rune tables to be read and written.