//-----------------------------------------------------------------
WorldInput::WorldInput(WorldMap *world)
    : GameInput(world)
{
    //TODO: 'O' ... options, 'I' ... intro, 'E' ... exit, 'C' ... credits
    KeyDesc key_tab(KEY_TAB, "select next level");
    KeyDesc key_enter(KEY_ENTER, "run selected");

    /* FFNG no shortcuts for android
       TODO replace these keys by buttons or menu
    m_keymap->registerKey(KeyStroke(SDLK_TAB, KMOD_NONE), key_tab);
    m_keymap->registerKey(KeyStroke(SDLK_RETURN, KMOD_NONE), key_enter);
    */
}
//-----------------------------------------------------------------
ConsoleInput::ConsoleInput(KeyConsole *console)
    : StateInput(console)
{
    KeyDesc key_history(KEY_HISTORY, "input history");
    KeyDesc key_backspace(KEY_BACKSPACE, "backspace");
    KeyDesc key_clear(KEY_CLEAR, "clear");
    KeyDesc key_enter(KEY_ENTER, "enter");

    /* FFNG no these keys for console
	   TODO remap these keys to some android buttons (if console will be available)
    m_keymap->registerKey(KeyStroke(SDLK_UP, KMOD_NONE), key_history);
    m_keymap->registerKey(KeyStroke(SDLK_BACKSPACE, KMOD_NONE), key_backspace);
    m_keymap->registerKey(KeyStroke(SDLK_u, KMOD_LCTRL), key_clear);
    m_keymap->registerKey(KeyStroke(SDLK_u, KMOD_RCTRL), key_clear);
    m_keymap->registerKey(KeyStroke(SDLK_RETURN, KMOD_NONE), key_enter);
    */
}
Beispiel #3
0
void
curses_loop()
{
	int key, w_height, w_width;

	notimeout(main_win, true);

	for (;;) {
		getmaxyx(status_win, w_height, w_width);
		mvwprintw(status_win, w_height - 2 , 1, "p - play, s - stop, q - quit");
		wrefresh(status_win);

		key = wgetch(main_win);
		switch (key) {
		case KEY_UP:
			break;
		case 10:	// 10 == ENTER
		case 'p':
			key_enter();
			break;
		case ' ':
			mvwprintw(status_win, 1, 5, "CMD: PAUSE");
			send_pause_command(sock_fd);
			break;
		case 'q':
			mvwprintw(status_win, 1, 5, "CMD: QUIT ");
			send_quit_command(sock_fd);
			wrefresh(status_win);
			return;
		case 's':
			mvwprintw(status_win, 1, 5, "CMD: STOP ");
			send_stop_command(sock_fd);
			break;
		case 68:
			mvwprintw(status_win, 1, 5, "CMD: REV  ");
			send_rev_command(sock_fd);
			break;
		case 67:
			mvwprintw(status_win, 1, 5, "CMD: FF   ");
			send_ff_command(sock_fd);
			break;
		case 66:
			// DOWN - scroll files
			key_down();
			break;
		case 65:
			// UP - scroll files
			key_up();
			break;
		//case 410:
		case KEY_RESIZE:
			resize_windows();
			break;
		default:
			mvwprintw(status_win, 10, 1, "pressed:");
			mvwprintw(status_win, 11, 1, "%3d as '%c'", key, key);
			break;
		}
		wrefresh(status_win);
	}
}