#include #include #define ESC 27 void command(char* ch) { char buf[1024]; snprintf(buf, 1023, "tvtime-command %s 2>/dev/null >/dev/null", ch); system(buf); } void handle_key(int ch) { switch(ch) { case KEY_DOWN: command("down"); break; case KEY_UP: command("up"); break; case KEY_LEFT: command("left"); break; case KEY_RIGHT: command("right"); break; case 'm': case 'M': command("toggle_mute"); break; case KEY_ENTER: case '\n': command("enter"); break; case '0': command("channel_0"); break; case '1': command("channel_1"); break; case '2': command("channel_2"); break; case '3': command("channel_3"); break; case '4': command("channel_4"); break; case '5': command("channel_5"); break; case '6': command("channel_6"); break; case '7': command("channel_7"); break; case '8': command("channel_8"); break; case '9': command("channel_9"); break; case ' ': command("channel_jump"); break; case 'f': case 'F': command("toggle_fullscreen"); } } int main(int argc, char**argv) { int ch = 0; initscr(); keypad(stdscr, TRUE); noecho(); printw("TvTime - cli\n"); do { move(3,3); printw("%4d", ch); // clear(); ch = getch(); handle_key(ch); } while (ch != ESC); endwin(); return 0; }