I am currently working on an application which requires different behaviour based on whether the user presses the right or left shift key (RShiftKey, LShiftKey), however whe
Thanks guys, good solution there. In the mean time here's my own "hacky" way of doing it from the override of ProcessCmdKey:
public override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (msg.LParam.ToInt32() == 0x2a0001)
LastShiftKey = ShiftKeys.NumericShift;
else if (msg.LParam.ToInt32() == 0x360001)
LastShiftKey = ShiftKeys.AlphaShift;
etc....
}