#Windows10 – Disable the #SurfaceDial global menu in a UWP App


Today’s post is a fast one, for a specific scenario:

In a Universal Windows Platform App, we must define whether to show or hide the menus when working with a Surface Dial.

To do this, we must access the general configuration of Surface Dial using RadialControllerConfiguration.

The following class shows an example of a global service for a UWP with an operation where this value is validated from the settings of an App.

using Windows.UI.Input;
using SurfaceDialApp01.Views;
namespace SurfaceDialApp01.Services
public static class SurfaceDialService
public static async void InitSurfaceDialMenu()
var surfaceDialConfiguration = RadialControllerConfiguration.GetForCurrentView();
var ret = await SettingsPage.GetIsSurfaceDialMenuEnabled();
surfaceDialConfiguration.IsMenuSuppressed = !ret;

In the GitHub example you can see the complete operation. In short, the option to use or not, the menus of Surface Dial are defined through the settings of the App.


Source Code GitHub

Happy Coding !!!

Saludos @ Toronto

El Bruno



  1. Hi Bruno, you think there is some way to hook globally events form surface dial.
    I love this little device, but if have to wait every vendor add support for the device……you know, that not happen for every app.
    I’m interested in find a way to listen all events form surface dial when the app I’m coding not is on focus.
    This open a door, to cerate third party tools for surface dial.
    IN other hand I trying to use the customization provided in windows 10, for create custom shortcuts, but I cant find yes anyway anyway to add custom tools programmatically, setup custom icon of the custom tools, etc.
    The hotkeys custom tools is a poor way, compared to hook events directly from surface dial, but can be at least some way to do something more useful than sit down to vendors add support, what form my point of view not happen never ever.
    Best regards!!


    1. Hi Pablo

      As far as I know there are no global hooks for the SD. However, it’s still a Bluetooth device, so I think that it will be feasible to subscribe to the device events using standard Bluetooth API operations. It just an idea, I probably need to spend sometime with some bluetooth explorer app to try to understand the messages sent by the device.



      1. Thanks for the reply.
        I broken my head to try to find the way to pickup raw events form the BLE, not success.
        Im not lazy, but this is a miles away of my knowledge.
        If you have some free time, please can check how listen the events form the SD?
        And please not universal app, wpf 🙂 please.
        If not have time don’t worry I understand.
        Again, Thanks for you reply !!


  2. Well, not exactly raw data, the idea is find the way to create c# software always is listening to rotation, clock, and clockwise, and to click on the dial.
    When I said always, I mean no matter the software listener app, is or not in focus.

    Think will be possible?


Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: