我们使用 KeyboardCapabilities.KeyboardPresent 来测试键盘是否连接到设备:
bool hasKeyboard = new KeyboardCapabilities().KeyboardPresent == 1;
不幸的是,无论是否连接蓝牙键盘,它始终为 TRUE。我们使用以下硬件进行了尝试:
Dell Vostro 470 是带有无线蓝牙键盘的台式 PC,具有电源开/关选项。
http://www.dell.com/in/business/p/vostro-470/pd
三星 700T 笔记本(板岩)
http://www.samsung.com/uk/consumer/pc-peripherals/slate-pc/slate-pc/XE700T1A-A01UK
关闭键盘、蓝牙、从设备列表中删除键盘等都没有帮助,KeyboardCapabilities.KeyboardPresent 总是返回 1。
我们是否在这里遗漏了某些东西,或者是否有我们应该使用的 API 来检测此类更改?
最佳答案
同样有这个问题,在我的 Microsoft Surface(有一个可拆卸的键盘)上,KeyboardPresent
总是返回“1”,即使没有连接键盘(触摸/键盘盖)并且我们打开了软件键盘。
关于windows-8 - Windows 8 WinRT KeyboardCapabilities.KeyboardPresent 始终为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841218/