FreeRDP
include/freerdp/input.h File Reference
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/scancode.h>
#include <winpr/crt.h>
#include <winpr/collections.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  rdpInput
 

Macros

#define KBD_FLAGS_EXTENDED   0x0100
 
#define KBD_FLAGS_EXTENDED1   0x0200
 
#define KBD_FLAGS_DOWN    0x4000
 
#define KBD_FLAGS_RELEASE    0x8000
 
#define PTR_FLAGS_HWHEEL   0x0400
 
#define PTR_FLAGS_WHEEL   0x0200
 
#define PTR_FLAGS_WHEEL_NEGATIVE   0x0100
 
#define PTR_FLAGS_MOVE   0x0800
 
#define PTR_FLAGS_DOWN   0x8000
 
#define PTR_FLAGS_BUTTON1   0x1000 /* left */
 
#define PTR_FLAGS_BUTTON2   0x2000 /* right */
 
#define PTR_FLAGS_BUTTON3   0x4000 /* middle */
 
#define WheelRotationMask   0x01FF
 
#define PTR_XFLAGS_DOWN   0x8000
 
#define PTR_XFLAGS_BUTTON1   0x0001
 
#define PTR_XFLAGS_BUTTON2   0x0002
 
#define KBD_SYNC_SCROLL_LOCK   0x00000001
 
#define KBD_SYNC_NUM_LOCK   0x00000002
 
#define KBD_SYNC_CAPS_LOCK   0x00000004
 
#define KBD_SYNC_KANA_LOCK   0x00000008
 
#define RDP_CLIENT_INPUT_PDU_HEADER_LENGTH   4
 

Typedefs

typedef BOOL(* pSynchronizeEvent) (rdpInput *input, UINT32 flags)
 
typedef BOOL(* pKeyboardEvent) (rdpInput *input, UINT16 flags, UINT8 code)
 
typedef BOOL(* pUnicodeKeyboardEvent) (rdpInput *input, UINT16 flags, UINT16 code)
 
typedef BOOL(* pMouseEvent) (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)
 
typedef BOOL(* pRelMouseEvent) (rdpInput *input, UINT16 flags, INT16 xDelta, INT16 yDelta)
 
typedef BOOL(* pQoEEvent) (rdpInput *input, UINT32 timestampMS)
 
typedef BOOL(* pExtendedMouseEvent) (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)
 
typedef BOOL(* pFocusInEvent) (rdpInput *input, UINT16 toggleStates)
 
typedef BOOL(* pKeyboardPauseEvent) (rdpInput *input)
 

Functions

FREERDP_API BOOL freerdp_input_send_synchronize_event (rdpInput *input, UINT32 flags)
 
FREERDP_API BOOL freerdp_input_send_keyboard_event (rdpInput *input, UINT16 flags, UINT8 code)
 
FREERDP_API BOOL freerdp_input_send_keyboard_event_ex (rdpInput *input, BOOL down, BOOL repeat, UINT32 rdp_scancode)
 
FREERDP_API BOOL freerdp_input_send_keyboard_pause_event (rdpInput *input)
 
FREERDP_API BOOL freerdp_input_send_unicode_keyboard_event (rdpInput *input, UINT16 flags, UINT16 code)
 
FREERDP_API BOOL freerdp_input_send_mouse_event (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)
 
FREERDP_API BOOL freerdp_input_send_rel_mouse_event (rdpInput *input, UINT16 flags, INT16 xDelta, INT16 yDelta)
 
FREERDP_API BOOL freerdp_input_send_qoe_timestamp (rdpInput *input, UINT32 timestampMS)
 
FREERDP_API BOOL freerdp_input_send_extended_mouse_event (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)
 
FREERDP_API BOOL freerdp_input_send_focus_in_event (rdpInput *input, UINT16 toggleStates)
 

Macro Definition Documentation

◆ KBD_FLAGS_DOWN

#define KBD_FLAGS_DOWN    0x4000

Presence of this flag indicates the key was already down previously

◆ KBD_FLAGS_EXTENDED

#define KBD_FLAGS_EXTENDED   0x0100

FreeRDP: A Remote Desktop Protocol Implementation Input Interface API

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ KBD_FLAGS_EXTENDED1

#define KBD_FLAGS_EXTENDED1   0x0200

◆ KBD_FLAGS_RELEASE

#define KBD_FLAGS_RELEASE    0x8000

Presence of this flag indicates a key was released. Absence a key press

◆ KBD_SYNC_CAPS_LOCK

#define KBD_SYNC_CAPS_LOCK   0x00000004

◆ KBD_SYNC_KANA_LOCK

#define KBD_SYNC_KANA_LOCK   0x00000008

◆ KBD_SYNC_NUM_LOCK

#define KBD_SYNC_NUM_LOCK   0x00000002

◆ KBD_SYNC_SCROLL_LOCK

#define KBD_SYNC_SCROLL_LOCK   0x00000001

◆ PTR_FLAGS_BUTTON1

#define PTR_FLAGS_BUTTON1   0x1000 /* left */

◆ PTR_FLAGS_BUTTON2

#define PTR_FLAGS_BUTTON2   0x2000 /* right */

◆ PTR_FLAGS_BUTTON3

#define PTR_FLAGS_BUTTON3   0x4000 /* middle */

◆ PTR_FLAGS_DOWN

#define PTR_FLAGS_DOWN   0x8000

◆ PTR_FLAGS_HWHEEL

#define PTR_FLAGS_HWHEEL   0x0400

◆ PTR_FLAGS_MOVE

#define PTR_FLAGS_MOVE   0x0800

◆ PTR_FLAGS_WHEEL

#define PTR_FLAGS_WHEEL   0x0200

◆ PTR_FLAGS_WHEEL_NEGATIVE

#define PTR_FLAGS_WHEEL_NEGATIVE   0x0100

◆ PTR_XFLAGS_BUTTON1

#define PTR_XFLAGS_BUTTON1   0x0001

◆ PTR_XFLAGS_BUTTON2

#define PTR_XFLAGS_BUTTON2   0x0002

◆ PTR_XFLAGS_DOWN

#define PTR_XFLAGS_DOWN   0x8000

◆ RDP_CLIENT_INPUT_PDU_HEADER_LENGTH

#define RDP_CLIENT_INPUT_PDU_HEADER_LENGTH   4

◆ WheelRotationMask

#define WheelRotationMask   0x01FF

Typedef Documentation

◆ pExtendedMouseEvent

typedef BOOL(* pExtendedMouseEvent) (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)

◆ pFocusInEvent

typedef BOOL(* pFocusInEvent) (rdpInput *input, UINT16 toggleStates)

◆ pKeyboardEvent

typedef BOOL(* pKeyboardEvent) (rdpInput *input, UINT16 flags, UINT8 code)

◆ pKeyboardPauseEvent

typedef BOOL(* pKeyboardPauseEvent) (rdpInput *input)

◆ pMouseEvent

typedef BOOL(* pMouseEvent) (rdpInput *input, UINT16 flags, UINT16 x, UINT16 y)

◆ pQoEEvent

typedef BOOL(* pQoEEvent) (rdpInput *input, UINT32 timestampMS)

◆ pRelMouseEvent

typedef BOOL(* pRelMouseEvent) (rdpInput *input, UINT16 flags, INT16 xDelta, INT16 yDelta)

◆ pSynchronizeEvent

typedef BOOL(* pSynchronizeEvent) (rdpInput *input, UINT32 flags)

◆ pUnicodeKeyboardEvent

typedef BOOL(* pUnicodeKeyboardEvent) (rdpInput *input, UINT16 flags, UINT16 code)

Function Documentation

◆ freerdp_input_send_extended_mouse_event()

FREERDP_API BOOL freerdp_input_send_extended_mouse_event ( rdpInput *  input,
UINT16  flags,
UINT16  x,
UINT16  y 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_focus_in_event()

FREERDP_API BOOL freerdp_input_send_focus_in_event ( rdpInput *  input,
UINT16  toggleStates 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_keyboard_event()

FREERDP_API BOOL freerdp_input_send_keyboard_event ( rdpInput *  input,
UINT16  flags,
UINT8  code 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_keyboard_event_ex()

FREERDP_API BOOL freerdp_input_send_keyboard_event_ex ( rdpInput *  input,
BOOL  down,
BOOL  repeat,
UINT32  rdp_scancode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_keyboard_pause_event()

FREERDP_API BOOL freerdp_input_send_keyboard_pause_event ( rdpInput *  input)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_mouse_event()

FREERDP_API BOOL freerdp_input_send_mouse_event ( rdpInput *  input,
UINT16  flags,
UINT16  x,
UINT16  y 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_qoe_timestamp()

FREERDP_API BOOL freerdp_input_send_qoe_timestamp ( rdpInput *  input,
UINT32  timestampMS 
)

◆ freerdp_input_send_rel_mouse_event()

FREERDP_API BOOL freerdp_input_send_rel_mouse_event ( rdpInput *  input,
UINT16  flags,
INT16  xDelta,
INT16  yDelta 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_synchronize_event()

FREERDP_API BOOL freerdp_input_send_synchronize_event ( rdpInput *  input,
UINT32  flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_input_send_unicode_keyboard_event()

FREERDP_API BOOL freerdp_input_send_unicode_keyboard_event ( rdpInput *  input,
UINT16  flags,
UINT16  code 
)
Here is the call graph for this function:
Here is the caller graph for this function: