Basic support for QEMU Extended Key Events
This adds the basic infrastructure and handshake for the QEMU
Extended Key Events extension. No viewer or server makes use of
the extra functionality yet though.
diff --git a/common/rfb/SMsgHandler.cxx b/common/rfb/SMsgHandler.cxx
index 8e48c67..c38458c 100644
--- a/common/rfb/SMsgHandler.cxx
+++ b/common/rfb/SMsgHandler.cxx
@@ -41,11 +41,13 @@
void SMsgHandler::setEncodings(int nEncodings, const rdr::S32* encodings)
{
- bool firstFence, firstContinuousUpdates, firstLEDState;
+ bool firstFence, firstContinuousUpdates, firstLEDState,
+ firstQEMUKeyEvent;
firstFence = !cp.supportsFence;
firstContinuousUpdates = !cp.supportsContinuousUpdates;
firstLEDState = !cp.supportsLEDState;
+ firstQEMUKeyEvent = !cp.supportsQEMUKeyEvent;
cp.setEncodings(nEncodings, encodings);
@@ -57,6 +59,8 @@
supportsContinuousUpdates();
if (cp.supportsLEDState && firstLEDState)
supportsLEDState();
+ if (cp.supportsQEMUKeyEvent && firstQEMUKeyEvent)
+ supportsQEMUKeyEvent();
}
void SMsgHandler::supportsLocalCursor()
@@ -75,6 +79,10 @@
{
}
+void SMsgHandler::supportsQEMUKeyEvent()
+{
+}
+
void SMsgHandler::setDesktopSize(int fb_width, int fb_height,
const ScreenSet& layout)
{