CVS: rdesktop xkeymap.c,1.99,1.100

Peter Åstrand <[email protected]> Mon, 08 Oct 2007 05:34:07 -0700
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv28460

Modified Files:
	xkeymap.c 
Log Message:
We still had some problems with the shift key getting stuck. The new
code makes sure that we restore "faked" modifiers both after press and
release. It's also shorter. 

I've added two new test cases to the doc as well. 



Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.99
retrieving revision 1.100
diff -C2 -d -r1.99 -r1.100
*** xkeymap.c	3 May 2007 04:53:39 -0000	1.99
--- xkeymap.c	8 Oct 2007 12:34:05 -0000	1.100
***************
*** 701,712 ****
  }
  
- static void
- save_remote_modifiers_if_modifier(uint8 scancode)
- {
- 	if (!is_modifier(scancode))
- 		return;
- 
- 	saved_remote_modifier_state = remote_modifier_state;
- }
  
  void
--- 701,704 ----
***************
*** 723,738 ****
  			return;
  
! 		if (pressed)
! 		{
! 			save_remote_modifiers(tr.scancode);
! 			ensure_remote_modifiers(ev_time, tr);
! 			rdp_send_scancode(ev_time, RDP_KEYPRESS, tr.scancode);
! 		}
! 		else
! 		{
! 			rdp_send_scancode(ev_time, RDP_KEYRELEASE, tr.scancode);
! 			restore_remote_modifiers(ev_time, tr.scancode);
! 			save_remote_modifiers_if_modifier(tr.scancode);
! 		}
  		return;
  	}
--- 715,722 ----
  			return;
  
! 		save_remote_modifiers(tr.scancode);
! 		ensure_remote_modifiers(ev_time, tr);
! 		rdp_send_scancode(ev_time, pressed ? RDP_KEYPRESS : RDP_KEYRELEASE, tr.scancode);
! 		restore_remote_modifiers(ev_time, tr.scancode);
  		return;
  	}


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/