Hi,
Had also a look at ps2.c/ps2.h, pckbd.c: There were no changes which could explain such a behaviour. Also keyboard is very strange which switches to CAPS LOCK (shift state) very unmotivated.
Hmm. Recent qemu tries hard to make sure vncviewer and guest capslock/numlock state are in sync. It is a heuristic though and can fail in certain cases. Try "-vnc $display,no-lock-key-sync", does that help?
cheers, Gerd