I'm writing a hotkey selection control, which inherits from a TextBox.
It seemed to work fine for a while, but I ran into a huge bug today.

The KeyCode/KeyData values are completely whack, I get the same results
with KeyUp/KeyDown event handlers and overriding ProcessCmdKey().

Lets say I press "7" (not the numpad 7), and examine the KeyCode/KeyData
values on the first line of ProcessCmdKey. I get this...
keyData = LButton | RButton | MButton | ShiftKey | Space
That's when I press and quickly release a single "7".
Numpad 7 gives 0x67, looks sensible...
The caret key, next to return (on a Swedish keyboard) gives:
RButton | Back | ShiftKey | Space | F17

What the hell is going on? Anybody with a clue?
Some keystrokes (such as most letters) work just fine.

Thanks in advance
/Thomas