/[rdesktop]/sourceforge.net/trunk/rdesktop/xkeymap.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/xkeymap.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1217 by astrand, Mon Mar 27 08:17:34 2006 UTC revision 1218 by astrand, Fri Apr 7 22:17:14 2006 UTC
# Line 629  xkeymap_translate_key(uint32 keysym, uns Line 629  xkeymap_translate_key(uint32 keysym, uns
629                                  }                                  }
630                          }                          }
631    
632                          if ((tr.modifiers & MapLeftShiftMask)                          /* Windows interprets CapsLock+Ctrl+key
633                              && ((remote_modifier_state & MapLeftCtrlMask)                             differently from Shift+Ctrl+key. Since we
634                                  || (remote_modifier_state & MapRightCtrlMask))                             are simulating CapsLock with Shifts, things
635                              && get_key_state(state, XK_Caps_Lock))                             like Ctrl+f with CapsLock on breaks. To
636                               solve this, we are releasing Shift if Ctrl
637                               is on, but only if Shift isn't physically pressed. */
638                            if (MASK_HAS_BITS(tr.modifiers, MapShiftMask)
639                                && MASK_HAS_BITS(remote_modifier_state, MapCtrlMask)
640                                && !MASK_HAS_BITS(state, ShiftMask))
641                          {                          {
642                                  DEBUG_KBD(("CapsLock + Ctrl pressed, releasing LeftShift\n"));                                  DEBUG_KBD(("Non-physical Shift + Ctrl pressed, releasing Shift\n"));
643                                  tr.modifiers ^= MapLeftShiftMask;                                  MASK_REMOVE_BITS(tr.modifiers, MapShiftMask);
644                          }                          }
645    
646                          DEBUG_KBD(("Found scancode translation, scancode=0x%x, modifiers=0x%x\n",                          DEBUG_KBD(("Found scancode translation, scancode=0x%x, modifiers=0x%x\n",

Legend:
Removed from v.1217  
changed lines
  Added in v.1218

  ViewVC Help
Powered by ViewVC 1.1.26