Since upgrading to trixie, numpad digit keys (KP_0-KP_9) produce nothing at all over VNC, with any client (RealVNC, TigerVNC, Remmina). The navigation keysyms work when NumLock is off, and / * - + . Enter work, but digits never reach the X server. This is the same issue as Ubuntu bug #2067259 (open since 22.04, where it was misdiagnosed as a NumLock state desync). Root cause (verified on trixie, vino 3.22.0-6): vino_input_initialize_keycodes_xkb() builds its keysym->keycode table by mapping vino's "shift level" to a key type's level via mods->mask == ShiftMask. But the "KEYPAD" type in modern xkeyboard-config (since 2.35, when map[Shift] = Level2 was removed from types/numpad) has only a single map entry: map[NumLock] = Level2. With no Shift entry, vino's levelmap for keypad types maps the "shift" level back to level 0, so the scan only ever sees the navigation keysyms (KP_End etc.). No bindings are ever created for KP_0-KP_9, and vino_input_fake_keypress() silently drops those keysyms. Verified by rebuilding with VINO_SERVER_DEBUG=input: "Got key press for KP_1" is followed by no injection whatsoever, and the keybinding table dump contains KP_End but no KP_1. The attached patch (against 3.22.0, applies on top of the -6 patch series) does two things: 1. When a key type has no Shift entry but has a NumLock entry, use the NumLock entry's level as the "shift" level. This restores bindings for the keypad digits. On old keymaps that have both Shift and NumLock entries pointing at the same level, behavior is unchanged. 2. Only fake NumLock press/release toggles for keypad bindings. NumLock does not affect the keysym produced by non-keypad keys, but vino was toggling it around *every* keypress whenever NumLock was on (the "Num.Lock(off) b Num.Lock(on)" per keystroke seen with screenkey in the Ubuntu report). Tested live on trixie/MATE: digits inject correctly with NumLock on, navigation keys with it off, the client/server NumLock desync case still works via the existing fake-modifier path, and plain letters no longer trigger NumLock flicker.