Sign in to follow this  
Oni Sephiroth

GetKeyState() problem

Recommended Posts

I'm having some trouble getting GetKeyState() to work properly. I need it to detect letters and numbers, which it's not doing. It detects the enter key, caps lock, shift, tab, etc but nothing for letters and numbers. Here's what I'm doing..

void HVSTInput::CkeyboardTrigger::pollKeys()
{
for (int i = 0; i < 128; i++)
{
_keyboard[i]->setKeyState();
}
}


First there's this, which runs from 0 to 127, checking 128 different "keys."

void HVSTInput::CKey::setKeyState()
{
_previousState = _currentState;
_currentState = GetKeyState(_key);
}


Then this just sets the state of the key using GetKeyState, where _key == i from the loop in pollKeys() method. Now I've looked on MSDN which says to use the ascii value for letters and numbers, which is what I thought I was doing here. Yet, only the keys that I mentioned above are actually triggering.

Share this post


Link to post
Share on other sites
I threw a breakpoint in where I'm actually checking the state of the key. It doesn't break when I press a letter key, but it does for others. I'll look into GetKeyboardState()

Share this post


Link to post
Share on other sites
For numbers make sure you are checking for '9' instead of 9

For letters, if you have been trying lower case, try upper case. If you have been trying upper case try lowercase.

Also there might be some good info here for you (:

http://www.gamedev.net/community/forums/topic.asp?topic_id=24296

Share this post


Link to post
Share on other sites
The loop should cover all of those. The numbers have ASCII values 48 to 57. I suggest a breakpoint in CKey::setKeyState() to see if that triggers when you press a number key. Or some good old-fashioned printf debugging.

Share this post


Link to post
Share on other sites

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

Sign in to follow this