Hi there,
Because the Booleans are not being checked until keypresses, I would suggest using a gate. Have the gate run on a tick event and use the key presses to open and close the gate. Make the gate open event check those Booleans instead so they stay current and can be applied correctly at all times.