blob: dc1d28a0eb94ee6c5613992b67ff06ab2cb92090 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
extern "C" {
#include "keyboard.h"
}
#include <interface/Input.h>
#include <support/List.h>
const char* ffDetectKeyboard(FFlist* devices /* List of FFKeyboardDevice */) {
BList list;
if (get_input_devices(&list) != B_OK) {
return "get_input_devices() failed";
}
for (int32 i = 0, n = list.CountItems(); i < n; i++) {
BInputDevice* device = (BInputDevice*) list.ItemAt(i);
if (device->Type() != B_KEYBOARD_DEVICE || !device->IsRunning()) {
continue;
}
FFKeyboardDevice* item = FF_LIST_ADD(FFKeyboardDevice, *devices);
ffStrbufInit(&item->serial);
ffStrbufInitS(&item->name, device->Name());
}
return NULL;
}
|