CVS: rdesktop xkeymap.c,1.89,1.90

Peter Åstrand <[email protected]> Fri, 07 Apr 2006 15:17:16 -0700
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17123

Modified Files:
	xkeymap.c 
Log Message:
Only release Shift if non-physical shift plus Ctrl is pressed; 
not if CapsLock is active. This should solve bug 1228691.


Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -C2 -d -r1.89 -r1.90
*** xkeymap.c	27 Mar 2006 08:17:33 -0000	1.89
--- xkeymap.c	7 Apr 2006 22:17:14 -0000	1.90
***************
*** 630,640 ****
  			}
  
! 			if ((tr.modifiers & MapLeftShiftMask)
! 			    && ((remote_modifier_state & MapLeftCtrlMask)
! 				|| (remote_modifier_state & MapRightCtrlMask))
! 			    && get_key_state(state, XK_Caps_Lock))
  			{
! 				DEBUG_KBD(("CapsLock + Ctrl pressed, releasing LeftShift\n"));
! 				tr.modifiers ^= MapLeftShiftMask;
  			}
  
--- 630,645 ----
  			}
  
! 			/* Windows interprets CapsLock+Ctrl+key
! 			   differently from Shift+Ctrl+key. Since we
! 			   are simulating CapsLock with Shifts, things
! 			   like Ctrl+f with CapsLock on breaks. To
! 			   solve this, we are releasing Shift if Ctrl
! 			   is on, but only if Shift isn't physically pressed. */
! 			if (MASK_HAS_BITS(tr.modifiers, MapShiftMask)
! 			    && MASK_HAS_BITS(remote_modifier_state, MapCtrlMask)
! 			    && !MASK_HAS_BITS(state, ShiftMask))
  			{
! 				DEBUG_KBD(("Non-physical Shift + Ctrl pressed, releasing Shift\n"));
! 				MASK_REMOVE_BITS(tr.modifiers, MapShiftMask);
  			}
  



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642