Open T-vK opened 4 years ago
@T-vK : thanks a lot for bootstrapping this table of hardware that will be veru useful. Maybe we can add "relative" and "absolute" mode as we would find eventually a way for absolute mouse HID to work with this library at some point. For testers, I recommand to be careful on :
uint32_t chipId = 0;
String bleDeviceName;
for(int i=0; i<17; i=i+8) {
chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i;
}
bleDeviceName = "my-device-" + String(chipId);
bleMouse.deviceName = bleDeviceName.c_str();
Cheers
The library (BLE + Relative Mouse) works with :
[x] iPad 7th Generation | iOS 14.0.1
[x] iPhone SE 2nd Generation | iOS 13.4
[x] iPad Pro 10.5 | iOS 13.7
[x] iPad Pro 10.5 | iOS 10.3.2 (the 127, -127 moves appeared to be at least 3 times smaller than on the same tab with iOS 13.7)
[x] Huawei MediaPad T5 | Android 8
[x] Lenovo Tab M8 | Android 9
Also, I use @xcarcelle 2nd tip above when I use multiple ESP32 devices running with the same name.
@xcarcelle Thanks for all that information.
Ideally you would be setting the device name during instantiation:
BleMouse bleMouse("Bluetooth Device Name", "Bluetooth Device Manufacturer");
instead of
BleMouse bleMouse;
@DareDareHub Thanks for that extensive list.
Are you saying that it generally doesn't work for you using the default name "ESP32 Bluetooth Mouse"? Or does it only cause problems when you have multiple ESP32 devices running with that same name?
At the moment I'm not sure if a list of supported Android devices is needed. For Android it might be as simple as "If it supports Bluetooth LE, it works", as I can't recall anyone reporting any issues with that. A list of compatible USB dongles may be helpful though as some people have reported issues with theirs on Windows.
@T-vK Sorry, yes, it only cause problems when I have multiple ESP32 devices running with the same name. (Edited my post above)
But that would be a general issue with all Bluetooth devices, right?
@T-vK Good question, I would be inclined to say so too myself, I do not own 2 same devices that have the same name to try though.
But I think it's safe to say that it's not a library problem but more a problem of how iOS stores and refreshes the information of BLE devices that connect to the tablet.
Tested on iphone6s ,8plus,XR,12,12pro, ipad mini5, ipad pro 1st gen. All work.
@hkg4788 Thank you very much, is there any chance you can also tell me the iOS versions of your devices?
it runs on iPhone 11 Pro and iPhone SE 1st Gen. Both are on iOS 14.4
It‘s don't work well in my iphone7plus 、iphone11、and ipad air3. I think something is wrong with my code
Does not work on my Mac. OS: macOS Monterey - 12.1 Hardware: Macbook Pro 2019 - 16" Intel stuff..
Able to scan and connect to the device, but the demos (for e..g the scroll down) does not work. Serial monitor shows the messages printed... FWIW : I have tried micropython / raw HID device code and having the same issues - leading me to believe there is something special Mac is expecting. Unable to debug using tools like LightBlue since Mac prevents other regular apps for seeing the "Generic Access" service characteristics...
Found this: https://developer.apple.com/forums/thread/21718 - Maybe we are making the same assumptions about reserved bits when we are doing the Legacy pairing?
I would like to maintain a list of Apple devices here that work or don't work with this library. If you have tested a device that is not listed with the same OS version yet, please add a comment and tell me which device and operating system (i.e. iOS version or Mac OS version). If you tested a device that is already listed, but you had different results (e.g. list says it doesn't work, but for you it does work), please add a comment as well. (And don't forget to mention your device name and OS version.)
Devices that work
Devices that don't work