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