vrshoot

diff src/input.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/input.h	Sat Feb 01 19:58:19 2014 +0200
     1.3 @@ -0,0 +1,69 @@
     1.4 +#ifndef INPUT_H_
     1.5 +#define INPUT_H_
     1.6 +
     1.7 +/// special (non-alpharithmetic/ascii) key enums
     1.8 +enum {
     1.9 +	KEY_PAUSE		= 0xff13,	// XK_Pause
    1.10 +	KEY_SCRLOCK		= 0xff14,	// XK_Scroll_Lock
    1.11 +	KEY_PRINTSCR	= 0xff15,	// XK_Sys_Req
    1.12 +
    1.13 +	KEY_HOME		= 0xff50,	// XK_Home
    1.14 +	KEY_LEFT		= 0xff51,	// XK_Left
    1.15 +	KEY_UP			= 0xff52,	// XK_Up
    1.16 +	KEY_RIGHT		= 0xff53,	// XK_Right
    1.17 +	KEY_DOWN		= 0xff54,	// XK_Down
    1.18 +	KEY_PGUP		= 0xff55,	// XK_Page_Up
    1.19 +	KEY_PGDOWN		= 0xff56,	// XK_Page_Down
    1.20 +	KEY_END			= 0xff57,	// XK_End
    1.21 +
    1.22 +	KEY_INSERT		= 0xff63,	// XK_Insert
    1.23 +
    1.24 +	KEY_F1			= 0xffbe,	// XK_F1
    1.25 +	KEY_F2			= 0xffbf,	// XK_F2
    1.26 +	KEY_F3			= 0xffc0,	// XK_F3
    1.27 +	KEY_F4			= 0xffc1,	// XK_F4
    1.28 +	KEY_F5			= 0xffc2,	// XK_F5
    1.29 +	KEY_F6			= 0xffc3,	// XK_F6
    1.30 +	KEY_F7			= 0xffc4,	// XK_F7
    1.31 +	KEY_F8			= 0xffc5,	// XK_F8
    1.32 +	KEY_F9			= 0xffc6,	// XK_F9
    1.33 +	KEY_F10			= 0xffc7,	// XK_F10
    1.34 +	KEY_F11			= 0xffc8,	// XK_F11
    1.35 +	KEY_F12			= 0xffc9,	// XK_F12
    1.36 +
    1.37 +	KEY_LSHIFT		= 0xffe1,	// XK_Shift_L
    1.38 +	KEY_RSHIFT		= 0xffe2,	// XK_Shift_R
    1.39 +	KEY_LCTRL		= 0xffe3,	// XK_Control_L
    1.40 +	KEY_RCTRL		= 0xffe4,	// XK_Control_R
    1.41 +	KEY_CAPSLOCK	= 0xffe5,	// XK_Caps_Lock
    1.42 +	KEY_SHIFTLOCK	= 0xffe6,	// XK_Shift_Lock
    1.43 +	KEY_LMETA		= 0xffe7,	// XK_Meta_L
    1.44 +	KEY_RMETA		= 0xffe8,	// XK_Meta_R
    1.45 +	KEY_LALT		= 0xffe9,	// XK_Alt_L
    1.46 +	KEY_RALT		= 0xffea,	// XK_Alt_R
    1.47 +
    1.48 +	KEY_DELETE		= 0xffff	// XK_Delete
    1.49 +};
    1.50 +
    1.51 +// aliases
    1.52 +enum {
    1.53 +	KEY_ALT = KEY_LALT,
    1.54 +	KEY_CTRL = KEY_LCTRL,
    1.55 +	KEY_SHIFT = KEY_LSHIFT
    1.56 +};
    1.57 +
    1.58 +void set_key_state(int key, bool state);
    1.59 +bool get_key_state(int key);
    1.60 +
    1.61 +
    1.62 +void set_mouse_state(int x, int y, int bn = -1, bool state = false);
    1.63 +
    1.64 +bool mouse_button(int bn = 0);
    1.65 +
    1.66 +/// are we in the middle of a mouse-drag ? (pressed and moved)
    1.67 +/// only valid between a mouse press and mouse release event
    1.68 +bool mouse_dragging(int bn = 0);
    1.69 +
    1.70 +bool mouse_drag_origin(int bn, int *xorig, int *yorig);
    1.71 +
    1.72 +#endif	// INPUT_H_