Original Post
it's working fine most of the time - if I keep a key down then of course I can poll and find out it's down and say move the player. However, I'm having a real anoying problem: In my game the player has a machine gun. When the 'M' key is down the machine gun should fire all the while the M key is down. What is actually happening is that it fires once and won't fire again until I release the key and press it down again. Which is really annoying - and not realistic. Any ideas ? I only have this problem with the fire bullets and not speed up/speed down/move up/down etc //this is how I check the key down if (inputSystem->KeyDown(DIK_M)) OnKeyDown(VK_NUMPAD1); //this is what I do with it case VK_NUMPAD1: //fire bullets gameWorld->player->FireBullet(); //thisis the fire bullet func CurrentTime = GetTickCount(); if ((CurrentTime - bulletTime) > (float)TIME_BETWEEN_BULLETS) { sound->FireMachineGun(); //do collisions }