summaryrefslogtreecommitdiffstats
path: root/src/common/key.h
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-09-19 18:32:18 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-09-19 18:32:18 +0200
commit51884cef8e015bccbe1fa96dc56dc2f32439ccc5 (patch)
tree53974a01650d52101c96dd11da5e2235c61a02d6 /src/common/key.h
parent4a639cf543c15d45a37674d7eadaf09c23c2203d (diff)
downloadcolobot-51884cef8e015bccbe1fa96dc56dc2f32439ccc5.tar.gz
colobot-51884cef8e015bccbe1fa96dc56dc2f32439ccc5.tar.bz2
colobot-51884cef8e015bccbe1fa96dc56dc2f32439ccc5.zip
Input bindings rewrite
- moved input bindings to CRobotMain - added virtual keymod and joystick button key presses - fixed putenv error; other minor fixes
Diffstat (limited to 'src/common/key.h')
-rw-r--r--src/common/key.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/common/key.h b/src/common/key.h
index 1d03a47..11076a3 100644
--- a/src/common/key.h
+++ b/src/common/key.h
@@ -33,3 +33,28 @@
// Key modifier defined as concatenation to KMOD_...
// If need arises, it can be changed to custom function or anything else
#define KEY_MOD(x) KMOD_ ## x
+
+/**
+ * \enum VirtualKmod
+ * \brief Virtual key codes generated on kmod presses
+ *
+ * These are provided here because left and right pair of keys generate different codes.
+ */
+enum VirtualKmod
+{
+ VIRTUAL_KMOD_CTRL = SDLK_LAST + 100, //! < control (left or right)
+ VIRTUAL_KMOD_SHIFT = SDLK_LAST + 101, //! < shift (left or right)
+ VIRTUAL_KMOD_ALT = SDLK_LAST + 102, //! < alt (left or right)
+ VIRTUAL_KMOD_META = SDLK_LAST + 103 //! < win key (left or right)
+};
+
+// Just syntax sugar
+// So it is the same as other macros
+#define VIRTUAL_KMOD(x) VIRTUAL_KMOD_ ## x
+
+// Virtual key code generated on joystick button presses
+// num is number of joystick button
+#define VIRTUAL_JOY(num) (SDLK_LAST + 200 + num)
+
+//! Special value for invalid key bindings
+const unsigned int KEY_INVALID = SDLK_LAST + 1000;