При использовании HID на устройстве Bluetooth, как правило, нет необходимо создать соединение L2CAP напрямую. Все (???) стеки Bluetooth на Win32 имеют поддержку Bluetooth HID и обеспечивают доступ к потоку/управлению HID через собственный API HID Windows. Нет (прямой) L2CAP требуется! :-)
В WinCE есть встроенная поддержка Bluetooth HID, но я не уверен, что есть способ получить доступ к API HID.
Вот как работает библиотека Wiiimore Брайана Пика - она использует API HID. Хорошая вещь в том, что каждый получает поддержку для всех (?) Стеков Bluetooth именно так: каждый из них поддерживает HID-устройства через API HID Windows, тогда как для непосредственного использования L2CAP необходимо поддерживать каждый из API стеков. .. (Если это так, у меня нет BlueSoleil API L2CAP).
Итак, на Win32 нужно просто установить соединение с устройством и проверить, что флажок HID установлен на вкладке панели управления Bluetooth Service (в зависимости от того, какой стек Bluetooth используется). В моей библиотеке 32feet.NET можно обнаружить устройство и убедитесь, что HID включен для нее с:
BluetoothDeviceInfo[] list = btCli.DiscoveryDevices();
var deviceInfo = list[n]; // Select the correct device
deviceInfo.SetServiceState(BluetoothService.HumanInterfaceDevice, true);
(Это должно работать на MSFT и BlueSoleil, нет API для этого на Widcomm AFAIK - хотя, когда в паре он может автоматически включаться).
Один из возможных случаев исключения состоит в том, что, по-видимому, некоторые устройства не полностью соответствуют спецификациям Bluetooth/HID, мне говорят, что контроллер PS3 blu-ray аналогичен этому. Затем можно попробовать напрямую подключиться к L2CAP, но, скорее всего, поддержка этого пакета для HID будет мешать сторонним приложениям, пытающимся предоставить ту же услугу ...
Просто случайная идея - вы изучили Wiimote библиотеки? Я не удивлюсь, если подключение к плате баланса несколько схоже. – EboMike
.. Я изучаю «WiiYourself» ... – ethrbunny
Используйте gamedev.stackexchange.com –