Page 1 of 1

How to find if a key has been released

Posted: Thu Jun 01, 2006 4:09 pm
by Anteater
Hi. How do you find out if a key has been released? I know how to find out if a key has been pressed, but I need to know if it's been released. Here's my event code:

Code: Select all

//events
       class EventR : public IEventReceiver
       {
             public:
                    virtual bool OnEvent(SEvent event)
                    {
                            if (event.EventType == EET_KEY_INPUT_EVENT)
                            {
                                                if (event.KeyInput.Key == KEY_KEY_W)
                                                {
                                                                     walking = true;
                                                }
                                                
                                                
                                                
                                                
                            } return false;
                    }
       };
       
       EventR receiver;
       device->setEventReceiver(&receiver);
As you can see, when W is pressed it sets walking to true, I want to also have it so when W is released it's set to false.
Thanks for any help.

Posted: Thu Jun 01, 2006 4:21 pm
by Jin
This might work:

Code: Select all

//events 
       class EventR : public IEventReceiver 
       { 
             public: 
                    virtual bool OnEvent(SEvent event) 
                    { 
                            if (event.EventType == EET_KEY_INPUT_EVENT) 
                            { 
                                                if (event.KeyInput.Key == KEY_KEY_W) 
                                                {
                                                                     walking = true; 
                                                }
                                                else
                                                {
                                                                    walking = false;
                                                }
                            }
		return false; 
                    } 
       }; 
        
       EventR receiver; 
       device->setEventReceiver(&receiver);

Posted: Thu Jun 01, 2006 4:22 pm
by bitplane
walking = event.KeyInput.PressedDown;

see http://www.irrforge.org/index.php/Keyboard_Input

Posted: Thu Jun 01, 2006 4:36 pm
by Anteater
Thanks.