PointerPointProperties.IsPrimary | isPrimary property

Applies to Windows and Windows Phone

Gets a value that indicates whether the input is from the primary pointer when multiple pointers are registered.


public bool IsPrimary { get; }

Property value

Type: Boolean [JavaScript] | System.Boolean [.NET] | Platform::Boolean [C++]

True if the input is from the pointer designated as primary; otherwise false.


The primary pointer is a single pointer (touch, mouse, and pen/stylus) in the current interaction.

For mouse, the primary pointer is the only pointer for which mouse events can be generated.

For touch, the primary pointer is the first contact in an interaction. A new primary pointer is only registered when all contacts in that interaction are removed and a new contact is subsequently detected.

A primary pointer can perform actions that are not available to other pointers. For example, the primary pointer can send a WM_POINTERACTIVATE message.


For any interaction, IsPrimary returns false after the first pointerdown event. Use the pointerType property as shown in the following example when you need to know whether a pointer is primary, such as a mouse pointer.

function isreallyprimary (event) {
  if (event.isPrimary) {
    return (true);
  } else {
    if (event.pointerType == event.MSPOINTER_TYPE_MOUSE) {
      return (true);
    } else {
      return (false);


Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8


Windows::UI::Input [C++]



See also




© 2014 Microsoft. All rights reserved.