CVS: rdesktop xkeymap.c,1.98,1.99

Jay Sorg <[email protected]> Wed, 02 May 2007 21:53:41 -0700
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv28975

Modified Files:
	xkeymap.c 
Log Message:
update save_remote_modifier when keyup on a modifier

Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -C2 -d -r1.98 -r1.99
*** xkeymap.c	20 Mar 2007 15:32:43 -0000	1.98
--- xkeymap.c	3 May 2007 04:53:39 -0000	1.99
***************
*** 680,683 ****
--- 680,713 ----
  }
  
+ static RD_BOOL
+ is_modifier(uint8 scancode)
+ {
+ 	switch (scancode)
+ 	{
+ 		case SCANCODE_CHAR_LSHIFT:
+ 		case SCANCODE_CHAR_RSHIFT:
+ 		case SCANCODE_CHAR_LCTRL:
+ 		case SCANCODE_CHAR_RCTRL:
+ 		case SCANCODE_CHAR_LALT:
+ 		case SCANCODE_CHAR_RALT:
+ 		case SCANCODE_CHAR_LWIN:
+ 		case SCANCODE_CHAR_RWIN:
+ 		case SCANCODE_CHAR_NUMLOCK:
+ 			return True;
+ 		default:
+ 			break;
+ 	}
+ 	return False;
+ }
+ 
+ static void
+ save_remote_modifiers_if_modifier(uint8 scancode)
+ {
+ 	if (!is_modifier(scancode))
+ 		return;
+ 
+ 	saved_remote_modifier_state = remote_modifier_state;
+ }
+ 
  void
  xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
***************
*** 703,706 ****
--- 733,737 ----
  			rdp_send_scancode(ev_time, RDP_KEYRELEASE, tr.scancode);
  			restore_remote_modifiers(ev_time, tr.scancode);
+ 			save_remote_modifiers_if_modifier(tr.scancode);
  		}
  		return;
***************
*** 763,787 ****
  }
  
- static RD_BOOL
- is_modifier(uint8 scancode)
- {
- 	switch (scancode)
- 	{
- 		case SCANCODE_CHAR_LSHIFT:
- 		case SCANCODE_CHAR_RSHIFT:
- 		case SCANCODE_CHAR_LCTRL:
- 		case SCANCODE_CHAR_RCTRL:
- 		case SCANCODE_CHAR_LALT:
- 		case SCANCODE_CHAR_RALT:
- 		case SCANCODE_CHAR_LWIN:
- 		case SCANCODE_CHAR_RWIN:
- 		case SCANCODE_CHAR_NUMLOCK:
- 			return True;
- 		default:
- 			break;
- 	}
- 	return False;
- }
- 
  void
  save_remote_modifiers(uint8 scancode)
--- 794,797 ----


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/