I’m very familiar with the HID keyboard and mouse profile and have built products using it but need direction on how to replicate the functionality of a up/down/left/right finger swipe on a iPhone. Any guidance will be valuable. Thanks
I’m very familiar with the HID keyboard and mouse profile and have built products using it but need direction on how to replicate the functionality of a up/down/left/right finger swipe on a iPhone. Any guidance will be valuable. Thanks
What I'm trying to accomplish is exactly what this remote is doing but not sure what type of Bluetooth HID profile it's working with. What it's doing is performing up/down/left/right scroll as if it was a finger swipe. I think it is acting like a digitizer but it shows up as a keyboard profile and not a mouse. There is another thread that talks about HID digitizer and has an example project to go with it but its base is on top of mouse. So I'm little confused on what HID profile to focus on. I do have the packet logs captured from this remote. Is there a way to capture the report profile from a device?
Hi Matthew
If you have access to the device in question you should be able to connect to it from the nRF Connect mobile app, and read out the HID report descriptor from there.
Then you can try to replicate that HID descriptor in your own peripheral implementation.
Best regards
Torbjørn
Trobjorn,
I understand and thanks for the feedback. Besides, I just figured it out. I solved all the hard problems but left a small hidden setting unchecked.
Does Nordic recommend any other 3rd party libraries like Adafruit that are not Arduino based?
Hi Matthew
Good to hear you figured out the issue
Traditionally one of the largest third party software platforms was the mBed platfrom from ARM:
https://www.mbed.com/en/
Their API's are very user friendly and "Arduino like", but I am not sure how well ARM is supporting it anymore. They also use an online IDE/compiler solution which is great for hobby or prototyping projects, but not ideal for more complex projects.
There are also some fun projects such as MicroPython or CircuitPython, allowing you to run Python code on certain Nordic devices, but these take you even more into the hobby/prototyping space.
In the end I would discourage using third party software platforms if you are intending to go to mass production with a product based on a Nordic device. Then you want the software support that we can provide, and you want to leverage code that has been thoroughly tested both by us and by countless Nordic customers.
If your current project is more of a proof of concept or evaluation project then I see no problem using other software platforms.
Best regards
Torbjørn
Torbjørn,
So I did all this working and it seems that with iOS 13.4 made some changes that caused this report descriptor to stop working. I had a product close to going into production in a week and I have no clue what changes were made in iOS. I'm using the Digitizer-Pen-Stylus report descriptor and think I have to move to something else. Do you have any recommendations on what I should do? Do you know of any working examples of the Digitizer that I could pull from to test.
iOS is now ignoring my input.
Mar 20 16:47:55 iPhone backboardd[64] <Error>: ignoring digitizer event for main screen, not from built-in digitizer (<BKIOHIDService: 0x109dc7430; serviceStatus: matched; IOHIDService: IOHIDService name:IOHIDEventDriver id:0x100000dce primaryUsagePage:0x1 primaryUsage:0x6 transport:BluetoothLowEnergy reportInterval:8000 batchInterval:0 events:87 mask:0x800; senderID: 0x100000DCE; displayUUID: 0x0; eventSource: externalKeyboard; primaryUsagePage: 0x1; primaryUsage: 0x6; authenticated: NO; builtIn: NO>):+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Timestamp: 73357602092 Total Latency: 877 us SenderID: 0x0000000100000DCE BuiltIn: 0 ValueType: Absolute EventType: Digitizer Flags: 0x90003 DisplayIntegrated: 1 TransducerType: Stylus TransducerIndex: 0 Identity: 0 EventMask: 2 Events: Touch ButtonMask: 0 Range: 1 Touch: 0 Pressure: 0.000000 AuxiliaryPressure: 0.000000 Twist: 0.000000 GenerationCount: 0 Will
Hi Matthew
I suggest you open a new case on this.
Most of us are working from home these days and since I normally don't handle iOS related cases I don't have any iOS devices to test with. Neither do I know the platform very well.
In my experience Apple can be quite restrictive in the way you interface with their products, but they're usually good at documenting how it should be done. Have you checked their developer pages if they have any documentation regarding HID devices?
Best regards
Torbjørn
Hi Matthew
I suggest you open a new case on this.
Most of us are working from home these days and since I normally don't handle iOS related cases I don't have any iOS devices to test with. Neither do I know the platform very well.
In my experience Apple can be quite restrictive in the way you interface with their products, but they're usually good at documenting how it should be done. Have you checked their developer pages if they have any documentation regarding HID devices?
Best regards
Torbjørn