Jump to content

C++ How to detect multiple key presses, the second one being a JUST pr


Recommended Posts

Hi guys, I'd like to know how to detect multiple keys at the same time, but one being a key down, and the other a key press. So, if I pressed CTRL + N for example, it would do some code, but it wouldn't keep repeating.

I know how to detect a key down (GetAsyncKeyState), but not a key press. I've tried a way that I found, but it didn't work (http://gamedev.stackexchange.com/questions/30826/action-button-only-true-once-per-press (first answer, and I changed some of the code to be GetAsyncKeyState instead of whatever else it was) )

 

And for any of you .NET coders, here is the code I would use in C#. I'd like to basically convert this to C++.

void Test_KeyDown(object sender, GTA.KeyEventArgs e)

{
if (isKeyPressed(Keys.Control) && e.Key == Keys.N)
{
someFunction();
}
}

 

(P.S. I'm a slight noob at C++, so don't get mad at me if I don't understand something)

 

Thanks for your help :)

Edited by LetsPlayOrDy
Jitnaught

what key combination you want detect?

Something like CTRL + N.

 

 

I would use this:

if ( GetKeyState(VK_LCONTROL)<0 && GetKeyState(0x46)<0 ){

For normal letter keys you have to use its virtual key value (google it).

But wouldn't that be a key down? I would just like to detect if CTRL is down and A is pressed.

Edited by LetsPlayOrDy

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.