Mac OS sees usb dongle as keyboard - macos

I am trying to connect controller from xkeys.com to my mbp (10.11.5) the manual suggests me using controllermate.app and I have installed. When I plugin the interface, mac always sees the interface as a keyboard.
From controllermate it says. Controllermate driver is not being used, The driver at /System/Library/Extensions/IOHIDFamily.kext is likely being used.
So is that possible reset this usb settings on macos and use controllermate's driver instead of IOHIDFamily.kext

Finally got problem solved! Here is the answer: I used to use my xkey dongle on an Android table and the dongle has been assigned "Support text, mouse, multimedia macros". So I resetted the dongle and assigned "Supports game controller, mouse, multimedia macros". Now when plugin to mac, controllermate's driver still cannot be used but mac os sees xkey dongle as a game controller. Then all the buttons connected to the dongle are working.

Related

sphero sprk+ isn't discoverable in macbook pro bluetooth

I'm trying to connect to Sphero Sprk+ device with gobot.io, like this example: https://gobot.io/documentation/platforms/sprkplus/
The code cannot connect to the device, so I checked in the visible bluetooth devices from Bluetooth Preferences in MacBook, and Sphero isn't listed there.
Sphero is visible from android devices, and is visible from the MacBook via Sphero EDU application, but not directly from the bluetooth console.
What do I miss?
Thanks
SPRK+ communicates via BLE (Bluetooth Low Energy). BLE comes with concept of 'profiles'. There are public (documented, well-known, standard) profiles, like SPP (serial port profile), A2DP (audio profile), etc. If the device supports these profiles, you can see it in system BT preferences.
However, SPRK+ (Sphero) features it's own private communication profile, not known to Apple nor Google.
That's why the EDU application can 'see' the device, but you cannot find it in BT preferences.

Trouble connecting phone to arduino using droidScript

I am trying to connect my sony xperia sp running on android 7.1 ( Lineage OS ) to my arduino uno using an OTG cable and the droidScript app. It worked perfectly the first time, it asked permission to open droidScript : I clicked on "OK" and checked "Use by default for this USB device".
But now I can't get it to work. When I reconnect my phone to the Uno nothing happen on my phone, droidScrip does not seem to recognize the device either and now when I try to connect my phone to my computer it does not work either ( but it's charging ).
I have tested all my cables and connected the arduino the same way using a different phone several times and it worked ( but didn't allow "Use by default for this USB device" as I suspect it comes from here ). Manually enable MTP through dev options does not work.
How can I remove that "Use by default for this USB device" option, and get the asking permission box back when I connect to my Uno ?
Try unistalling DroidScript and any other apps that might have talked to that USB device and then re-install DroidScript but don't start it up.
Plugin the OTG cable to the device (make sure you get it the right way round so that the OTG cable goes into the phone end) and then you should see the popup box for permissions.

C++ detect Apple headphone buttons on Windows

BACKGROUND INFORMATION:
I've been trying to detect a button click from Apple headphone. The headphone is connected to MacBook Pro that is running Windows. Its not virtual machine. It is running windows normally with a complete windows driver from Apple through Boot Camp.
The headphone is a standard Apple headphone consisted of three buttons: a volume up, volume down, middle buttons and a Mic.
When I am using Mac Os, If the volume up button is presses on the ear phone, Mac Os would increase its volume by one. It also decreases its volume when the voulume down button is pressed on the ear phone.
Standard ear/headphone uses three conductive pins to receive(L/R speakers only) signals while the apple version is using four conductive pins to receive(L/R speakers) and send(buttons) signals. This headphone was made for iPhone but I was surprised when it worked on Mac Os.
This made me believe that the MacBook Pro hardware is built to support this four conductive pins earphone. It works on Mac Os but NOT on Windows. My goal is to develop a tiny software that will allow the apple headphone to function on Windows running on Apple hardware.
I know how to increase Windows volume using C++ and Win32 API but I am stuck on the part where I actually have to detect the button click from the headphone.
QUESTION:
1) what ways can I detect the Input(button clicks) from the headphone?
It looks like this person here was able to read it. He only did it while running on Mac Os
Detect hardware headphone presses in mac
2) If I compile the code this person got working on Mac OS as a DLL file and then call the function while running Windows, will it work?
3) Do I need to make my own driver to get this to work?
4) The code below is from the link I posted above. What windows API function, class is equivelent to the follwoing Mac Os code below?
id array = [[DDHidDevice allDevices] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:#"productName == \"Apple Mikey HID Driver\""]];
DDHidDevice *mic = [array count] ? [array objectAtIndex:0] : nil;
// it isn't a keyboard
NSLog(#"%#", mic.primaryUsage);
assert(mic.usage==1 && mic.usagePage==12);
THINGS I'VE TRIED:
1) I tried using GetLastInputInfo() with LASTINPUTINFO from Windows API to sniff any hardware input but failed miserably. It worked on keyboard and mouse but nothing else.
2) I also tried to use RAWINPUTDEVICE to read a low level input from hardware but it only worked on keyboards, mouse and joystick input. It didn't detect the headphone button press.
I am running out of ideas. Anyone got any solution?
NOTE: This is not a duplicate question as I am asking how to do this on Windows not Mac.

USB Bluetooth dongle stop working

Windows 7 32bit, Dell laptop.
I find my USB Bluetooth dongle stop working, I used it very rare. When I connected USB dongle, it show 'Unknown device' message, and driver not installed. In taskbar show notifications 'USB device not recognized'.
In Device Manager this USB Bluetooth dongle shown as "Unknown device". I tried right click on icon, 'Uninstall Driver Software', then Action > "Scan for hardware changes", it refreshes and show message driver installed successfully in windows taskbar. But, in Device Manager, this USB dongle still yellow "Unknown Device". When right click in icon, device status is "Windows has stopped this device because it has reported problems. (Code 43)' I tried to ininstall every item under "Universal Serial Bus controllers" menu in Device Manager, then rebooted PC, but this not help. I uninstalled all Bluetooth devices from Device Manager, include Bluetooth Radios and Network adapters:
But this not help, too. From MSDN Bluetooth FAQ I read that Windows 7 include in-box support for Bluetooth.
How to install built-in the system Bluetooth drivers in Windows 7 and enable Bluetooth? (I need only transfer files, not audio capabilities).
I find the problem: USB Bluetooth Adapter dongle is faulty. So this is hardware issue.

iMac developing Bluetooth 4.0 application with external dongle

I have a Late 2009 iMac which doesn't support Bluetooth 4.0 and an USB Bluetooth 4.0 dongle (CSR).
I need to write an OSX application which transfers data with a Bluetooth 4.0 device.
If I plug the dongle, the CBCentralManager returns the state CBCentralManagerStateUnsupported since OSX has loaded the driver for the internal Bluetooth device.
If I issue the following command:
sudo nvram bluetoothHostControllerSwitchBehavior="always"
the OSX loads the driver for the dongle, the CBCentralManager recognize the device but unfortunately both wireless keyboard and magic mouse stop working. Presumably because they use a previous version of Bluetooth.
Is there any way to have both internal Bluetooth and external dongle working together ?
Aside from the development, which I can manage with USB keyboard and mouse, this issue prevents older iMacs to use my app.
Thank you in advance.
...unfortunately both wireless keyboard and magic mouse stop working. Presumably because they use a previous version of Bluetooth.
This is not true. The iMac takes some time to recognize that it has not keyboard and mouse configured. After waiting some time, the iMac asks for pairing keyboard and everything work correctly with the external dongle.

Resources