Vuo  2.4.1
VuoInputEditorHidDevice.cc
Go to the documentation of this file.
1
11
12extern "C"
13{
14 #include "VuoHid.h"
15}
16
21{
22 return new VuoInputEditorHidDevice();
23}
24
29{
30 VuoInputEditorMenuItem *optionsTree = new VuoInputEditorMenuItem("root");
31
32 optionsTree->addItem(new VuoInputEditorMenuItem("None", NULL));
33
34 optionsTree->addSeparator();
35 optionsTree->addItem(new VuoInputEditorMenuItem("First device of type", NULL, NULL, false));
36
37 vector<pair<int,int>> usages{{1,6},{1,2},{1,4},{1,5}};
38 VuoHidDevice device;
39 bzero(&device, sizeof(device));
40 device.matchType = VuoHidDevice_MatchUsage;
41 for (auto usage : usages)
42 {
43 device.usagePage = usage.first;
44 device.usage = usage.second;
45 char *label = VuoHid_getUsageText(device.usagePage, device.usage);
46 optionsTree->addItem(new VuoInputEditorMenuItem(VuoText_format(" %s", label), VuoHidDevice_getJson(device)));
47 free(label);
48 }
49
50 optionsTree->addSeparator();
51 optionsTree->addItem(new VuoInputEditorMenuItem("Specific device", NULL, NULL, false));
52
54
55 unsigned long deviceCount = VuoListGetCount_VuoHidDevice(devices);
56 if (deviceCount)
57 for (unsigned long i = 1; i <= deviceCount; ++i)
58 {
59 VuoHidDevice device = VuoListGetValue_VuoHidDevice(devices, i);
60 optionsTree->addItem(new VuoInputEditorMenuItem(VuoText_format(" %s", device.name), VuoHidDevice_getJson(device)));
61 }
62 else
63 optionsTree->addItem(new VuoInputEditorMenuItem(" (no devices found)", NULL, NULL, false));
64
65 return optionsTree;
66}