Previously SRB2 waited for press and release events for the modifier keys, then toggled a flag. The issue was that you can press modifier keys outside of the window and SRB2 would enter an inverted state for that modifier.
So I changed it to just look for the current state of modifier keys instead of waiting for an event. The detachable console on Windows still follows the old rules, so there's no way to press Shift/Ctrl/Alt/Caps lock on a dedicated server on Windows.