qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active
@ 2015-12-05 12:31 Jindřich Makovička
  2016-01-11 12:32 ` Markus Armbruster
  0 siblings, 1 reply; 5+ messages in thread
From: Jindřich Makovička @ 2015-12-05 12:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jindřich Makovička

[-- Attachment #1: Type: text/plain, Size: 496 bytes --]

Hi,

some years ago, I submitted a patch improving the mouse response in SDL
ui, but it got lost under the sands of time. Here is an updated version
for both SDL and SDL2 frontends.

With the change applied, when the gui receives a keyboard or mouse
event, it shortens the gui refresh interval to 10ms instead of 30ms for
next ~60ms. This results in a much better experience when using a mouse
- similar to the "real" desktop.

Please Cc:, I am not a subscriber.

Regards,
-- 
Jindrich Makovicka

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-sdl-shorten-the-GUI-refresh-interval-when-mouse-or-k.patch --]
[-- Type: text/x-patch, Size: 5077 bytes --]

From c747a56164a9d4289eae71c653431d8f6fd688e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jind=C5=99ich=20Makovi=C4=8Dka?= <makovick@gmail.com>
Date: Sat, 5 Dec 2015 13:28:22 +0100
Subject: [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard
 is active
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
---
 ui/sdl.c  | 22 ++++++++++++++++++++++
 ui/sdl2.c | 24 ++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

diff --git a/ui/sdl.c b/ui/sdl.c
index 570cb99..aef237a 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -60,6 +60,11 @@ static SDL_Cursor *guest_sprite = NULL;
 static SDL_PixelFormat host_format;
 static int scaling_active = 0;
 static Notifier mouse_mode_notifier;
+static int idle_counter;
+
+#define SDL_REFRESH_INTERVAL_BUSY 10
+#define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
+                            / SDL_REFRESH_INTERVAL_BUSY + 1)
 
 #if 0
 #define DEBUG_SDL
@@ -802,6 +807,7 @@ static void handle_activation(SDL_Event *ev)
 static void sdl_refresh(DisplayChangeListener *dcl)
 {
     SDL_Event ev1, *ev = &ev1;
+    int idle = 1;
 
     if (last_vm_running != runstate_is_running()) {
         last_vm_running = runstate_is_running();
@@ -817,9 +823,11 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             sdl_update(dcl, 0, 0, real_screen->w, real_screen->h);
             break;
         case SDL_KEYDOWN:
+            idle = 0;
             handle_keydown(ev);
             break;
         case SDL_KEYUP:
+            idle = 0;
             handle_keyup(ev);
             break;
         case SDL_QUIT:
@@ -829,10 +837,12 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             }
             break;
         case SDL_MOUSEMOTION:
+            idle = 0;
             handle_mousemotion(ev);
             break;
         case SDL_MOUSEBUTTONDOWN:
         case SDL_MOUSEBUTTONUP:
+            idle = 0;
             handle_mousebutton(ev);
             break;
         case SDL_ACTIVEEVENT:
@@ -847,6 +857,18 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             break;
         }
     }
+
+    if (idle) {
+        if (idle_counter < SDL_MAX_IDLE_COUNT) {
+            idle_counter++;
+            if (idle_counter >= SDL_MAX_IDLE_COUNT) {
+                dcl->update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
+            }
+        }
+    } else {
+        idle_counter = 0;
+        dcl->update_interval = SDL_REFRESH_INTERVAL_BUSY;
+    }
 }
 
 static void sdl_mouse_warp(DisplayChangeListener *dcl,
diff --git a/ui/sdl2.c b/ui/sdl2.c
index 5cb75aa..8f0fceb 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -48,6 +48,11 @@ static int guest_cursor;
 static int guest_x, guest_y;
 static SDL_Cursor *guest_sprite;
 static Notifier mouse_mode_notifier;
+static int idle_counter;
+
+#define SDL2_REFRESH_INTERVAL_BUSY 10
+#define SDL2_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
+                             / SDL2_REFRESH_INTERVAL_BUSY + 1)
 
 static void sdl_update_caption(struct sdl2_console *scon);
 
@@ -578,6 +583,7 @@ static void handle_windowevent(SDL_Event *ev)
 void sdl2_poll_events(struct sdl2_console *scon)
 {
     SDL_Event ev1, *ev = &ev1;
+    int idle = 1;
 
     if (scon->last_vm_running != runstate_is_running()) {
         scon->last_vm_running = runstate_is_running();
@@ -587,12 +593,15 @@ void sdl2_poll_events(struct sdl2_console *scon)
     while (SDL_PollEvent(ev)) {
         switch (ev->type) {
         case SDL_KEYDOWN:
+            idle = 0;
             handle_keydown(ev);
             break;
         case SDL_KEYUP:
+            idle = 0;
             handle_keyup(ev);
             break;
         case SDL_TEXTINPUT:
+            idle = 0;
             handle_textinput(ev);
             break;
         case SDL_QUIT:
@@ -602,13 +611,16 @@ void sdl2_poll_events(struct sdl2_console *scon)
             }
             break;
         case SDL_MOUSEMOTION:
+            idle = 0;
             handle_mousemotion(ev);
             break;
         case SDL_MOUSEBUTTONDOWN:
         case SDL_MOUSEBUTTONUP:
+            idle = 0;
             handle_mousebutton(ev);
             break;
         case SDL_MOUSEWHEEL:
+            idle = 0;
             handle_mousewheel(ev);
             break;
         case SDL_WINDOWEVENT:
@@ -618,6 +630,18 @@ void sdl2_poll_events(struct sdl2_console *scon)
             break;
         }
     }
+
+    if (idle) {
+        if (idle_counter < SDL2_MAX_IDLE_COUNT) {
+            idle_counter++;
+            if (idle_counter >= SDL2_MAX_IDLE_COUNT) {
+                scon->dcl.update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
+            }
+        }
+    } else {
+        idle_counter = 0;
+        scon->dcl.update_interval = SDL2_REFRESH_INTERVAL_BUSY;
+    }
 }
 
 static void sdl_mouse_warp(DisplayChangeListener *dcl,
-- 
2.6.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active
  2015-12-05 12:31 [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active Jindřich Makovička
@ 2016-01-11 12:32 ` Markus Armbruster
  2016-01-11 13:10   ` Gerd Hoffmann
  0 siblings, 1 reply; 5+ messages in thread
From: Markus Armbruster @ 2016-01-11 12:32 UTC (permalink / raw)
  To: Jindřich Makovička; +Cc: qemu-devel, Gerd Hoffmann

Copying maintainer.  You can find people to copy by feeding your patch
to scripts/get_maintainer.pl.

Jindřich Makovička <makovick@gmail.com> writes:

> Hi,
>
> some years ago, I submitted a patch improving the mouse response in SDL
> ui, but it got lost under the sands of time. Here is an updated version
> for both SDL and SDL2 frontends.
>
> With the change applied, when the gui receives a keyboard or mouse
> event, it shortens the gui refresh interval to 10ms instead of 30ms for
> next ~60ms. This results in a much better experience when using a mouse
> - similar to the "real" desktop.
>
> Please Cc:, I am not a subscriber.
>
> Regards,
> -- 
> Jindrich Makovicka
>
> From c747a56164a9d4289eae71c653431d8f6fd688e0 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Jind=C5=99ich=20Makovi=C4=8Dka?= <makovick@gmail.com>
> Date: Sat, 5 Dec 2015 13:28:22 +0100
> Subject: [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard
>  is active
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Signed-off-by: Jindřich Makovička <makovick@gmail.com>
> ---
>  ui/sdl.c  | 22 ++++++++++++++++++++++
>  ui/sdl2.c | 24 ++++++++++++++++++++++++
>  2 files changed, 46 insertions(+)
>
> diff --git a/ui/sdl.c b/ui/sdl.c
> index 570cb99..aef237a 100644
> --- a/ui/sdl.c
> +++ b/ui/sdl.c
> @@ -60,6 +60,11 @@ static SDL_Cursor *guest_sprite = NULL;
>  static SDL_PixelFormat host_format;
>  static int scaling_active = 0;
>  static Notifier mouse_mode_notifier;
> +static int idle_counter;
> +
> +#define SDL_REFRESH_INTERVAL_BUSY 10
> +#define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
> +                            / SDL_REFRESH_INTERVAL_BUSY + 1)
>  
>  #if 0
>  #define DEBUG_SDL
> @@ -802,6 +807,7 @@ static void handle_activation(SDL_Event *ev)
>  static void sdl_refresh(DisplayChangeListener *dcl)
>  {
>      SDL_Event ev1, *ev = &ev1;
> +    int idle = 1;
>  
>      if (last_vm_running != runstate_is_running()) {
>          last_vm_running = runstate_is_running();
> @@ -817,9 +823,11 @@ static void sdl_refresh(DisplayChangeListener *dcl)
>              sdl_update(dcl, 0, 0, real_screen->w, real_screen->h);
>              break;
>          case SDL_KEYDOWN:
> +            idle = 0;
>              handle_keydown(ev);
>              break;
>          case SDL_KEYUP:
> +            idle = 0;
>              handle_keyup(ev);
>              break;
>          case SDL_QUIT:
> @@ -829,10 +837,12 @@ static void sdl_refresh(DisplayChangeListener *dcl)
>              }
>              break;
>          case SDL_MOUSEMOTION:
> +            idle = 0;
>              handle_mousemotion(ev);
>              break;
>          case SDL_MOUSEBUTTONDOWN:
>          case SDL_MOUSEBUTTONUP:
> +            idle = 0;
>              handle_mousebutton(ev);
>              break;
>          case SDL_ACTIVEEVENT:
> @@ -847,6 +857,18 @@ static void sdl_refresh(DisplayChangeListener *dcl)
>              break;
>          }
>      }
> +
> +    if (idle) {
> +        if (idle_counter < SDL_MAX_IDLE_COUNT) {
> +            idle_counter++;
> +            if (idle_counter >= SDL_MAX_IDLE_COUNT) {
> +                dcl->update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
> +            }
> +        }
> +    } else {
> +        idle_counter = 0;
> +        dcl->update_interval = SDL_REFRESH_INTERVAL_BUSY;
> +    }
>  }
>  
>  static void sdl_mouse_warp(DisplayChangeListener *dcl,
> diff --git a/ui/sdl2.c b/ui/sdl2.c
> index 5cb75aa..8f0fceb 100644
> --- a/ui/sdl2.c
> +++ b/ui/sdl2.c
> @@ -48,6 +48,11 @@ static int guest_cursor;
>  static int guest_x, guest_y;
>  static SDL_Cursor *guest_sprite;
>  static Notifier mouse_mode_notifier;
> +static int idle_counter;
> +
> +#define SDL2_REFRESH_INTERVAL_BUSY 10
> +#define SDL2_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
> +                             / SDL2_REFRESH_INTERVAL_BUSY + 1)
>  
>  static void sdl_update_caption(struct sdl2_console *scon);
>  
> @@ -578,6 +583,7 @@ static void handle_windowevent(SDL_Event *ev)
>  void sdl2_poll_events(struct sdl2_console *scon)
>  {
>      SDL_Event ev1, *ev = &ev1;
> +    int idle = 1;
>  
>      if (scon->last_vm_running != runstate_is_running()) {
>          scon->last_vm_running = runstate_is_running();
> @@ -587,12 +593,15 @@ void sdl2_poll_events(struct sdl2_console *scon)
>      while (SDL_PollEvent(ev)) {
>          switch (ev->type) {
>          case SDL_KEYDOWN:
> +            idle = 0;
>              handle_keydown(ev);
>              break;
>          case SDL_KEYUP:
> +            idle = 0;
>              handle_keyup(ev);
>              break;
>          case SDL_TEXTINPUT:
> +            idle = 0;
>              handle_textinput(ev);
>              break;
>          case SDL_QUIT:
> @@ -602,13 +611,16 @@ void sdl2_poll_events(struct sdl2_console *scon)
>              }
>              break;
>          case SDL_MOUSEMOTION:
> +            idle = 0;
>              handle_mousemotion(ev);
>              break;
>          case SDL_MOUSEBUTTONDOWN:
>          case SDL_MOUSEBUTTONUP:
> +            idle = 0;
>              handle_mousebutton(ev);
>              break;
>          case SDL_MOUSEWHEEL:
> +            idle = 0;
>              handle_mousewheel(ev);
>              break;
>          case SDL_WINDOWEVENT:
> @@ -618,6 +630,18 @@ void sdl2_poll_events(struct sdl2_console *scon)
>              break;
>          }
>      }
> +
> +    if (idle) {
> +        if (idle_counter < SDL2_MAX_IDLE_COUNT) {
> +            idle_counter++;
> +            if (idle_counter >= SDL2_MAX_IDLE_COUNT) {
> +                scon->dcl.update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
> +            }
> +        }
> +    } else {
> +        idle_counter = 0;
> +        scon->dcl.update_interval = SDL2_REFRESH_INTERVAL_BUSY;
> +    }
>  }
>  
>  static void sdl_mouse_warp(DisplayChangeListener *dcl,

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active
  2016-01-11 12:32 ` Markus Armbruster
@ 2016-01-11 13:10   ` Gerd Hoffmann
  2016-01-12 19:38     ` Jindřich Makovička
  0 siblings, 1 reply; 5+ messages in thread
From: Gerd Hoffmann @ 2016-01-11 13:10 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Jindřich Makovička, qemu-devel

  Hi,

For SDL2 this ...

> > +static int idle_counter;

... should be store in ...

> >  void sdl2_poll_events(struct sdl2_console *scon)

... sdl2_console, otherwise it will not work as intended in case
multiple windows are present.

Otherwise looks fine to me.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active
  2016-01-11 13:10   ` Gerd Hoffmann
@ 2016-01-12 19:38     ` Jindřich Makovička
  2016-01-26 14:26       ` Gerd Hoffmann
  0 siblings, 1 reply; 5+ messages in thread
From: Jindřich Makovička @ 2016-01-12 19:38 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 441 bytes --]

Hi Gerd,

On Mon, 11 Jan 2016 14:10:16 +0100
Gerd Hoffmann <kraxel@redhat.com> wrote:

>   Hi,
> 
> For SDL2 this ...
> 
> > > +static int idle_counter;  
> 
> ... should be store in ...
> 
> > >  void sdl2_poll_events(struct sdl2_console *scon)  
> 
> ... sdl2_console, otherwise it will not work as intended in case
> multiple windows are present.
> 
> Otherwise looks fine to me.

Updated patch attached.

Regards,
-- 
Jindrich Makovicka

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-sdl-shorten-the-GUI-refresh-interval-when-mouse-or-k.patch --]
[-- Type: text/x-patch, Size: 5496 bytes --]

From 7f01ec81210ea16af33ebacf6a348618570131e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jind=C5=99ich=20Makovi=C4=8Dka?= <makovick@gmail.com>
Date: Tue, 12 Jan 2016 20:18:24 +0100
Subject: [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard
 is active
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
---
 include/ui/sdl2.h |  1 +
 ui/sdl.c          | 22 ++++++++++++++++++++++
 ui/sdl2.c         | 23 +++++++++++++++++++++++
 3 files changed, 46 insertions(+)

diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h
index b7ac38f..3f0b57b 100644
--- a/include/ui/sdl2.h
+++ b/include/ui/sdl2.h
@@ -19,6 +19,7 @@ struct sdl2_console {
     int hidden;
     int opengl;
     int updates;
+    int idle_counter;
     SDL_GLContext winctx;
 #ifdef CONFIG_OPENGL
     ConsoleGLState *gls;
diff --git a/ui/sdl.c b/ui/sdl.c
index c837436..f215fe1 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -60,6 +60,11 @@ static SDL_Cursor *guest_sprite = NULL;
 static SDL_PixelFormat host_format;
 static int scaling_active = 0;
 static Notifier mouse_mode_notifier;
+static int idle_counter;
+
+#define SDL_REFRESH_INTERVAL_BUSY 10
+#define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
+                            / SDL_REFRESH_INTERVAL_BUSY + 1)
 
 #if 0
 #define DEBUG_SDL
@@ -802,6 +807,7 @@ static void handle_activation(SDL_Event *ev)
 static void sdl_refresh(DisplayChangeListener *dcl)
 {
     SDL_Event ev1, *ev = &ev1;
+    int idle = 1;
 
     if (last_vm_running != runstate_is_running()) {
         last_vm_running = runstate_is_running();
@@ -817,9 +823,11 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             sdl_update(dcl, 0, 0, real_screen->w, real_screen->h);
             break;
         case SDL_KEYDOWN:
+            idle = 0;
             handle_keydown(ev);
             break;
         case SDL_KEYUP:
+            idle = 0;
             handle_keyup(ev);
             break;
         case SDL_QUIT:
@@ -829,10 +837,12 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             }
             break;
         case SDL_MOUSEMOTION:
+            idle = 0;
             handle_mousemotion(ev);
             break;
         case SDL_MOUSEBUTTONDOWN:
         case SDL_MOUSEBUTTONUP:
+            idle = 0;
             handle_mousebutton(ev);
             break;
         case SDL_ACTIVEEVENT:
@@ -847,6 +857,18 @@ static void sdl_refresh(DisplayChangeListener *dcl)
             break;
         }
     }
+
+    if (idle) {
+        if (idle_counter < SDL_MAX_IDLE_COUNT) {
+            idle_counter++;
+            if (idle_counter >= SDL_MAX_IDLE_COUNT) {
+                dcl->update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
+            }
+        }
+    } else {
+        idle_counter = 0;
+        dcl->update_interval = SDL_REFRESH_INTERVAL_BUSY;
+    }
 }
 
 static void sdl_mouse_warp(DisplayChangeListener *dcl,
diff --git a/ui/sdl2.c b/ui/sdl2.c
index 46270f4..c0a76d7 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -49,6 +49,10 @@ static int guest_x, guest_y;
 static SDL_Cursor *guest_sprite;
 static Notifier mouse_mode_notifier;
 
+#define SDL2_REFRESH_INTERVAL_BUSY 10
+#define SDL2_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
+                             / SDL2_REFRESH_INTERVAL_BUSY + 1)
+
 static void sdl_update_caption(struct sdl2_console *scon);
 
 static struct sdl2_console *get_scon_from_window(uint32_t window_id)
@@ -578,6 +582,7 @@ static void handle_windowevent(SDL_Event *ev)
 void sdl2_poll_events(struct sdl2_console *scon)
 {
     SDL_Event ev1, *ev = &ev1;
+    int idle = 1;
 
     if (scon->last_vm_running != runstate_is_running()) {
         scon->last_vm_running = runstate_is_running();
@@ -587,12 +592,15 @@ void sdl2_poll_events(struct sdl2_console *scon)
     while (SDL_PollEvent(ev)) {
         switch (ev->type) {
         case SDL_KEYDOWN:
+            idle = 0;
             handle_keydown(ev);
             break;
         case SDL_KEYUP:
+            idle = 0;
             handle_keyup(ev);
             break;
         case SDL_TEXTINPUT:
+            idle = 0;
             handle_textinput(ev);
             break;
         case SDL_QUIT:
@@ -602,13 +610,16 @@ void sdl2_poll_events(struct sdl2_console *scon)
             }
             break;
         case SDL_MOUSEMOTION:
+            idle = 0;
             handle_mousemotion(ev);
             break;
         case SDL_MOUSEBUTTONDOWN:
         case SDL_MOUSEBUTTONUP:
+            idle = 0;
             handle_mousebutton(ev);
             break;
         case SDL_MOUSEWHEEL:
+            idle = 0;
             handle_mousewheel(ev);
             break;
         case SDL_WINDOWEVENT:
@@ -618,6 +629,18 @@ void sdl2_poll_events(struct sdl2_console *scon)
             break;
         }
     }
+
+    if (idle) {
+        if (scon->idle_counter < SDL2_MAX_IDLE_COUNT) {
+            scon->idle_counter++;
+            if (scon->idle_counter >= SDL2_MAX_IDLE_COUNT) {
+                scon->dcl.update_interval = GUI_REFRESH_INTERVAL_DEFAULT;
+            }
+        }
+    } else {
+        scon->idle_counter = 0;
+        scon->dcl.update_interval = SDL2_REFRESH_INTERVAL_BUSY;
+    }
 }
 
 static void sdl_mouse_warp(DisplayChangeListener *dcl,
-- 
2.7.0.rc3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active
  2016-01-12 19:38     ` Jindřich Makovička
@ 2016-01-26 14:26       ` Gerd Hoffmann
  0 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2016-01-26 14:26 UTC (permalink / raw)
  To: Jindřich Makovička; +Cc: Markus Armbruster, qemu-devel

On Di, 2016-01-12 at 20:38 +0100, Jindřich Makovička wrote:
> Updated patch attached.

Added to patch queue.

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-26 14:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-05 12:31 [Qemu-devel] [PATCH] sdl: shorten the GUI refresh interval when mouse or keyboard is active Jindřich Makovička
2016-01-11 12:32 ` Markus Armbruster
2016-01-11 13:10   ` Gerd Hoffmann
2016-01-12 19:38     ` Jindřich Makovička
2016-01-26 14:26       ` Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).