/[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 216 by matthewc, Tue Oct 8 02:30:20 2002 UTC revision 227 by astrand, Fri Oct 11 09:38:49 2002 UTC
# Line 214  void Line 214  void
214  xkeymap_init(void)  xkeymap_init(void)
215  {  {
216          unsigned int max_keycode;          unsigned int max_keycode;
217            char *mapname_ptr;
218    
219            /* Make keymapname lowercase */
220            mapname_ptr = keymapname;
221            while (*mapname_ptr)
222            {
223                    *mapname_ptr = tolower(*mapname_ptr);
224                    mapname_ptr++;
225            }
226    
227          if (strcmp(keymapname, "none"))          if (strcmp(keymapname, "none"))
228          {          {
# Line 234  handle_special_keys(uint32 keysym, unsig Line 243  handle_special_keys(uint32 keysym, unsig
243                  case XK_Break:                  case XK_Break:
244                  case XK_Pause:                  case XK_Pause:
245                          if ((get_key_state(state, XK_Alt_L) || get_key_state(state, XK_Alt_R))                          if ((get_key_state(state, XK_Alt_L) || get_key_state(state, XK_Alt_R))
246                                  && (get_key_state(state, XK_Control_L) || get_key_state(state, XK_Control_R)))                              && (get_key_state(state, XK_Control_L)
247                                    || get_key_state(state, XK_Control_R)))
248                          {                          {
249                                  /* Ctrl-Alt-Break: toggle full screen */                                  /* Ctrl-Alt-Break: toggle full screen */
250                                  if (pressed)                                  if (pressed)
# Line 253  handle_special_keys(uint32 keysym, unsig Line 263  handle_special_keys(uint32 keysym, unsig
263                                  }                                  }
264                                  /* No break sequence */                                  /* No break sequence */
265                          }                          }
266                          else /* XK_Pause */                          else    /* XK_Pause */
267                          {                          {
268                                  /* According to MS Keyboard Scan Code                                  /* According to MS Keyboard Scan Code
269                                     Specification, pressing Pause should result                                     Specification, pressing Pause should result
# Line 265  handle_special_keys(uint32 keysym, unsig Line 275  handle_special_keys(uint32 keysym, unsig
275                                     is released. */                                     is released. */
276                                  if (pressed)                                  if (pressed)
277                                  {                                  {
278                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0xe1, 0);                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
279                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0x1d, 0);                                                         0xe1, 0);
280                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0x45, 0);                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
281                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0xe1, 0);                                                         0x1d, 0);
282                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0x9d, 0);                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
283                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS, 0xc5, 0);                                                         0x45, 0);
284                                            rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
285                                                           0xe1, 0);
286                                            rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
287                                                           0x9d, 0);
288                                            rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYPRESS,
289                                                           0xc5, 0);
290                                  }                                  }
291                                  else                                  else
292                                  {                                  {
293                                          /* Release Left Ctrl */                                          /* Release Left Ctrl */
294                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYRELEASE, 0x1d,                                          rdp_send_input(ev_time, RDP_INPUT_SCANCODE, RDP_KEYRELEASE,
295                                                         0);                                                         0x1d, 0);
296                                  }                                  }
297                          }                          }
298                          return True;                          return True;
# Line 488  reset_modifier_keys(unsigned int state) Line 504  reset_modifier_keys(unsigned int state)
504          uint32 ev_time;          uint32 ev_time;
505          ev_time = time(NULL);          ev_time = time(NULL);
506    
507          if (MASK_HAS_BITS(remote_modifier_state, MapLeftShiftMask) && !get_key_state(state, XK_Shift_L))          if (MASK_HAS_BITS(remote_modifier_state, MapLeftShiftMask)
508                && !get_key_state(state, XK_Shift_L))
509                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LSHIFT);                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LSHIFT);
510    
511          if (MASK_HAS_BITS(remote_modifier_state, MapRightShiftMask) && !get_key_state(state, XK_Shift_R))          if (MASK_HAS_BITS(remote_modifier_state, MapRightShiftMask)
512                && !get_key_state(state, XK_Shift_R))
513                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RSHIFT);                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RSHIFT);
514    
515          if (MASK_HAS_BITS(remote_modifier_state, MapLeftCtrlMask) && !get_key_state(state, XK_Control_L))          if (MASK_HAS_BITS(remote_modifier_state, MapLeftCtrlMask)
516                && !get_key_state(state, XK_Control_L))
517                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LCTRL);                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LCTRL);
518    
519          if (MASK_HAS_BITS(remote_modifier_state, MapRightCtrlMask) && !get_key_state(state, XK_Control_R))          if (MASK_HAS_BITS(remote_modifier_state, MapRightCtrlMask)
520                && !get_key_state(state, XK_Control_R))
521                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RCTRL);                  rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RCTRL);
522    
523          if (MASK_HAS_BITS(remote_modifier_state, MapLeftAltMask) && !get_key_state(state, XK_Alt_L))          if (MASK_HAS_BITS(remote_modifier_state, MapLeftAltMask) && !get_key_state(state, XK_Alt_L))

Legend:
Removed from v.216  
changed lines
  Added in v.227

  ViewVC Help
Powered by ViewVC 1.1.26