00001
00036 #ifndef INC_MGUI_KEYCODE_H
00037 #define INC_MGUI_KEYCODE_H
00038
00039 #ifndef INC_MGUI_BASE_H
00040 #include <mgui/base.h>
00041 #endif
00042
00043 #ifdef X_NATIVE
00044 #include <X11/keysym.h>
00045 #define KC_ITEM(w,x) (x)
00046 #define KC_ITEMENHANCED(w,x) (x)
00047 #else
00048 #define KC_ENHANCEBITS 0x8000
00049 #define KC_ITEM(w,x) (w)
00050 #define KC_ITEMENHANCED(w,x) (w|0x8000)
00051 #endif
00052
00053 namespace MGUI {
00054
00058 enum KEYCODE {
00059
00060 KEYCODE_BackSpace = KC_ITEM(VK_BACK,XK_BackSpace),
00061 KEYCODE_Delete = KC_ITEM(VK_DELETE,XK_Delete),
00062 KEYCODE_Tab = KC_ITEM(VK_TAB,XK_Tab),
00063 KEYCODE_Clear = KC_ITEM(VK_CLEAR,XK_Clear),
00064 KEYCODE_Return = KC_ITEM(VK_RETURN,XK_Return),
00065 KEYCODE_Escape = KC_ITEM(VK_ESCAPE,XK_Escape),
00066 KEYCODE_Pause = KC_ITEM(VK_PAUSE,XK_Pause),
00067
00068
00069 KEYCODE_Select = KC_ITEM(VK_SELECT,XK_Select),
00070 KEYCODE_Help = KC_ITEM(VK_HELP,XK_Help),
00071 KEYCODE_Space = KC_ITEM(VK_SPACE,XK_space),
00072 KEYCODE_Insert = KC_ITEM(VK_INSERT,XK_Insert),
00073
00074
00075 KEYCODE_Home = KC_ITEM(VK_HOME,XK_Home),
00076 KEYCODE_End = KC_ITEM(VK_END,XK_End),
00077 KEYCODE_Left = KC_ITEM(VK_LEFT,XK_Left),
00078 KEYCODE_Right = KC_ITEM(VK_RIGHT,XK_Right),
00079 KEYCODE_Up = KC_ITEM(VK_UP,XK_Up),
00080 KEYCODE_Down = KC_ITEM(VK_DOWN,XK_Down),
00081 KEYCODE_PageUp = KC_ITEM(VK_PRIOR,XK_Prior),
00082 KEYCODE_PageDown = KC_ITEM(VK_NEXT,XK_Next),
00083
00084
00085 KEYCODE_KP_Enter = KC_ITEMENHANCED(VK_RETURN,XK_KP_Enter),
00086 KEYCODE_KP_Home = KC_ITEMENHANCED(VK_HOME,XK_KP_Home),
00087 KEYCODE_KP_Left = KC_ITEMENHANCED(VK_LEFT,XK_KP_Left),
00088 KEYCODE_KP_Up = KC_ITEMENHANCED(VK_UP,XK_KP_Up),
00089 KEYCODE_KP_Right = KC_ITEMENHANCED(VK_RIGHT,XK_KP_Right),
00090 KEYCODE_KP_Down = KC_ITEMENHANCED(VK_DOWN,XK_KP_Down),
00091 KEYCODE_KP_PageUp = KC_ITEMENHANCED(VK_PRIOR,XK_KP_Page_Up),
00092 KEYCODE_KP_PageDown = KC_ITEMENHANCED(VK_NEXT,XK_KP_Page_Down),
00093 KEYCODE_KP_End = KC_ITEMENHANCED(VK_END,XK_KP_End),
00094 KEYCODE_KP_Insert = KC_ITEMENHANCED(VK_INSERT,XK_KP_Insert),
00095 KEYCODE_KP_Delete = KC_ITEMENHANCED(VK_DELETE,XK_KP_Delete),
00096 KEYCODE_KP_Multiply = KC_ITEM(VK_MULTIPLY,XK_KP_Multiply),
00097 KEYCODE_KP_Add = KC_ITEM(VK_ADD,XK_KP_Add),
00098 KEYCODE_KP_Subtract = KC_ITEM(VK_SUBTRACT,XK_KP_Subtract),
00099 KEYCODE_KP_Decimal = KC_ITEM(VK_DECIMAL,XK_KP_Decimal),
00100 KEYCODE_KP_Divide = KC_ITEM(VK_DIVIDE,XK_KP_Divide),
00101
00102 KEYCODE_KP_0 = KC_ITEM(VK_NUMPAD0,XK_KP_0),
00103 KEYCODE_KP_1 = KC_ITEM(VK_NUMPAD1,XK_KP_1),
00104 KEYCODE_KP_2 = KC_ITEM(VK_NUMPAD2,XK_KP_2),
00105 KEYCODE_KP_3 = KC_ITEM(VK_NUMPAD3,XK_KP_3),
00106 KEYCODE_KP_4 = KC_ITEM(VK_NUMPAD4,XK_KP_4),
00107 KEYCODE_KP_5 = KC_ITEM(VK_NUMPAD5,XK_KP_5),
00108 KEYCODE_KP_6 = KC_ITEM(VK_NUMPAD6,XK_KP_6),
00109 KEYCODE_KP_7 = KC_ITEM(VK_NUMPAD7,XK_KP_7),
00110 KEYCODE_KP_8 = KC_ITEM(VK_NUMPAD8,XK_KP_8),
00111 KEYCODE_KP_9 = KC_ITEM(VK_NUMPAD9,XK_KP_9),
00112
00113
00114 KEYCODE_F1 = KC_ITEM(VK_F1,XK_F1),
00115 KEYCODE_F2 = KC_ITEM(VK_F2,XK_F2),
00116 KEYCODE_F3 = KC_ITEM(VK_F3,XK_F3),
00117 KEYCODE_F4 = KC_ITEM(VK_F4,XK_F4),
00118 KEYCODE_F5 = KC_ITEM(VK_F5,XK_F5),
00119 KEYCODE_F6 = KC_ITEM(VK_F6,XK_F6),
00120 KEYCODE_F7 = KC_ITEM(VK_F7,XK_F7),
00121 KEYCODE_F8 = KC_ITEM(VK_F8,XK_F8),
00122 KEYCODE_F9 = KC_ITEM(VK_F9,XK_F9),
00123 KEYCODE_F10 = KC_ITEM(VK_F10,XK_F10),
00124 KEYCODE_F11 = KC_ITEM(VK_F11,XK_F11),
00125 KEYCODE_F12 = KC_ITEM(VK_F12,XK_F12),
00126 KEYCODE_F13 = KC_ITEM(VK_F13,XK_F13),
00127 KEYCODE_F14 = KC_ITEM(VK_F14,XK_F14),
00128 KEYCODE_F15 = KC_ITEM(VK_F15,XK_F15),
00129 KEYCODE_F16 = KC_ITEM(VK_F16,XK_F16),
00130 KEYCODE_F17 = KC_ITEM(VK_F17,XK_F17),
00131 KEYCODE_F18 = KC_ITEM(VK_F18,XK_F18),
00132 KEYCODE_F19 = KC_ITEM(VK_F19,XK_F19),
00133 KEYCODE_F20 = KC_ITEM(VK_F20,XK_F20),
00134 KEYCODE_F21 = KC_ITEM(VK_F21,XK_F21),
00135 KEYCODE_F22 = KC_ITEM(VK_F22,XK_F22),
00136 KEYCODE_F23 = KC_ITEM(VK_F23,XK_F23),
00137 KEYCODE_F24 = KC_ITEM(VK_F24,XK_F24),
00138
00139 };
00140
00143
00144 }
00145
00146 #undef KC_ITEM
00147
00148 #endif // INC_MGUI_KEYCODE_H