From 708ba9bd03c48c8e3e8903e897633d15488c198e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Moreau?= Date: Mon, 13 Feb 2012 17:51:42 -0500 Subject: [PATCH] libfreerdp-core: expanded input API --- include/freerdp/input.h | 7 +++++++ libfreerdp-core/input.c | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/include/freerdp/input.h b/include/freerdp/input.h index e59bed2..bc5ac63 100644 --- a/include/freerdp/input.h +++ b/include/freerdp/input.h @@ -22,6 +22,7 @@ typedef struct rdp_input rdpInput; +#include #include /* keyboard Flags */ @@ -72,4 +73,10 @@ struct rdp_input uint32 paddingB[32 - 21]; /* 21 */ }; +FREERDP_API void freerdp_input_send_synchronize_event(rdpInput* input, uint32 flags); +FREERDP_API void freerdp_input_send_keyboard_event(rdpInput* input, uint16 flags, uint16 code); +FREERDP_API void freerdp_input_send_unicode_keyboard_event(rdpInput* input, uint16 flags, uint16 code); +FREERDP_API void freerdp_input_send_mouse_event(rdpInput* input, uint16 flags, uint16 x, uint16 y); +FREERDP_API void freerdp_input_send_extended_mouse_event(rdpInput* input, uint16 flags, uint16 x, uint16 y); + #endif /* __INPUT_API_H */ diff --git a/libfreerdp-core/input.c b/libfreerdp-core/input.c index b7336ed..eb946b2 100644 --- a/libfreerdp-core/input.c +++ b/libfreerdp-core/input.c @@ -17,6 +17,8 @@ * limitations under the License. */ +#include + #include "input.h" void rdp_write_client_input_pdu_header(STREAM* s, uint16 number) @@ -380,6 +382,31 @@ void input_register_client_callbacks(rdpInput* input) } } +void freerdp_input_send_synchronize_event(rdpInput* input, uint32 flags) +{ + IFCALL(input->SynchronizeEvent, input, flags); +} + +void freerdp_input_send_keyboard_event(rdpInput* input, uint16 flags, uint16 code) +{ + IFCALL(input->KeyboardEvent, input, flags, code); +} + +void freerdp_input_send_unicode_keyboard_event(rdpInput* input, uint16 flags, uint16 code) +{ + IFCALL(input->UnicodeKeyboardEvent, input, flags, code); +} + +void freerdp_input_send_mouse_event(rdpInput* input, uint16 flags, uint16 x, uint16 y) +{ + IFCALL(input->MouseEvent, input, flags, x, y); +} + +void freerdp_input_send_extended_mouse_event(rdpInput* input, uint16 flags, uint16 x, uint16 y) +{ + IFCALL(input->ExtendedMouseEvent, input, flags, x, y); +} + rdpInput* input_new(rdpRdp* rdp) { rdpInput* input; -- 2.7.4