Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>

Index: new/spice-common/spice-protocol/spice/vd_agent.h
===================================================================
--- new.orig/spice-common/spice-protocol/spice/vd_agent.h	2013-10-07 10:51:28.000000000 +0200
+++ new/spice-common/spice-protocol/spice/vd_agent.h	2013-10-07 11:02:39.000000000 +0200
@@ -73,6 +73,7 @@
     VD_AGENT_FILE_XFER_STATUS,
     VD_AGENT_FILE_XFER_DATA,
     VD_AGENT_CLIENT_DISCONNECTED,
+    VD_AGENT_KEYVAL,
     VD_AGENT_END_MESSAGE,
 };
 
@@ -147,6 +148,21 @@
     uint8_t display_id;
 } VDAgentMouseState;
 
+#define VD_AGENT_KEYVAL_FLAG_DOWN (1 << 0)
+#define VD_AGENT_KEYVAL_FLAG_SHIFT (1 << 1)
+#define VD_AGENT_KEYVAL_FLAG_LOCK (1 << 2)
+#define VD_AGENT_KEYVAL_FLAG_CONTROL (1 << 3)
+#define VD_AGENT_KEYVAL_FLAG_MOD1 (1 << 4)
+#define VD_AGENT_KEYVAL_FLAG_MOD2 (1 << 5)
+#define VD_AGENT_KEYVAL_FLAG_MOD3 (1 << 6)
+#define VD_AGENT_KEYVAL_FLAG_MOD4 (1 << 7)
+#define VD_AGENT_KEYVAL_FLAG_MOD5 (1 << 8)
+
+typedef struct SPICE_ATTR_PACKED VDAgentKeyval {
+    uint32_t keyval;
+    uint32_t flags;
+} VDAgentKeyval;
+
 typedef struct SPICE_ATTR_PACKED VDAgentReply {
     uint32_t type;
     uint32_t error;
@@ -209,6 +225,7 @@
     VD_AGENT_CAP_SPARSE_MONITORS_CONFIG,
     VD_AGENT_CAP_GUEST_LINEEND_LF,
     VD_AGENT_CAP_GUEST_LINEEND_CRLF,
+    VD_AGENT_CAP_KEYVAL,
     VD_AGENT_END_CAP,
 };
 

