Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2015-02-08 21:51:53 +0000
committerStijn Buys <ingar@osirion.org>2015-02-08 21:51:53 +0000
commit77d877160d5c3b8a7e9c30e81bd6ca1f4060b5f9 (patch)
tree7e3c8de8f0aeea2e03b086b5ff1a3c7b60892e25 /src/client/control.h
parent4fdf7de0f1454966754bb22d1828fc2b69c172f4 (diff)
Added a menu to configure key controls.
Diffstat (limited to 'src/client/control.h')
-rw-r--r--src/client/control.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/client/control.h b/src/client/control.h
new file mode 100644
index 0000000..bf30418
--- /dev/null
+++ b/src/client/control.h
@@ -0,0 +1,53 @@
+/*
+ client/control.h
+ This file is part of the Osirion project and is distributed under
+ the terms and conditions of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_CLIENT_CONTROL_H__
+#define __INCLUDED_CLIENT_CONTROL_H__
+
+#include <string>
+
+namespace client
+{
+
+/**
+ * @brief a client key control.
+ * A Control maps commands to key names
+ */
+class Control
+{
+public:
+ Control(const char *name, const char *command, const char * keyname = 0);
+ ~Control();
+
+ inline const std::string &name() const
+ {
+ return _name;
+ }
+
+ inline const std::string & command() const
+ {
+ return _command;
+ }
+
+ inline const std::string & keyname() const
+ {
+ return _keyname;
+ }
+
+ inline void set_keyname(const std::string &keyname)
+ {
+ _keyname.assign(keyname);
+ }
+
+private:
+ std::string _name;
+ std::string _command;
+ std::string _keyname;
+};
+
+} // namespace client
+
+#endif // __INCLUDED_CLIENT_CONTROL_H__