我正在Raspberry Pi 3上开发一个小的Windows IOT应用程序,我已经购买了这个蓝牙设备:
https://www.amazon.com/gp/product/B00WDARWRY/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
我希望能够监听蓝牙设备命令,并在我的UWP中处理它们。
发布于 2017-02-05 00:29:00
我找到了一个解决方案,尽管我不能获得所有的功能,特别是Gamepad模式。
解决方案是使用以下命令监听输入的设备键:
public MainPage()
{
Window.Current.Dispatcher.AcceleratorKeyActivated += Dispatcher_AcceleratorKeyActivated;
this.InitializeComponent();
}
private void Dispatcher_AcceleratorKeyActivated(Windows.UI.Core.CoreDispatcher sender, Windows.UI.Core.AcceleratorKeyEventArgs args)
{
var eT = args.EventType;
if (CoreAcceleratorKeyEventType.KeyUp == eT)
{
var key = args.VirtualKey.ToString();
switch (key)
{
case "Enter" :
//Do something
break;
case "255" :
//Do something
break;
default:
break;
}
}
}我发现分配了整数的键很难比较,因为似乎没有为它们注册的虚拟键。因此,我将虚拟键转换为字符串以进行比较。
我发现不同设备的整数值不同,因此"255“在另一个设置中可能是"175”。我希望它不会在不同的创业公司之间有所不同。
因此,总而言之,这是一个可以接受的解决方案,我的需求。我确实觉得要么为设备编写自己的驱动程序可能是最好的情况,但我没有时间在这个项目中这样做,也没有意愿立即学习p/invoke和HID对象的微妙之处。
https://stackoverflow.com/questions/41993256
复制相似问题