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