キーボードがデバイスに接続されているかどうかをテストするために、KeyboardCapabilities.KeyboardPresent を使用しています。
bool hasKeyboard = new KeyboardCapabilities().KeyboardPresent == 1;
残念ながら、Bluetooth キーボードが接続されているかどうかに関係なく、常に TRUE です。次のハードウェアで試しました。
Dell Vostro 470 は、電源のオン/オフ オプションを備えたワイヤレス Bluetooth キーボードを備えたデスクトップ PC です。 http://www.dell.com/in/business/p/vostro-470/pd
Samsung 700T ノートブック (スレート) http://www.samsung.com/uk/consumer/pc-peripherals/slate-pc/slate-pc/XE700T1A-A01UK
キーボードや Bluetooth をオフにしたり、デバイス リストからキーボードを削除したりしても解決しませんでした。KeyboardCapabilities.KeyboardPresent は常に 1 を返します。
ここに何かが欠けているのでしょうか、それともそのような変更を検出するために代わりに使用すべき API がありますか?