]> source.dussan.org Git - tigervnc.git/commitdiff
Allow XK_Scroll_Lock when LED state isn't supported
authorPierre Ossman <ossman@cendio.se>
Fri, 3 Jan 2020 12:46:54 +0000 (13:46 +0100)
committerPierre Ossman <ossman@cendio.se>
Fri, 3 Jan 2020 12:46:54 +0000 (13:46 +0100)
Otherwise such clients cannot use Scroll Lock at all, and that is
probably worse than any effects we might get from getting out of sync.

common/rfb/VNCSConnectionST.cxx
vncviewer/CConn.cxx

index cdd87b135db4ad46047102dc0866861961634b46..5d2d4b1366b46a3fac6a2ee41c72b5287f3bc4df 100644 (file)
@@ -519,8 +519,7 @@ void VNCSConnectionST::keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down) {
   // Avoid lock keys if we don't know the server state
   if ((server->getLEDState() == ledUnknown) &&
       ((keysym == XK_Caps_Lock) ||
-       (keysym == XK_Num_Lock) ||
-       (keysym == XK_Scroll_Lock))) {
+       (keysym == XK_Num_Lock))) {
     vlog.debug("Ignoring lock key (e.g. caps lock)");
     return;
   }
@@ -528,13 +527,6 @@ void VNCSConnectionST::keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down) {
   // Lock key heuristics
   // (only for clients that do not support the LED state extension)
   if (!client.supportsLEDState()) {
-    // Always ignore ScrollLock as we don't have a heuristic
-    // for that
-    if (keysym == XK_Scroll_Lock) {
-      vlog.debug("Ignoring lock key (e.g. caps lock)");
-      return;
-    }
-
     if (down && (server->getLEDState() != ledUnknown)) {
       // CapsLock synchronisation heuristic
       // (this assumes standard interaction between CapsLock the Shift
index eba5dd34d1e395817a01e737ed98090a4c4d46e5..234564f60ad4d63fb61f220ac4288f8859298220 100644 (file)
@@ -82,7 +82,7 @@ CConn::CConn(const char* vncServerName, network::Socket* socket=NULL)
 
   supportsLocalCursor = true;
   supportsDesktopResize = true;
-  supportsLEDState = true;
+  supportsLEDState = false;
 
   if (customCompressLevel)
     setCompressLevel(::compressLevel);