[Spice-commits] src/spice-util.c

Frediano Ziglio fziglio at kemper.freedesktop.org
Tue Jul 26 11:45:39 UTC 2016


 src/spice-util.c |   20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

New commits:
commit 7aa0a2098ba9e57c870f46d415d775ad0d6d75d7
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Mon Jul 25 21:48:03 2016 +0100

    Support more extension codes
    
    Not only E0 prefix but also E1 and E2.
    They are used in some special cases, one is the pause key.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Pavel Grunt <pgrunt at redhat.com>

diff --git a/src/spice-util.c b/src/spice-util.c
index bca3abc..81a66fd 100644
--- a/src/spice-util.c
+++ b/src/spice-util.c
@@ -23,6 +23,7 @@
 #include <string.h>
 #include <glib.h>
 #include <glib-object.h>
+#include <spice/macros.h>
 #include "spice-util-priv.h"
 #include "spice-util.h"
 #include "spice-util-priv.h"
@@ -269,19 +270,12 @@ guint16 spice_make_scancode(guint scancode, gboolean release)
     SPICE_DEBUG("%s: %s scancode %u",
                 __FUNCTION__, release ? "release" : "", scancode);
 
-    if (release) {
-        if (scancode < 0x100)
-            return scancode | 0x80;
-        else
-            return 0x80e0 | ((scancode - 0x100) << 8);
-    } else {
-        if (scancode < 0x100)
-            return scancode;
-        else
-            return 0xe0 | ((scancode - 0x100) << 8);
-    }
-
-    g_return_val_if_reached(0);
+    scancode &= 0x37f;
+    if (release)
+        scancode |= 0x80;
+    if (scancode < 0x100)
+        return scancode;
+    return SPICE_BYTESWAP16(0xe000 | (scancode - 0x100));
 }
 
 typedef enum {


More information about the Spice-commits mailing list