Skip to content
Extraits de code Groupes Projets
Vérifiée Valider a3fb1207 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Use the 'ctrl' key for sdl shortcuts

parent 8d72f9a4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!102Modules
...@@ -108,6 +108,8 @@ sdl_thread__(struct poller_thread_arg *arg) ...@@ -108,6 +108,8 @@ sdl_thread__(struct poller_thread_arg *arg)
SDL_Event event; SDL_Event event;
uint64_t flags; uint64_t flags;
int w, h, redraw = 0; int w, h, redraw = 0;
bool ctrl = false;
const Uint8 *state;
free(arg); free(arg);
/* Init the SDL window /* Init the SDL window
...@@ -172,24 +174,35 @@ loop: ...@@ -172,24 +174,35 @@ loop:
} }
break; break;
case SDL_KEYDOWN:
if (event.key.keysym.sym == SDLK_LEFT) {
const char *cmd_seek[] = { "seek", "-5", "relative", NULL };
mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_seek);
} else if (event.key.keysym.sym == SDLK_RIGHT) {
const char *cmd_seek[] = { "seek", "+5", "relative", NULL };
mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_seek);
}
break;
case SDL_KEYUP: case SDL_KEYUP:
if (event.key.keysym.sym == SDLK_SPACE) { state = SDL_GetKeyboardState(NULL);
ctrl = state[SDL_SCANCODE_LCTRL] || state[SDL_SCANCODE_RCTRL];
if (ctrl && event.key.keysym.sym == SDLK_SPACE) {
const char *cmd_pause[] = { "cycle", "pause", NULL }; const char *cmd_pause[] = { "cycle", "pause", NULL };
mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_pause); mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_pause);
} }
else if (event.key.keysym.sym == SDLK_RETURN || else if (event.key.keysym.sym == SDLK_n && ctrl)
event.key.keysym.sym == SDLK_RETURN2 ||
event.key.keysym.sym == SDLK_KP_ENTER)
lkt_queue_send(sdl2->queue, lkt_event_play_next, NULL); lkt_queue_send(sdl2->queue, lkt_event_play_next, NULL);
else if (event.key.keysym.sym == SDLK_LEFT) { else if (event.key.keysym.sym == SDLK_p && ctrl)
const char *cmd_seek[] = { "seek", "-5", "relative", NULL }; lkt_queue_send(sdl2->queue, lkt_event_play_prev, NULL);
mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_seek);
} else if (event.key.keysym.sym == SDLK_RIGHT) { else if ((event.key.keysym.sym == SDLK_RETURN ||
const char *cmd_seek[] = { "seek", "+5", "relative", NULL }; event.key.keysym.sym == SDLK_RETURN2 ||
mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_seek); event.key.keysym.sym == SDLK_KP_ENTER) && ctrl)
} lkt_queue_send(sdl2->queue, lkt_event_play_next, NULL);
else if (event.key.keysym.sym == SDLK_F11) { else if (event.key.keysym.sym == SDLK_F11) {
if (sdl2->is_fullscreen) if (sdl2->is_fullscreen)
...@@ -203,26 +216,6 @@ loop: ...@@ -203,26 +216,6 @@ loop:
break; break;
case SDL_TEXTINPUT: case SDL_TEXTINPUT:
if (STR_MATCH(event.text.text, ">"))
lkt_queue_send(sdl2->queue, lkt_event_play_next, NULL);
else if (STR_MATCH(event.text.text, "<"))
lkt_queue_send(sdl2->queue, lkt_event_play_prev, NULL);
else if (STR_MATCH(event.text.text, "i")) {
/*
struct kara_metadata mdt;
int id;
char *str;
if (database_queue_current_kara(sdl2->db, &mdt, &id)) {
mdtcat(&mdt, &str);
const char *cmd[] = { "show-text", str, "4000", NULL };
// Same size, only on 64bit arch...
// FIXME: Do something else in 32bits
mpv_command_async((mpv_handle *) sdl2->mpv,
(uint64_t) str, cmd);
}
*/
} else
LOG_ERROR("WINDOW", "Not handled text '%s'", event.text.text);
break; break;
default: default:
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter