it's the control changing feature.
If you press anykey when the controlset value is higher than 0, it will bind the control variables (global.leftkey, rightkey, upkey, downkey, and botton.) to the lastest key you have pressed.
Keyboard_string need to be reseted after binding it, so it won't overlap when changing other keys.
If you pressed shift for button in the control changing mode, you can start the game or fire laser by pressing shift.