/[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 121 by matthewc, Sat Sep 14 11:48:44 2002 UTC revision 170 by astrand, Tue Sep 17 08:18:41 2002 UTC
# Line 223  handle_special_keys(KeySym keysym, uint3 Line 223  handle_special_keys(KeySym keysym, uint3
223                  case XK_Break:  /* toggle full screen */                  case XK_Break:  /* toggle full screen */
224                          if (pressed && (get_key_state(XK_Alt_L) || get_key_state(XK_Alt_R)))                          if (pressed && (get_key_state(XK_Alt_L) || get_key_state(XK_Alt_R)))
225                          {                          {
226                                  toggle_fullscreen();                                  xwin_toggle_fullscreen();
227                                  return True;                                  return True;
228                          }                          }
229                          break;                          break;
# Line 289  xkeymap_translate_key(KeySym keysym, uns Line 289  xkeymap_translate_key(KeySym keysym, uns
289          if ((keycode >= min_keycode) && (keycode <= 0x60))          if ((keycode >= min_keycode) && (keycode <= 0x60))
290          {          {
291                  tr.scancode = keycode - min_keycode;                  tr.scancode = keycode - min_keycode;
292    
293                    /* The modifiers to send for this key should be
294                       obtained from the local state. Currently, only
295                       shift is implemented. */
296                    if (state & ShiftMask)
297                    {
298                            tr.modifiers = MapLeftShiftMask;
299                    }
300    
301                  fprintf(stderr, "Sending guessed scancode 0x%x\n", tr.scancode);                  fprintf(stderr, "Sending guessed scancode 0x%x\n", tr.scancode);
302          }          }
303          else          else
# Line 367  ensure_remote_modifiers(uint32 ev_time, Line 376  ensure_remote_modifiers(uint32 ev_time,
376                  {                  {
377                          /* Should not use this modifier. Send up. */                          /* Should not use this modifier. Send up. */
378                          rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LSHIFT);                          rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LSHIFT);
379                            rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RSHIFT);
380                  }                  }
381          }          }
382    
# Line 410  ensure_remote_modifiers(uint32 ev_time, Line 420  ensure_remote_modifiers(uint32 ev_time,
420  }  }
421    
422    
423    void
424    reset_modifier_keys()
425    {
426            /* reset keys */
427            uint32 ev_time;
428            ev_time = time(NULL);
429    
430            if (MASK_HAS_BITS(remote_modifier_state, MapLeftShiftMask) && !get_key_state(XK_Shift_L))
431                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LSHIFT);
432    
433            if (MASK_HAS_BITS(remote_modifier_state, MapRightShiftMask) && !get_key_state(XK_Shift_R))
434                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RSHIFT);
435    
436            if (MASK_HAS_BITS(remote_modifier_state, MapLeftCtrlMask) && !get_key_state(XK_Control_L))
437                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LCTRL);
438    
439            if (MASK_HAS_BITS(remote_modifier_state, MapRightCtrlMask) && !get_key_state(XK_Control_R))
440                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RCTRL);
441    
442            if (MASK_HAS_BITS(remote_modifier_state, MapLeftAltMask) && !get_key_state(XK_Alt_L))
443                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LALT);
444    
445            if (MASK_HAS_BITS(remote_modifier_state, MapRightAltMask) &&
446                !get_key_state(XK_Alt_R) && !get_key_state(XK_Mode_switch))
447                    rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RALT);
448    }
449    
450    
451  static void  static void
452  update_modifier_state(uint16 modifiers, BOOL pressed)  update_modifier_state(uint16 modifiers, BOOL pressed)
453  {  {

Legend:
Removed from v.121  
changed lines
  Added in v.170

  ViewVC Help
Powered by ViewVC 1.1.26