FreeRDP
|
#include <rdpei_main.h>
Data Fields | |
BOOL | dirty |
BOOL | active |
UINT32 | contactId |
INT32 | externalId |
RDPINPUT_CONTACT_DATA | data |
Touch Contact State Transitions
ENGAGED -> UPDATE | INRANGE | INCONTACT -> ENGAGED ENGAGED -> UP | INRANGE -> HOVERING ENGAGED -> UP -> OUT_OF_RANGE ENGAGED -> UP | CANCELED -> OUT_OF_RANGE
HOVERING -> UPDATE | INRANGE -> HOVERING HOVERING -> DOWN | INRANGE | INCONTACT -> ENGAGED HOVERING -> UPDATE -> OUT_OF_RANGE HOVERING -> UPDATE | CANCELED -> OUT_OF_RANGE
OUT_OF_RANGE -> DOWN | INRANGE | INCONTACT -> ENGAGED OUT_OF_RANGE -> UPDATE | INRANGE -> HOVERING
When a contact is in the "hovering" or "engaged" state, it is referred to as being "active". "Hovering" contacts are in range of the digitizer, while "engaged" contacts are in range of the digitizer and in contact with the digitizer surface. MS-RDPEI remotes only active contacts and contacts that are transitioning to the "out of range" state; see section 2.2.3.3.1.1 for an enumeration of valid state flags combinations.
When transitioning from the "engaged" state to the "hovering" state, or from the "engaged" state to the "out of range" state, the contact position cannot change; it is only allowed to change after the transition has taken place.
BOOL RDPINPUT_CONTACT_POINT::active |
UINT32 RDPINPUT_CONTACT_POINT::contactId |
RDPINPUT_CONTACT_DATA RDPINPUT_CONTACT_POINT::data |
BOOL RDPINPUT_CONTACT_POINT::dirty |
INT32 RDPINPUT_CONTACT_POINT::externalId |