Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/lib/event/key_mapper.h @ 5017

Last change on this file since 5017 was 5014, checked in by bensch, 19 years ago

orxonox/trunk: implemented a new kind of ini-parser
this parser first reads the file, and then one can search through without accessing the file anymore

File size: 1.9 KB
Line 
1/*!
2    \file key_mapper.h
3  *  a construct to map player defined keys to SDL keys
4
5*/
6
7#ifndef _KEY_MAPPER_H
8#define _KEY_MAPPER_H
9
10
11#include "base_object.h"
12#include "event_def.h"
13
14class IniParser;
15
16//! A mapping from key-name to key-id
17typedef struct orxKeyMapping
18{
19  int* pValue;
20  char* pName;
21};
22
23
24//! The map class functionalities
25class KeyMapper : public BaseObject {
26
27 public:
28  KeyMapper();
29  virtual ~KeyMapper();
30
31  void loadKeyBindings(const char* fileName = DEFAULT_CONFIG_FILE);
32  void loadKeyBindings(IniParser* iniParser);
33
34  void debug();
35
36 private:
37  int* nameToIndex (const char* name);
38  void mapKeys(const char* name, int keyID);
39
40 public:
41  static int PEV_UP;                //!< up button
42  static int PEV_DOWN;              //!< down buttton
43  static int PEV_LEFT;              //!< left button
44  static int PEV_RIGHT;             //!< right button
45
46  static int PEV_STRAFE_LEFT;       //!< strafe left button
47  static int PEV_STRAFE_RIGHT;      //!< strafe right button
48
49  static int PEV_FIRE1;             //!< fire button 1
50  static int PEV_FIRE2;             //!< fire button 2
51  static int PEV_PREVIOUS_WEAPON;   //!< prev weapon button
52  static int PEV_NEXT_WEAPON;       //!< next weapon button
53
54  static int PEV_VIEW0;             //!< view 0 button
55  static int PEV_VIEW1;             //!< view 1 button
56  static int PEV_VIEW2;             //!< view 2 button
57  static int PEV_VIEW3;             //!< view 3 button
58  static int PEV_VIEW4;             //!< view 4 button
59  static int PEV_VIEW5;             //!< view 5 button
60
61  static int PEV_NEXT_WORLD;        //!< next world button
62  static int PEV_PREVIOUS_WORLD;    //!< prev world button
63
64  static int PEV_PAUSE;             //!< pause button
65  static int PEV_QUIT;              //!< quit button
66
67 private:
68  Sint32     coord[2];              //!< temp place to save variables in nameToIndex() function
69};
70
71
72
73
74#endif /* _KEY_MAPPER_H */
Note: See TracBrowser for help on using the repository browser.