#ifndef MSP_INPUT_KEYS_H_
#define MSP_INPUT_KEYS_H_
+#include <msp/strings/lexicalcast.h>
+
namespace Msp {
namespace Input {
-enum
+enum Key
{
KEY_NONE = 0x00,
N_KEYS_ = 0x100
};
+enum MouseAxis
+{
+ MOUSE_X_AXIS = 0,
+ MOUSE_Y_AXIS,
+};
+
+enum MouseButton
+{
+ MOUSE_LEFT = 1,
+ MOUSE_MIDDLE,
+ MOUSE_RIGHT,
+ MOUSE_WHEEL_UP,
+ MOUSE_WHEEL_DOWN
+};
+
+void operator>>(const LexicalConverter &, Key &);
+void operator<<(LexicalConverter &, Key);
+void operator>>(const LexicalConverter &, MouseAxis &);
+void operator<<(LexicalConverter &, MouseAxis);
+void operator>>(const LexicalConverter &, MouseButton &);
+void operator<<(LexicalConverter &, MouseButton);
+
} // namespace Input
} // namespace Msp