Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 19, 2009, 5:31:02 PM (15 years ago)
Author:
rgrieder
Message:

Merged all remaining revisions from core4 back to the trunk.

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/core/input/KeyBinder.h

    r3196 r3327  
    3636#define _KeyBinder_H__
    3737
    38 #include "core/CorePrereqs.h"
     38#include "InputPrereqs.h"
    3939
    4040#include <cassert>
     
    4242#include <vector>
    4343
    44 #include "InputInterfaces.h"
     44#include "InputHandler.h"
    4545#include "Button.h"
    4646#include "HalfAxis.h"
    4747#include "InputCommands.h"
    48 #include "JoyStickDeviceNumberListener.h"
     48#include "JoyStickQuantityListener.h"
    4949
    5050namespace orxonox
     
    5555        Manages the key bindings.
    5656    */
    57     class _CoreExport KeyBinder : public KeyHandler, public MouseHandler, public JoyStickHandler,
    58                                   public JoyStickDeviceNumberListener
     57    class _CoreExport KeyBinder : public InputHandler, public JoyStickQuantityListener
    5958    {
    6059    public:
     
    6968
    7069    protected: // functions
    71         void updateInput(float dt);
    72         void updateKey(float dt) { }
    73         void updateMouse(float dt);
    74         void updateJoyStick(float dt, unsigned int joyStick);
     70        void allDevicesUpdated(float dt);
     71        void mouseUpdated(float dt);
     72        void joyStickUpdated(unsigned int joyStick, float dt);
    7573        // internal
    7674        void tickHalfAxis(HalfAxis& halfAxis);
    7775
    7876        void buttonThresholdChanged();
    79         // from JoyStickDeviceNumberListener interface
    80         virtual void JoyStickDeviceNumberChanged(unsigned int value);
     77        // from JoyStickQuantityListener interface
     78        virtual void JoyStickQuantityChanged(const std::vector<JoyStick*>& joyStickList);
    8179        void initialiseJoyStickBindings();
    8280        void compilePointerLists();
    8381
    84         void keyPressed (const KeyEvent& evt);
    85         void keyReleased(const KeyEvent& evt);
    86         void keyHeld    (const KeyEvent& evt);
    87 
    88         void mouseButtonPressed (MouseButtonCode::ByEnum id);
    89         void mouseButtonReleased(MouseButtonCode::ByEnum id);
    90         void mouseButtonHeld    (MouseButtonCode::ByEnum id);
    91         void mouseMoved         (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize);
    92         void mouseScrolled      (int abs, int rel);
    93 
    94         void joyStickButtonPressed (unsigned int joyStickID, JoyStickButtonCode::ByEnum id);
    95         void joyStickButtonReleased(unsigned int joyStickID, JoyStickButtonCode::ByEnum id);
    96         void joyStickButtonHeld    (unsigned int joyStickID, JoyStickButtonCode::ByEnum id);
    97         void joyStickAxisMoved     (unsigned int joyStickID, unsigned int axis, float value);
     82        void buttonPressed (const KeyEvent& evt);
     83        void buttonReleased(const KeyEvent& evt);
     84        void buttonHeld    (const KeyEvent& evt);
     85
     86        void buttonPressed (MouseButtonCode::ByEnum button);
     87        void buttonReleased(MouseButtonCode::ByEnum button);
     88        void buttonHeld    (MouseButtonCode::ByEnum button);
     89        void mouseMoved    (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize);
     90        void mouseScrolled (int abs, int rel);
     91
     92        void buttonPressed (unsigned int device, JoyStickButtonCode::ByEnum button);
     93        void buttonReleased(unsigned int device, JoyStickButtonCode::ByEnum button);
     94        void buttonHeld    (unsigned int device, JoyStickButtonCode::ByEnum button);
     95        void axisMoved     (unsigned int device, unsigned int axis, float value);
    9896
    9997    protected: // variables
    10098        //! Currently active joy sticks
    101         unsigned int numberOfJoySticks_;
     99        std::vector<JoyStick*>  joySticks_;
    102100
    103101        //! Actual key bindings for keys on the keyboard
     
    172170    };
    173171
    174     inline void KeyBinder::keyPressed (const KeyEvent& evt)
    175     { assert(!keys_[evt.key].name_.empty()); keys_[evt.key].execute(KeybindMode::OnPress); }
    176 
    177     inline void KeyBinder::keyReleased(const KeyEvent& evt)
    178     { assert(!keys_[evt.key].name_.empty()); keys_[evt.key].execute(KeybindMode::OnRelease); }
    179 
    180     inline void KeyBinder::keyHeld    (const KeyEvent& evt)
    181     { assert(!keys_[evt.key].name_.empty()); keys_[evt.key].execute(KeybindMode::OnHold); }
    182 
    183 
    184     inline void KeyBinder::mouseButtonPressed (MouseButtonCode::ByEnum id)
    185     { mouseButtons_[id].execute(KeybindMode::OnPress); }
    186 
    187     inline void KeyBinder::mouseButtonReleased(MouseButtonCode::ByEnum id)
    188     { mouseButtons_[id].execute(KeybindMode::OnRelease); }
    189 
    190     inline void KeyBinder::mouseButtonHeld    (MouseButtonCode::ByEnum id)
    191     { mouseButtons_[id].execute(KeybindMode::OnHold); }
    192 
    193 
    194     inline void KeyBinder::joyStickButtonPressed (unsigned int joyStickID, JoyStickButtonCode::ByEnum id)
    195     { joyStickButtons_[joyStickID][id].execute(KeybindMode::OnPress); }
    196 
    197     inline void KeyBinder::joyStickButtonReleased(unsigned int joyStickID, JoyStickButtonCode::ByEnum id)
    198     { joyStickButtons_[joyStickID][id].execute(KeybindMode::OnRelease); }
    199 
    200     inline void KeyBinder::joyStickButtonHeld    (unsigned int joyStickID, JoyStickButtonCode::ByEnum id)
    201     { joyStickButtons_[joyStickID][id].execute(KeybindMode::OnHold); }
    202 
    203     inline void KeyBinder::updateInput(float dt)
     172    inline void KeyBinder::buttonPressed (const KeyEvent& evt)
     173    { assert(!keys_[evt.getKeyCode()].name_.empty()); keys_[evt.getKeyCode()].execute(KeybindMode::OnPress); }
     174
     175    inline void KeyBinder::buttonReleased(const KeyEvent& evt)
     176    { assert(!keys_[evt.getKeyCode()].name_.empty()); keys_[evt.getKeyCode()].execute(KeybindMode::OnRelease); }
     177
     178    inline void KeyBinder::buttonHeld    (const KeyEvent& evt)
     179    { assert(!keys_[evt.getKeyCode()].name_.empty()); keys_[evt.getKeyCode()].execute(KeybindMode::OnHold); }
     180
     181
     182    inline void KeyBinder::buttonPressed (MouseButtonCode::ByEnum button)
     183    { mouseButtons_[button].execute(KeybindMode::OnPress); }
     184
     185    inline void KeyBinder::buttonReleased(MouseButtonCode::ByEnum button)
     186    { mouseButtons_[button].execute(KeybindMode::OnRelease); }
     187
     188    inline void KeyBinder::buttonHeld    (MouseButtonCode::ByEnum button)
     189    { mouseButtons_[button].execute(KeybindMode::OnHold); }
     190
     191
     192    inline void KeyBinder::buttonPressed (unsigned int device, JoyStickButtonCode::ByEnum button)
     193    { joyStickButtons_[device][button].execute(KeybindMode::OnPress); }
     194
     195    inline void KeyBinder::buttonReleased(unsigned int device, JoyStickButtonCode::ByEnum button)
     196    { joyStickButtons_[device][button].execute(KeybindMode::OnRelease); }
     197
     198    inline void KeyBinder::buttonHeld    (unsigned int device, JoyStickButtonCode::ByEnum button)
     199    { joyStickButtons_[device][button].execute(KeybindMode::OnHold); }
     200
     201    inline void KeyBinder::allDevicesUpdated(float dt)
    204202    {
    205203        // execute all buffered bindings (additional parameter)
Note: See TracChangeset for help on using the changeset viewer.