NumLock doesn't work under X

The TP 600X doesn't have a separate numeric keypad nor does it have a separate NumLock key. Instead, you enable an embedded numeric keypad (e.g., the J key is the keypad 1) by hitting Shift+ScrollLock.

Doing this in an xterm immediately after installation results in a beep and a bunch of keys that don't appear to do anything until you do it again.

Hacking /usr/lib/X11/xkb/keycodes/xfree86 and /usr/lib/X11/xkb/symbols/us allows NumLock to work properly. The LEDs still don't work though - the NumLock LED doesn't come on when NumLock is entered, and both the NumLock LED and the ScrollLock LED come on when ScrollLock is pressed.

Hacking /usr/lib/X11/xkb/compat/basic makes the NumLock LED work properly, but breaks the ScrollLock LED (i.e., the NumLock LED now goes on and off when it should, but the ScrollLock LED no longer comes on at all).

What's worse, the hack that fixes the LEDs also converts the BACKSPACE key into DELETE (rubout), which is somewhat annoying (you can no longer backspace over typos in vi; you have to use Ctrl-h instead). I'm not sure why this happens - I guess the normal X behavior when in NumLock mode is to map BACKSPACE to DELETE and that my hack doesn't do everything it should when leaving NumLock mode. (The keypad keys presumably work properly without this hack even though X presumably isn't keeping track internally of the NumLock state because the ThinkPad BIOS actually generates different scan codes for the embedded keypad keys when NumLock is on.)

Hacking /usrs/lib/X11/xkb/compat/basic in a slightly different way gets the LEDs working properly with ScrollLock (i.e., only the ScrollLock LED comes on), makes the embedded numeric keypad work properly, and doesn't interfere with backspace. The only thing it doesn't give is a working NumLock LED. I think I'll just put up with that for now.

(Editorial comment - the documentation on xkb and how to configure it is woefully inadequate...)