libfreerdp-core: expanded input API
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Mon, 13 Feb 2012 22:51:42 +0000 (17:51 -0500)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Mon, 13 Feb 2012 22:51:42 +0000 (17:51 -0500)
include/freerdp/input.h
libfreerdp-core/input.c

index e59bed2..bc5ac63 100644 (file)
@@ -22,6 +22,7 @@
 
 typedef struct rdp_input rdpInput;
 
+#include <freerdp/api.h>
 #include <freerdp/freerdp.h>
 
 /* 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 */
index b7336ed..eb946b2 100644 (file)
@@ -17,6 +17,8 @@
  * limitations under the License.
  */
 
+#include <freerdp/input.h>
+
 #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;