rex-core/src/linux/window.cpp
// internal function that map between xcb_keycode_t and MP_KEY enum
internal function that map between xcb_keycode_t and MP_KEY enum
internal function that map between xcb_keycode_t and MP_KEY enum
static KEY
	_key_from_xcb_keycode(IWindow* self, xcb_keycode_t keycode)
	{
		xcb_keysym_t key = xcb_key_symbols_get_keysym(self->key_symbols, keycode, 0);
		switch (key)
		{
			case '0': return KEY_0;
			case '1': return KEY_1;
			case '2': return KEY_2;
			case '3': return KEY_3;
			case '4': return KEY_4;
			case '5': return KEY_5;
			case '6': return KEY_6;
			case '7': return KEY_7;
			case '8': return KEY_8;
			case '9': return KEY_9;
			case 'a': return KEY_A;
			case 'b': return KEY_B;
			case 'c': return KEY_C;
			case 'd': return KEY_D;
			case 'e': return KEY_E;
			case 'f': return KEY_F;
			case 'g': return KEY_G;
			case 'h': return KEY_H;
			case 'i': return KEY_I;
			case 'j': return KEY_J;
			case 'k': return KEY_K;
			case 'l': return KEY_L;
			case 'm': return KEY_M;
			case 'n': return KEY_N;
			case 'o': return KEY_O;
			case 'p': return KEY_P;
			case 'q': return KEY_Q;
			case 'r': return KEY_R;
			case 's': return KEY_S;
			case 't': return KEY_T;
			case 'u': return KEY_U;
			case 'v': return KEY_V;
			case 'w': return KEY_W;
			case 'x': return KEY_X;
			case 'y': return KEY_Y;
			case 'z': return KEY_Z;
			case XK_Return: return KEY_ENTER;
			case XK_Escape: return KEY_ESCAPE;
			case XK_space: return KEY_SPACE;
			default: return KEY_NONE;
		}
		return KEY_NONE;
	}
static KEY _key_from_xcb_keycode ( IWindow * self , xcb_keycode_t keycode ) { xcb_keysym_t key = xcb_key_symbols_get_keysym ( self -> key_symbols , keycode , 0 ) ; switch ( key ) { case ' ' : return KEY_0 ; case ' ' : return KEY_1 ; case ' ' : return KEY_2 ; case ' ' : return KEY_3 ; case ' ' : return KEY_4 ; case ' ' : return KEY_5 ; case ' ' : return KEY_6 ; case ' ' : return KEY_7 ; case ' ' : return KEY_8 ; case ' ' : return KEY_9 ; case ' ' : return KEY_A ; case ' ' : return KEY_B ; case ' ' : return KEY_C ; case ' ' : return KEY_D ; case ' ' : return KEY_E ; case ' ' : return KEY_F ; case ' ' : return KEY_G ; case ' ' : return KEY_H ; case ' ' : return KEY_I ; case ' ' : return KEY_J ; case ' ' : return KEY_K ; case ' ' : return KEY_L ; case ' ' : return KEY_M ; case ' ' : return KEY_N ; case ' ' : return KEY_O ; case ' ' : return KEY_P ; case ' ' : return KEY_Q ; case ' ' : return KEY_R ; case ' ' : return KEY_S ; case ' ' : return KEY_T ; case ' ' : return KEY_U ; case ' ' : return KEY_V ; case ' ' : return KEY_W ; case ' ' : return KEY_X ; case ' ' : return KEY_Y ; case ' ' : return KEY_Z ; case XK_Return : return KEY_ENTER ; case XK_Escape : return KEY_ESCAPE ; case XK_space : return KEY_SPACE ; default : return KEY_NONE ; } return KEY_NONE ; }
internal function that map between xcb_keycode_t and MP_KEY enum
internal function that map between xcb_keycode_t and MP_KEY enum
// numbers // letters // special keys