Inputs and devices

UWP apps automatically handle a wide variety of inputs and run on a variety of devices—there’s nothing extra you need to do to enable touch input or make your app run on a phone, for example.

But there are times when you might want to optimize your app for certain types of input or devices. For example, if you’re creating a painting app, you might want to customize the way you handle pen input.

The design and coding instructions in this section help you customize your UWP app for specific types of inputs and devices.

Input primer

See our Input primer to familiarize yourself with each input device type and its behaviors, capabilities, and limitations when paired with certain form factors.

Inputs and interactions

[Surface Dial](
Learn how to integrate this brand new category of input device into your Windows apps.
This device is intended as a secondary, multi-modal input device that complements or modifies input from a primary device.

Extend the basic functionality of Cortana with voice commands that launch and execute a single action in an external application.

Integrate speech recognition and text-to-speech (also known as TTS, or speech synthesis) directly into the user experience of your app.

Optimize your UWP app for pen input to provide both standard pointer device functionality and the best Windows Ink experience for your users.

Keyboard input is an important part of the overall user interaction experience for apps. The keyboard is indispensable to people with certain disabilities or users who just consider it a more efficient way to interact with an app.

UWP includes a number of different mechanisms for handling touch input, all of which enable you to create an immersive experience that your users can explore with confidence.

A touchpad combines both indirect multi-touch input with the precision input of a pointing device, such as a mouse. This combination makes the touchpad suited to both a touch-optimized UI and the smaller targets of productivity apps.

Mouse input is best suited for user interactions that require precision when pointing and clicking. This inherent precision is naturally supported by the UI of Windows, which is optimized for the imprecise nature of touch.

[Gamepad and remote control](
UWP apps now support gamepad and remote control input. Gamepads and remote controls are the primary input devices for Xbox and TV experiences.

[Multiple inputs](
To accommodate as many users and devices as possible, we recommend that you design your apps to work with as many input types as possible (gesture, speech, touch, touchpad, mouse, and keyboard). Doing so will maximize flexibility, usability, and accessibility.

[Identify input devices](
Identify the input devices connected to a Universal Windows Platform (UWP) device and identify their capabilities and attributes.

[Handle pointer input](
Receive, process, and manage input data from pointing devices, such as touch, mouse, pen/stylus, and touchpad, in Universal Windows Platform (UWP) apps.

[Custom text input](
The core text APIs in the Windows.UI.Text.Core namespace enable a UWP app to receive text input from any text service supported on Windows devices. This enables the app to receive text in any language and from any input type, like keyboard, speech, or pen.

[Selecting text and images](
This article describes selecting and manipulating text, images, and controls and provides user experience guidelines that should be considered when using these mechanisms in your apps.

Panning or scrolling lets users navigate within a single view, to display the content of the view that does not fit within the viewport.

[Optical zoom and resizing](
This article describes Windows zooming and resizing elements and provides user experience guidelines for using these interaction mechanisms in your apps.

This article describes the new Windows UI for rotation and provides user experience guidelines that should be considered when using this new interaction mechanism in your UWP app.

Touch targeting in Windows uses the full contact area of each finger that is detected by a touch digitizer. The larger, more complex set of input data reported by the digitizer is used to increase precision when determining the user's intended (or most likely) target.

[Visual feedback](
Use visual feedback to show users when their interactions are detected, interpreted, and handled. Visual feedback can help users by encouraging interaction. It indicates the success of an interaction, which improves the user's sense of control. It also relays system status and reduces errors.


Getting to know the devices that support UWP apps will help you offer the best user experience for each form factor. When designing for a particular device, the main considerations include how the app will appear on that device, where, when, and how the app will be used on that device, and how the user will interact with that device.

[Device primer](../devices/
Getting to know the devices that support UWP apps will help you offer the best user experience for each form factor.

[Designing for Xbox and TV](../devices/
Design your Universal Windows Platform (UWP) app so that it looks good and functions well on Xbox One and television screens.