Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
lektor
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Kubat
lektor
Validations
a3fb1207
Vérifiée
Valider
a3fb1207
rédigé
5 years ago
par
Kubat
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
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
!102
Modules
Modifications
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
src/module/module_sdl2.c
+24
-31
24 ajouts, 31 suppressions
src/module/module_sdl2.c
avec
24 ajouts
et
31 suppressions
src/module/module_sdl2.c
+
24
−
31
Voir le fichier @
a3fb1207
...
@@ -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_R
IGHT
)
{
else
if
(
(
event
.
key
.
keysym
.
sym
==
SDLK_R
ETURN
||
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:
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter