Revision: 5082
          http://tigervnc.svn.sourceforge.net/tigervnc/?rev=5082&view=rev
Author:   ossman_
Date:     2013-04-16 09:03:18 +0000 (Tue, 16 Apr 2013)
Log Message:
-----------
Shifted Tab is a generic VNC problem and not specific to just
Core keyboard. Move handling of it to the central code.

Modified Paths:
--------------
    trunk/unix/xserver/hw/vnc/Input.cc
    trunk/unix/xserver/hw/vnc/InputCore.cc

Modified: trunk/unix/xserver/hw/vnc/Input.cc
===================================================================
--- trunk/unix/xserver/hw/vnc/Input.cc  2013-04-15 15:19:12 UTC (rev 5081)
+++ trunk/unix/xserver/hw/vnc/Input.cc  2013-04-16 09:03:18 UTC (rev 5082)
@@ -511,6 +511,22 @@
        }
 
        /*
+        * "Shifted Tab" is a bit of a mess. Some systems have varying,
+        * special keysyms for this symbol. VNC mandates that clients
+        * should always send the plain XK_Tab keysym and the server
+        * should deduce the meaning based on current Shift state.
+        * To comply with this, we will find the keycode that sends
+        * XK_Tab, and make sure that Shift isn't cleared. This can
+        * possibly result in a different keysym than XK_Tab, but that
+        * is the desired behaviour.
+        *
+        * Note: We never get ISO_Left_Tab here because it's already
+        *       been translated in VNCSConnectionST.
+        */
+       if (keysym == XK_Tab && (state & ShiftMask))
+               new_state |= ShiftMask;
+
+       /*
         * We need a bigger state change than just shift,
         * so we need to know what the mask is for level 3 shifts.
         */

Modified: trunk/unix/xserver/hw/vnc/InputCore.cc
===================================================================
--- trunk/unix/xserver/hw/vnc/InputCore.cc      2013-04-15 15:19:12 UTC (rev 
5081)
+++ trunk/unix/xserver/hw/vnc/InputCore.cc      2013-04-16 09:03:18 UTC (rev 
5082)
@@ -441,22 +441,6 @@
                                if (j & 0x2)
                                        *new_state |= mask;
 
-                               /*
-                                * Sort out the "shifted Tab" mess.  If
-                                * we are sent a shifted Tab, generate
-                                * a local shifted Tab regardless of
-                                * what the "shifted Tab" keysym is on
-                                * the local keyboard (it might be Tab,
-                                * ISO_Left_Tab or HP's private BackTab
-                                * keysym, and quite possibly some
-                                * others too). We never get
-                                * ISO_Left_Tab here because it's
-                                * already been translated in
-                                * VNCSConnectionST.
-                                */
-                               if (keysym == XK_Tab && (state & ShiftMask))
-                                       *new_state |= ShiftMask;
-
                                return i;
                        }
                }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Tigervnc-commits mailing list
Tigervnc-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-commits

Reply via email to