Пример #1
0
int32_t cxAndroid::HandleInput(AInputEvent* event)
{
    int type = AInputEvent_getType(event);
    if(type == AINPUT_EVENT_TYPE_MOTION){
        return HandleMotionInput(event);
    }
    if(type == AINPUT_EVENT_TYPE_KEY){
        return HandleKeyInput(event);
    }
    return 0;    return 0;
}
Пример #2
0
void MGLInput::KeyInputCallBack(GLFWwindow* window, GLuint key, GLuint scancode, GLuint action, GLuint mods) {
	static auto game = static_cast<MGLInput*>(glfwGetWindowUserPointer(window));
	game->HandleKeyInput(key, scancode, MGL::BitShiftLeftEnableZero(action), mods); // GLFW actions -> MGLInputType ButtonActions
}
Пример #3
0
void AllegroApp::HandleEvent(ALLEGRO_EVENT& ev) {
	if(ev.type == ALLEGRO_EVENT_TIMER) {
		HandleKeyInput();
		redraw = true;
	}
	else if(ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) {
		doexit = true;
	}
	else if(ev.type == ALLEGRO_EVENT_KEY_DOWN) {
		switch(ev.keyboard.keycode) {
			case ALLEGRO_KEY_UP:
				key[KEY_UP] = true;
				break;

			case ALLEGRO_KEY_DOWN:
				key[KEY_DOWN] = true;
				break;

			case ALLEGRO_KEY_LEFT: 
				key[KEY_LEFT] = true;
				break;

			case ALLEGRO_KEY_RIGHT:
				key[KEY_RIGHT] = true;
				break;

			case ALLEGRO_KEY_Q: 
				key[KEY_SLEFT] = true;
				break;

			case ALLEGRO_KEY_E:
				key[KEY_SRIGHT] = true;
				break;
		}
	}
	else if(ev.type == ALLEGRO_EVENT_KEY_UP) {
		switch(ev.keyboard.keycode) {
			case ALLEGRO_KEY_UP:
				key[KEY_UP] = false;
				break;

			case ALLEGRO_KEY_DOWN:
				key[KEY_DOWN] = false;
				break;

			case ALLEGRO_KEY_LEFT: 
				key[KEY_LEFT] = false;
				break;

			case ALLEGRO_KEY_RIGHT:
				key[KEY_RIGHT] = false;
				break;

			case ALLEGRO_KEY_ESCAPE:
				doexit = true;
				break;

			case ALLEGRO_KEY_Q:
				key[KEY_SLEFT] = false;
				break;

			case ALLEGRO_KEY_E:
				key[KEY_SRIGHT] = false;
				break;
		}
	}
}