Commit Graph

80 Commits

Author SHA1 Message Date
Marc-André Moreau
c084e0f8ae xfreerdp: improve selection between multitouch and non-multitouch devices with XInput 2 2013-06-28 13:46:58 -04:00
Marc-André Moreau
90ce8be9fc freerdp-core: added Terminate event 2013-06-18 16:55:23 -04:00
Marc-André Moreau
d006891207 xfreerdp: implement XInput 2.2 mouse pointer events 2013-06-17 21:54:38 -04:00
Marc-André Moreau
bb78fb16f8 xfreerdp: refactor to make use of single xfContext* and remove xfInfo* 2013-06-12 18:57:25 -04:00
Marc-André Moreau
c3efeccbd6 xfreerdp: partial cleanup of multitouch code 2013-05-14 19:26:01 -04:00
Marc-André Moreau
e6aec6c936 xfreerdp: initial multitouch functionality 2013-05-14 17:45:52 -04:00
Marc-André Moreau
91a55ae741 xfreerdp: integrate corey's multitouch code 2013-05-08 21:51:16 -04:00
Marc-André Moreau
720a23e07a xfreerdp: refactor xfreerdp client interface 2013-04-08 17:03:21 -04:00
Marc-André Moreau
9b351568fa xfreerdp: start implementing simplified client interface 2013-04-02 15:13:10 -04:00
Marc-André Moreau
d70c1e4d5e xfreerdp: fix RemoteApp decorations 2013-03-28 23:09:28 -04:00
Marc-André Moreau
c19c8a40dd libfreerdp-core: fix some async updates race conditions 2013-02-14 17:43:37 -05:00
Marc-André Moreau
47a7d54370 xfreerdp: stabilize asynchronous X11 event handling 2013-02-11 20:38:19 -05:00
Marc-André Moreau
a07b3391ce xfreerdp: fix XInitThreads() usage 2013-02-11 11:40:35 -05:00
Marc-André Moreau
51a51ccd38 xfreerdp: cleanup eventing 2013-02-10 13:17:08 -05:00
Marc-André Moreau
4269ac5c14 xfreerdp: improve asynchronicity 2013-02-09 17:13:53 -05:00
Marc-André Moreau
2d38f99db0 libfreerdp-core: add true asynchronous input and update 2013-02-06 21:57:49 -05:00
Marc-André Moreau
ecddb58ba2 channels: cmake cleanup, USB redirection refactoring 2012-11-20 19:34:52 -05:00
Marc-André Moreau
9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau
1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau
5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -04:00
Marc-André Moreau
e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Jay Sorg
67b6acc7a8 rail: fixes for crash when creating and deleting windows fast and added support for xrdp rail / local decoration 2012-09-18 15:57:19 -07:00
Marc-André Moreau
46b87c0ac0 Merge pull request #704 from pfmooney/7cf594a95f2fac1c11aab0395a96225cbab14216
Fix for issue 540: ctrl-enter toggles fullscreen
2012-08-25 09:40:05 -07:00
Marc-André Moreau
faa4311232 libwinpr: add proper config.h inclusions 2012-08-14 17:20:53 -04:00
Brent Collins
0b7db6232f Multiple RAIL fixes/improvements
1. Linked Window Manager Maximize/Minimize and Restore operations to those from the Server Rail Window so that they are in sync

2. Enable things like "CTRL-ALT-DELETE" and "WindowsKey-L" to show the full desktop window again since the desktop is not actively monitored since
this was still trying to draw to the rail window without updating the size of the window to accomodate the full workspace area.

3. Changed local window coordinates to be based on the visibileOffsetX/Y- while moving server window based on WindowOffsetX/Y. I have seen various issues regarding this when trying to use a maximized window where this is a disconnect between local window coordinates and remote window coordinates. This change clears these things up.

4. Commented the XShapeCombineRectangles calls - this can cause issues where the entire window is not visible and it does not currently play well with the changes from #3. The gain here is greater than the loss.

5. Draw the initial workspace correctly when running across multiple monitors. The correct size was always used, but the window was only starting on the current monitor and thus could draw the window off of the viewable area.

Known Issues:

Although the changes for #2 worked well in the stable branch that I developed from - the desktop window shown once the rail windows are destroyed does not respond to input unless I minimize/restore the window. Once the window starts responding to input - you can hit cancel to close the desktop window and return to your rail windows again(or launch task manager, etc.). This is still a big step in the right direction as xfreerdp is now correctly acting when the rail server stops Actively Monitoring the desktop.

XShapeCombineRectangles needs to be revisited, most windows applications will give you a rectangular window anyways.
2012-08-03 17:35:17 -05:00
Patrick Mooney
7cf594a95f Fix for #540: ctrl-enter toggles fullscreen
Clear xfi->pressed_keys when window loses focus.
This would prevent a held alt key from putting the app into fullscreen if the
users sends ctrl+enter when the app regains focus.
2012-08-02 15:45:03 -05:00
Vic Lee
02ce0dba3b X11: add suppress output support. 2012-05-28 20:21:56 +08:00
David Sundstrom
e1e8f6284f make local functions static
reintroduce unmanaged windows for tooltips and dropdowns; this is required for proper focus behavior
2012-05-25 17:56:05 -05:00
David Sundstrom
1060447cb5 Refactor event code to avoid searching seamless window linked list for desktop events. 2012-05-25 17:56:02 -05:00
Vic Lee
400b58e934 x11: release all pressed keys when window is unmapped. 2012-04-11 12:37:47 +08:00
Anthony Tong
2ba5c04d63 xfreerdp: send extended mouse events, using common button values for now 2012-04-01 09:35:11 -04:00
Mads Kiilerich
53c6815c84 x: improve debugging of X events 2012-03-22 21:30:15 +01:00
Marc-André Moreau
94900c7836 libfreerdp-locale: merging keyboard headers 2012-02-18 23:08:17 -05:00
Marc-André Moreau
61da01973d libfreerdp-locale: rename from libfreerdp-kbd, will contain all localization code 2012-02-17 17:43:00 -05:00
Marc-André Moreau
77bbd18d5c libfreerdp-core: fix input callback registration for slow-path input 2011-12-20 14:51:44 -05:00
Marc-André Moreau
216947a330 libfreerdp-core: disable fastpath output if server does not support it 2011-12-20 14:42:22 -05:00
David Sundstrom
49303c8969 Fix compile error on Solaris
Fix few small issues with local move race conditions
Add missing --gdi option to command-line help
2011-12-16 15:10:07 -06:00
David Sundstrom
6bd2b736aa allow updates from cached pixmap during local moves 2011-12-09 14:26:11 -06:00
David Sundstrom
b17fe2e60e Do not do XMoveWindow after local_move event from RDP server
Do not update window area of RDP and local X window are not synchronized
Use RootWindowOfScreen for translate coordinates
2011-12-09 14:26:11 -06:00
Not Nyguen Doze
51bd226cf3 Complete local move support. Use a state machine to keep track of XEvents to infer local move start and finish. 2011-12-06 15:43:38 -08:00
Not Nyguen Doze
8f38bdb87a Make popups transient, use local window manager for moves.
This fixes a number if issues on Ubuntu in particular.
2011-12-06 15:43:38 -08:00
David Sundstrom
31cbac201d Add a function to synchronize the RDP server with the local window position and size when the window is moved locally.
Complete implementation for initiating RAIL local move support, however, this is still disabled until a method is found to tell when local moves complete on the X server.
2011-12-06 15:43:38 -08:00
David Sundstrom
354b00711b After local X window manager has moved a window to a different location than what the RDP server expects, send a client update to the RDP server to inform the server of the new window position. 2011-12-06 15:43:38 -08:00
Mike Gilbert
bde19474a9 X11/xf_event: Optimize storage of constant strings. 2011-11-30 19:21:04 -05:00
Marc-André Moreau
a63a196f53 types: refactoring to make use of standard data types when available 2011-11-19 12:19:16 -05:00
David Sundstrom
96accb0327 Fix issue 202. No cursor icons for RemoteApp
Pointer updates are part of the base RDP protocol MS-RDPBCGR specification and do not include window information like those from the RAIL specification MS-RDPERP do.  To make pointer updates work, we need to keep track of which window has focus and then apply pointer updates to that window.  This appears to be easy to do, just watch for X11 EnterNotify events and update the window field of the main RDP structure.  I had some concerns that a window might receive an old pointer update for some other window due to network latencies, however, the RDP server seems to always send down new pointer updates whenver a window takes focus.
2011-11-14 16:42:14 -06:00
David Sundstrom
aa761c7a33 The VisibilityNotify function was using elements out fo the XEvent union that belong to the XExposeEvent event type. These fields are not valid for XVisibilityEvents and contain garbage values.
Remove the code that accessed these fields.  The XExposeEvent already has its own function containing the exact same code.
2011-11-02 18:31:14 -05:00
Alan Pearson
4735dcc5c7 Reorder header files. X11 headers need to be before freerdp/types.h otherwise we get warnings about redefinition of True and False 2011-10-27 10:29:16 -07:00
Marc-André Moreau
c639ec8593 libfreerdp-core: refactoring of context pointers into rdpContext 2011-10-16 00:50:10 -04:00