Sorry hit submit too soon (related to the new keyboard having Ctrl in a different place!) Corrected:
I normally use a Model M keyboard connected to the PS/2 keyboard port of a PC running Windows 7. On that PC I run PuTTY to ssh to a Linux box, where I run emacs. This all works fine but I recently switched to a Model F AT keyboard, connected with a simple adaptor to the same PS/2 keyboard port. Now most things work, including the arrow and PgUp/PgDown keys on the numeric keypad in Windows apps. But in my ssh session, the up-arrow key on the keypad doesn't send the usual escape sequence but ESC O x; other keypad keys also send ESC O sequences.
According to the PuTTY documentation, this may be something to do with 'VT400 mode' or other modes for the numeric keypad, but no matter what option I choose in the PuTTY config I still get these ESC O sequences. Does anyone know what the trick is here? It may be nothing to do with the Model F vs Model M - I would put the M back to check but it appears to have broken, which is why I made the switch.