I have a cross-platform app built on Qt which watches the state of the Shift and Ctl modifier keys and changes its display. Running native in Mac OSX it works perfectly: the instant Shift or Ctl is pressed, Qt sends a keyPressEvent to the app and it does its thing. However when running in Windows or Linux in a Parallels VM, this does not happen. Pressing Shift or Ctl does not immediately cause a key event. Nothing happens until the key is released, then both the press and release events are reported at once. Or, if a data key is hit, the combination of shift + key or ctl + key is delivered. Could it be that Parallels is "sitting on" the state of the modifier key until it knows for sure that I'm not about to use one of its own shortcuts? I think this is very likely. If so, how can I make Parallels deliver ALL keypresses in real time? I'm reading the help on the keyboard preferences and not seeing it. Thanks for any comments!
Modifier keys behavior can be changed by VM Configuration > Hardware > Mouse & Keyboard > Keyboard: Optimize for games