2.2.2 Mouse pointer position message
When the graphics driver is informed of a mouse position change, it sends a message to the sink so that the sink can update the screen location of the mouse pointer on the wireless display. The UDP messages have an RTP header (as specified in section 2.2) followed by a binary message in the following format.
|
Field name |
Type |
Details |
|---|---|---|
|
MsgType |
8 bit unsigned |
The type of cursor message, valid values 0x01 Mouse cursor position update 0x02 Mouse cursor shape update 0x03 Mouse cursor shape continuation
For mouse cursor position update this will be 0x01 |
|
PacketMsgSize |
16 bit unsigned |
The total size of this message in bytes, for mouse pointer update this is 0x0007 |
|
XPos |
16 bit signed |
The X position of the upper-left corner of the pointer position relative to this Miracast display, see notes below. |
|
YPos |
16 bit signed |
The Y position of the upper-left corner of the pointer position relative to this Miracast display, see notes below |
The mouse position update packet MUST always be in its own UDP packet and hence will always be located directly after the RTP header.
If Intel Fast Cursor is supported<1> the following variation of the mouse pointer position message will be used. One 32-bit fast cursor message will be sent for each UDP packet, formatted as follows.
-
fast-cursor-message = "fast-cursor=" hidden / current-position hidden = "0:0:0:0:0" current-position = width ":" height ":" x ":" y ":" orientation width = 1*4DIGIT ; total pixel width of the host screen (e.g. 1920) height = 1*4DIGIT ; total pixel height of the host screen (e.g., 1080) x = 1*4DIGIT ; x coordinate of the cursor position [0..width-1] y = 1*4DIGIT ; y coordinate of the cursor [0..height-1] orientation = "0" / "90" / "180" / "270" ; degrees of display rotation