If you shoot eg. laser and want to switch to machinegun and press machinegun button just before the 0.7 second delay between rifle shots has passed, you don't get machinegun. It should be: it should remember what weapon you want and switch to it when possible, so you can eg. shoot laser, press machinegun button and hold fire button and when 0.7 second pass, you'll shoot machinegun.
Also you must remember that grenade can be either 2 or 3 or 4, it's better to make grenade always 4.