I'm working on a Picwin game in mSL, my own version of a classic game, Pinball!

I wanted to utilize key presses to determine which flipper to operate, and mold this off of other PC pinball games I've played in the past. Games that I remember, like old MS-DOS Epic Pinball, you used the left and right shift keys to control your flippers, and space-bar to launch the ball. Also to keep a similar feel to a real pinball machine, which always had toggles on the side of the unit for your left and right hand to smack to make the flippers move.

Here's a screenshot:
[Linked Image from i.ibb.co]

The problem lies with both ON *:CHAR: and ON *:KEYDOWN, even $mouse.key. How do I tell which shift key is pressed?

ON *:CHAR: does nothing, there's no output for a shift key.
on *:KEYDOWN: tells me the same $keyval for both shift keys (16)
"if ($mouse.key & 4)" or "$and($mouse.key,4)" also just tells me "A" shift key is held, not "which" shift key is held...

Is there something I might be missing here? is it possible to assign an event to ANY key on the keyboard regardless of if they achieve the same function? I'm not familliar with many other keyboards but I think the only repetitive key (besides keypad numbers and number row) is shift....