酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windowsストアアプリでキーボードやマウス、タッチデジタイザーなどの物理入力デバイスの接続の有無を調べる

Windowsストアアプリが動くWindowsデバイスでは、外付けUSBキーボードやマウスなどが接続されているかどうか調べることができます。

Windows.Devices.Input名前空間には、Windowsストアアプリで扱えるキーボードやマウスなどの入力デバイスが接続されているかどうかの情報を取得するためのクラスが用意されています。

物理キーボードが接続されているか

Windows.Devices.Input名前空間のKeyboardCapabilitiesクラスを使って、物理キーボードがデバイスに接続されているのかどうかを調べることができます。

接続されているキーボードの数をKeyboardPresentプロパティを使って取得することができます。

var capabilities = new Windows.Devices.Input.KeyboardCapabilities();

// 接続されている物理キーボードの数を取得する
var keyboardCount = capabilities.KeyboardPresent;

// 物理キーボードが接続されているかを取得する
var isPresent = (capabilities.KeyboardPresent >= 1);

物理マウスが接続されているか

Windows.Devices.Input名前空間のMouseCapabilitiesクラスを使って、物理マウスがデバイスに接続されているのかどうかを調べることができます。

接続されている物理マウスの数をMousePresentプロパティを使って取得することができます。

var capabilities = new Windows.Devices.Input.MouseCapabilities();

// 接続されている物理マウスの数を取得する
var mouseCount = capabilities.MousePresent;

// 物理マウスが接続されているかどうか
var isPresent = (capabilities.MousePresent >= 1);

タッチデジタイザーが接続されているか

Windows.Devices.Input名前空間のTouchCapabilitiesクラスを使って、タッチデジタイザーがデバイスに接続されているのかどうかを調べることができます。

接続されているタッチデジタイザーの数をTouchPresentプロパティを使って取得することができます。

var capabilities = new Windows.Devices.Input.TouchCapabilities();

// 接続されているタッチデジタイザーの数を取得する
var digitizersCount = capabilities.TouchPresent;

// タッチデジタイザーが接続されているかどうか
var isPresent = (capabilities.TouchPresent >= 1);

参照