Commit Graph

81 Commits

Author SHA1 Message Date
bugiii
8967ed1cff Add CTRL+ALT+Break, remove WM_SYSKEYDOWN 2023-03-23 08:46:49 +01:00
bugiii
bad802b6cd Update wf_event.c
Modified to recognize CTRL+ALT+ENTER using the already implemented keystates array.
2023-03-23 08:46:49 +01:00
Armin Novak
2b49047c34 [client] Fix keyboard input
properly pass key repeat events to the server.
2022-12-13 14:37:05 +01:00
Armin Novak
5a24ec2171 [client,windows] release keyboard grab on minimize 2022-12-09 11:28:21 +01:00
David Fort
c5c2e37f6d
More winpr fixes (#8255)
* Fix build with mingw

4a71cab2e7 broke wf_events.c.
The drive channel was not building because of missing definitions.

* winpr: make functions return False when not implemented
2022-09-28 16:07:04 +02:00
akallabeth
4a71cab2e7
Replaced custom coordinate macros with windows ones (#8247)
GET_X_LPARAM and GET_Y_LPARAM correctly extract the mouse x/y
coordinates from lParam
2022-09-26 12:11:50 +02:00
akallabeth
d2ab631c40
Test uri fix (#8232)
* Fixed TestUri unit test

* Make proper unit test out of the test function
* Add proper test cases

* Replace FindFirstFileA with FindFirstFileW for addins

This allows addin paths to contain unicode symbols.

* Fixed parse_uri_to_local_file definition

* Move to common clipboard.c file
* Move to header file so it can be included in test case

* Added WINPR_LOCAL for test builds

This macro exports internal functions in case of a unit test build
This way unit tests can access these without other workarounds.

* Fixed typo in function name is_dos_driver

* Cleaned up FindFirstFileW call

Use a wrapper function to convert to unicode and call the function

* Cleaned up BUILD_TESTING and EXPORT_ALL_SYMBOLS

* EXPORT_ALL_SYMBOLS now does as the name implies and exports all
  non static functions/variables from the library.
* BUILD_TESTING now only sets the defines for test code and
  activates EXPORT_ALL_SYMBOLS to allow tests to access internal
  code

* Fixed windows client warnings

* disable CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
2022-09-26 11:22:02 +02:00
garbb
24fc77a073 fix mouse button "stuck" down when dragged out of window
If user presses mouse button down within window and then moves it
outside of window before releasing, host will still see mouse
button as "stuck down" because mouse up event is not sent. So use
`SetCapture()`/`ReleaseCapture()` to capture mouse events until
button is released.
Also, since coordinates from WM_* events are signed values,
need to prevent negative values from being sent.
2022-09-21 09:59:22 +02:00
garbb
22bd0a43e6 add windows client assistance request control menu item 2022-09-16 08:47:06 +02:00
garbb
e06ac251d5
[windows] Disable input events on focus loss (#8199) 2022-09-13 09:34:15 +02:00
garbb
383ecc3cbd fix graphics glitch on toggle smart-sizing 2022-09-13 09:23:32 +02:00
akallabeth
bc8b4ade1c reformatted 2022-06-23 08:48:39 +02:00
akallabeth
0029f8a61d Fixed windows client argument mismatch warnings 2022-06-23 07:45:55 +02:00
Stefan Koell
df3737b085 wfreerdp-client: make keyboard work when /parent-window is provided 2022-04-10 20:10:54 +02:00
Armin Novak
4d03d7c0bf Freerdp remove #ifdef HAVE_CONFIG_H 2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809 Reorganized FreeRDP headers 2022-03-03 11:26:48 +01:00
akallabeth
700d6dcd9e Use client/common mouse functions 2022-02-22 09:44:13 +01:00
akallabeth
7641710f60 Use a client/common context component
* Allows moving common client code from specific client to a
  generic client/common implementation
2022-02-22 09:44:13 +01:00
Armin Novak
5fb59a23a9 Fixed lots of compilation warnings and type mismatches 2021-06-16 15:21:56 +02:00
Armin Novak
140dffade6 Removed unnecessary allocation 2021-06-02 17:22:20 +02:00
Armin Novak
0c0c97d80f Fixed missing include for legacy os 2021-06-02 17:22:20 +02:00
Armin Novak
019d26d9bb Moved static wf_event.c variables to client context 2021-06-02 17:22:20 +02:00
Armin Novak
e79de5b2b3 Added dynamic resolution patch
Provided in https://github.com/FreeRDP/FreeRDP/issues/7072
by @277hz
2021-06-02 17:22:20 +02:00
Pascal Nowack
1087a5e1a6 clients: Use the correct wheel rotation value
For the negative scrolling direction, RDP uses the two's complement,
instead of the positive wheel value with the negative flag.
xfreerdp currently uses the positive wheel value in addition to the
negative flag, which results in a wrong wheel value on the server side
(136 instead of 120).

Fix this, by using the correct wheel rotation value, which is in the
two's complement.
2021-02-11 09:54:03 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Ilya Shipitsin
7f97574501 client/Windows/wf_event.c: add missing "break" (#5293)
found by cppcheck

[client/Windows/wf_event.c:464] -> [client/Windows/wf_event.c:468]: (warning) Variable 'xNewPos' is reassigned a value before the old one has been used. 'break;' missing?
2019-03-04 09:17:10 +01:00
Armin Novak
6a9fa3dcbd Refactored floatbar, extended command line settings. 2018-12-07 15:22:28 +01:00
Don Caton
68c34d5ab0 Windows client: Suppress minimize and restore buttons in float bar when toggle-fullscreen is false, added window title to float bar, improved overall appearance with gradients, shadow and transparent icons.
# Conflicts:
#	client/Windows/wf_client.c
#	client/Windows/wf_event.c
#	client/Windows/wf_floatbar.c
2018-12-07 15:22:28 +01:00
Armin Novak
d1fc0e92b5 Added additional mouse mappings. 2018-03-08 13:21:04 +01:00
Eric Brown
d8151c03df Remove unnecessary WM_SETCURSOR handling from wf_event_proc 2018-03-05 12:32:42 -06:00
Eric Brown
0c24ade668 Misc fixes for Windows clients 2018-03-02 12:42:04 -06:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Armin Novak
6cd2a43cf4 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
fbdb00aa0c Simplified windows context. 2016-10-06 13:43:06 +02:00
Armin Novak
71a73068ec Reformatted client code. 2016-10-06 13:43:06 +02:00
Armin Novak
7818ca1250 Fixed windows compile. 2016-10-06 13:43:04 +02:00
Norbert Federa
344362a8a3 clients: fix "focus in event" issues
The input->FocusInEvent callback implementations (normal and fast-path) have
always sent the mouse position even if the pointer was outside of the freerdp
client area. In addition xfreerdp used the wrong pointer coordinates which
were relative to the root window instead of its own.
On focus-in the pointer position must only be sent if the pointer is
currently within the program's client area. However, the clients had no way
to pass that information to input->FocusInEvent which required an API change.

- removed mouse pointer x, y parameters from input interface's FocusInEvent
- clients are responsible to call input->MouseEvent on focus-in if necessary
- fixed xfreerdp and wfreerdp accordingly
2015-01-16 18:40:57 +01:00
erbth
58c392e72e Added lock key synchronization to wfreerdp 2014-10-03 16:27:47 +02:00
Marc-André Moreau
342d37aea0 wfreerdp: add RDP8 graphics pipeline support 2014-09-12 16:30:57 -04:00
erbth
cd23e5c0d5 wfreerdp: WM_SIZE: only update canvas diff if window size is bigger than 0 2014-08-25 15:24:04 +02:00
erbth
91ef3ed843 WM_GETMINMAXINFO: use latest determined canvas diff 2014-08-25 15:12:44 +02:00
Zhang Zhaolong
55dc60f956 wfreerdp: kbd: fix ctrl/alt syncronization. 2014-03-17 15:01:15 +08:00
Benoît LeBlanc
557c082458 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-05 16:35:22 -05:00
Marc-André Moreau
d64f86d52c wfreerdp: fix 64-bit build 2014-02-10 00:34:17 -05:00
Benoit LeBlanc
b142bd4e4d Added PubSub notification on mouse events (only triggered in Windows) 2014-01-17 18:17:10 -05:00
Marc-André Moreau
d30f66b1b7 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-10-23 14:18:40 -04:00
Zhang Zhaolong
ccf37ed498 fix a keyboard focus bug:
keyboard will loose focus when recovering from minimized state.
2013-10-23 14:03:04 +08:00
Benoît LeBlanc
27750e7022 wf_event: missing parentesis 2013-10-01 15:45:50 -04:00
Marc-André Moreau
b55725487f wfreerdp: fix basic connectivity 2013-06-16 00:51:48 -04:00
Marc-André Moreau
c76efec345 wfreerdp: update client with new API 2013-06-15 22:57:21 -04:00