Added new option, SendSysKeys, which controls if Alt-Tab, Alt-F4 and Alt-Space should be handled locally, or sent to the server
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@127 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/CViewOptions.cxx b/vncviewer/CViewOptions.cxx
index 13ad7cd..39a1a5c 100644
--- a/vncviewer/CViewOptions.cxx
+++ b/vncviewer/CViewOptions.cxx
@@ -66,6 +66,8 @@
"Send pointer (mouse) events to the server.", true);
static BoolParameter sendKeyEvents("SendKeyEvents",
"Send key presses (and releases) to the server.", true);
+static BoolParameter sendSysKeys("SendSysKeys",
+ "Send system keys (Alt combinations) to the server.", true);
static BoolParameter clientCutText("ClientCutText",
"Send clipboard changes to the server.", true);
@@ -110,7 +112,7 @@
CViewOptions::CViewOptions()
: useLocalCursor(::useLocalCursor), useDesktopResize(::useDesktopResize),
autoSelect(::autoSelect), fullColour(::fullColour), fullScreen(::fullScreen),
-shared(::sharedConnection), sendPtrEvents(::sendPtrEvents), sendKeyEvents(::sendKeyEvents),
+shared(::sharedConnection), sendPtrEvents(::sendPtrEvents), sendKeyEvents(::sendKeyEvents), sendSysKeys(::sendSysKeys),
preferredEncoding(encodingZRLE), clientCutText(::clientCutText), serverCutText(::serverCutText),
protocol3_3(::protocol3_3), acceptBell(::acceptBell), lowColourLevel(::lowColourLevel),
pointerEventInterval(ptrEventInterval), emulate3(::emulate3), monitor(::monitor.getData()),
@@ -214,6 +216,8 @@
sendPtrEvents = atoi(value.buf);
} else if (stricmp(name.buf, "SendKeyEvents") == 0) {
sendKeyEvents = atoi(value.buf);
+ } else if (stricmp(name.buf, "SendSysKeys") == 0) {
+ sendSysKeys = atoi(value.buf);
} else if (stricmp(name.buf, "SendCutText") == 0) {
clientCutText = atoi(value.buf);
} else if (stricmp(name.buf, "AcceptCutText") == 0) {
@@ -310,6 +314,7 @@
fprintf(f, "Shared=%d\n", (int)shared);
fprintf(f, "SendPtrEvents=%d\n", (int)sendPtrEvents);
fprintf(f, "SendKeyEvents=%d\n", (int)sendKeyEvents);
+ fprintf(f, "SendSysKeys=%d\n", (int)sendSysKeys);
fprintf(f, "SendCutText=%d\n", (int)clientCutText);
fprintf(f, "AcceptCutText=%d\n", (int)serverCutText);
fprintf(f, "Emulate3=%d\n", (int)emulate3);
@@ -344,6 +349,7 @@
key.setBool(_T("Shared"), shared);
key.setBool(_T("SendPointerEvents"), sendPtrEvents);
key.setBool(_T("SendKeyEvents"), sendKeyEvents);
+ key.setBool(_T("SendSysKeys"), sendSysKeys);
key.setBool(_T("ClientCutText"), clientCutText);
key.setBool(_T("ServerCutText"), serverCutText);
key.setBool(_T("Protocol3.3"), protocol3_3);
@@ -399,6 +405,7 @@
shared = o.shared;
sendPtrEvents = o.sendPtrEvents;
sendKeyEvents = o.sendKeyEvents;
+ sendSysKeys = o.sendSysKeys;
clientCutText = o.clientCutText;
serverCutText = o.serverCutText;
emulate3 = o.emulate3;