Changeset 3327 for code/trunk/src/core/input/KeyBinder.h
- Timestamp:
- Jul 19, 2009, 5:31:02 PM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/core4 merged: 3269,3271-3275,3278,3285,3290-3294,3310
- Property svn:mergeinfo changed
-
code/trunk/src/core/input/KeyBinder.h
r3196 r3327 36 36 #define _KeyBinder_H__ 37 37 38 #include " core/CorePrereqs.h"38 #include "InputPrereqs.h" 39 39 40 40 #include <cassert> … … 42 42 #include <vector> 43 43 44 #include "Input Interfaces.h"44 #include "InputHandler.h" 45 45 #include "Button.h" 46 46 #include "HalfAxis.h" 47 47 #include "InputCommands.h" 48 #include "JoyStick DeviceNumberListener.h"48 #include "JoyStickQuantityListener.h" 49 49 50 50 namespace orxonox … … 55 55 Manages the key bindings. 56 56 */ 57 class _CoreExport KeyBinder : public KeyHandler, public MouseHandler, public JoyStickHandler, 58 public JoyStickDeviceNumberListener 57 class _CoreExport KeyBinder : public InputHandler, public JoyStickQuantityListener 59 58 { 60 59 public: … … 69 68 70 69 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); 75 73 // internal 76 74 void tickHalfAxis(HalfAxis& halfAxis); 77 75 78 76 void buttonThresholdChanged(); 79 // from JoyStick DeviceNumberListener interface80 virtual void JoyStick DeviceNumberChanged(unsigned int value);77 // from JoyStickQuantityListener interface 78 virtual void JoyStickQuantityChanged(const std::vector<JoyStick*>& joyStickList); 81 79 void initialiseJoyStickBindings(); 82 80 void compilePointerLists(); 83 81 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 92 void mouseScrolled 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); 98 96 99 97 protected: // variables 100 98 //! Currently active joy sticks 101 unsigned int numberOfJoySticks_;99 std::vector<JoyStick*> joySticks_; 102 100 103 101 //! Actual key bindings for keys on the keyboard … … 172 170 }; 173 171 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) 204 202 { 205 203 // execute all buffered bindings (additional parameter)
Note: See TracChangeset
for help on using the changeset viewer.