I have a situation where I need to parse a string and execute various pieces of logic when the user enters a * or a +. When I use the numeric keypad (num lock light on), it works perfectly. When I use the (shift+8) (for the *) or the (shift+=) (for the +), I get different results.

I realize that the values of keycode and shift are different for the two different scenarios and I therefore attempted to code a key down routine that changes the values of keycode and shift to those obtained by using the numeric keypad. It does change those values but the logic still does not execute properly. The keyascii values are the same regardless of which scenario (numeric keypad or not) I use so I know that I will need to do some additional analysis in KeyDown.

Any suggestions for additional code would be appreciated. TIA.