Numpad 0 not working after upgrade to openSUSE 11.3

I can work around it for now if I have to, but it’s a weird and annoying bug. Basically, since installing openSUSE 11.3 RC1 I’ve been unable to use the 0 key on my numpad. The rest of the numpad functions correctly, it’s just the 0 key and it is in both numlock on and off modes (not that I ever use it in off, but I tested anyway). This is the relevant output from xev:

KeyPress event, serial 35, synthetic NO, window 0x5e00001,
    root 0x1ad, subw 0x0, time 3291105, (574,178), root:(588,243),
    state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 35, synthetic NO, window 0x5e00001,
    root 0x1ad, subw 0x0, time 3291201, (574,178), root:(588,243),
    state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 35, synthetic NO, window 0x5e00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 35, synthetic NO, window 0x5e00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 35, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 

(first two entries are for pressing numpad “1” with numlock on, last three are for pressing numpad “0” with numlock on).

Also, modmap seems to show it as keycode 90, just after the other numpad keys:

keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode  79 = KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9
keycode  82 = KP_Subtract XF86_Prev_VMode KP_Subtract XF86_Prev_VMode
keycode  83 = KP_Left KP_4 KP_Left KP_4
keycode  84 = KP_Begin KP_5 KP_Begin KP_5
keycode  85 = KP_Right KP_6 KP_Right KP_6
keycode  86 = KP_Add XF86_Next_VMode KP_Add XF86_Next_VMode
keycode  87 = KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Decimal
keycode  92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

I’ve checked the Gnome keyboard settings, the keyboard shortcuts and Compiz and nothing is bound to the key, so I don’t have a clue what is stealing it or mis-mapping it.

Anyone have any ideas?

Thanks.

Odd…I just did a bit more testing and I get correct keycodes from xev and 0s if I add shift, but not without it.

Extra debugging output:

$ xprop -root |grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = “evdev”, “evdev”, “gb”, “”, “”
_XKB_RULES_NAMES(STRING) = “evdev”, “logicd”, “gb”, “”, “grp:shifts_toggle,terminate:ctrl_alt_bksp”

Typical. I’ve not got a clue what caused it (possibly some of the setting and resetting of the keyboard, followed by a reboot) but I’ve just noticed that the numpad 0 is working again. If anyone has any ideas then feel free to still post them as I’m sure someone else will encounter it at some point!