gst-play: Handle KeyDown event instead of KeyUp on Win32 keyboard handler
authorSeungha Yang <seungha.yang@navercorp.com>
Fri, 27 Sep 2019 11:08:39 +0000 (20:08 +0900)
committerSeungha Yang <seungha.yang@navercorp.com>
Tue, 19 Nov 2019 08:48:26 +0000 (17:48 +0900)
To handle long press case, KeyDown input should be handled instead of KeyUp.
Note that OS will take care of the sensitivity of KeyDown event, so we can safely
assume one KeyDown as one input. That will not break user experience.

tools/gst-play-kb.c

index 8d08758..9c6cf43 100644 (file)
@@ -155,7 +155,7 @@ gst_play_kb_source_cb (Win32KeyHandler * handler)
   if (PeekConsoleInput (h_input, &buffer, 1, &n) && n == 1) {
     ReadConsoleInput (h_input, &buffer, 1, &n);
 
-    if (buffer.EventType == KEY_EVENT && !buffer.Event.KeyEvent.bKeyDown) {
+    if (buffer.EventType == KEY_EVENT && buffer.Event.KeyEvent.bKeyDown) {
       gchar key_val[2] = { 0 };
 
       switch (buffer.Event.KeyEvent.wVirtualKeyCode) {