[Completed] Bluetooth HID problem: nonkeyboard devices detected as hardware keyboard - XDA Assist

With Android L and M, this problem seem to be more prevalent.
I have a Bluetooth headset, 4.1 and all that. it works fine, except on Android, it registered itself as an HID device, not as BT headset. (In BT settings, it shows as keyboard) though it works fine as a headset it is very problematic as this also means the phone will not show me the soft keyboard until I go into IME and turn off hardware keyboard.
I've since seen other people reported this happening with Selfie sticks (BT version) and possibly other devices.
How can this be resolved permanently, i.e. ignore hardware button on device X? Or does this require a patch, Xposed module, etc.? If replacing the device is not practical? Or is there something in Bluetooth settings that can be manipulated? Root / tasker / Xposed?

kschang said:
With Android L and M, this problem seem to be more prevalent.
I have a Bluetooth headset, 4.1 and all that. it works fine, except on Android, it registered itself as an HID device, not as BT headset. (In BT settings, it shows as keyboard) though it works fine as a headset it is very problematic as this also means the phone will not show me the soft keyboard until I go into IME and turn off hardware keyboard.
I've since seen other people reported this happening with Selfie sticks (BT version) and possibly other devices.
How can this be resolved permanently, i.e. ignore hardware button on device X? Or does this require a patch, Xposed module, etc.? If replacing the device is not practical? Or is there something in Bluetooth settings that can be manipulated? Root / tasker / Xposed?
Click to expand...
Click to collapse
Greetings,
Thank you for using XDA Assist. For further assistance, please ask your questions here:
Android Q&A, Help & Troubleshooting
Good luck!

Actually I answered my own question:
Regarding the headset, I went into bluetooth device settings (the little gear next to the device in Bluetooth) and turned off "input device" profile.
Selfie stick is another problem. Turns out those are ONLY meant to work inside camera apps, preferably Stock camera (not Google Camera, which can be a problem on Nexus devices). They HAVE to act as input device. No other way around it, unless Bluetooth SIG want to define a category just for remote triggers / selfie sticks.

Related

Accessing USB-Port

Hi xda-developers,
I have a serious problem with accessing the usb-port with my unrooted htc desire.
I just want to connect a switch/circuit breaker to my cellphone via usb. And than I want to be able to react on the event if somebody pressed the switch. It's only this little event that I wan't to react on.
I searched the web and found two ways to achieve my goal:
1.) Get a Bluetooth device and interact with that.
2.) Root the Desire and make/solder a usb-to-serial cable
But seriously? A Bluetooth device just to recognize if somebody pressed a hardware button? And I want to share this project so if possible I would relinquish the need of a rooted device.
So now, after hours of web-searching and reading references, I ask you, the awesome xda-developers-community: Is there any easy way to access the usb-port from within my Android-App or the Android-Scripting-Engine?
Every hint is appreciated.
.:LordAlien:.
No one an idea? Or just a little hint where I could read furthermore related to access the usb-port?
It seems like you would need a bit more than root and a USB-to-Serial cable.
Maybe if you only need one hardware switch you could use the mic button input, or play a sound to the mic input? Or use a magnet and the magnetic sensors (electromagnet, or even a neodym magnet glued to your hardware button).
Thanks for your replay.
I already read about the usb-host-capabilites, but I thought if I only want to detect on little signal I would not need the whole usb-host stuff.
Thanks for the Idea with the magnetic thing, but if I really need another device to realize my switch I will stay with bluetooth.
/edit: I thought off buying a littel&cheap bluetooth mouse and interact on the click. Would it be possible? Can I actually connect a bluetooth mouse to my android mobile phone?
I don't think a Bluetooth mouse would work, at least not out of the box. Most Android devices don't fully support the Bluetooth HID or SPP profiles. It's missing software, not hardware. But I saw that the Dell Streak apparently supports keyboards and mice.
BlueInput only supports keyboards, it seems. It doesn't need root. So apparently it should be possible to do the same for mice, but I didn't find anybody doing it yet. But maybe you can ask the BlueInput people whether mice would also work, just without a visible pointer (because Android doesn't have a visible mouse pointer). That wouldn't matter to you, but it would be useless for normal mouse users, so perhaps they just don't advertize that BlueInput can talk to mice, too.
Or maybe you can find a cheap headset which is supported by Android. The answer button should work.
Oh look, with root it works apparently.
Yeah I think you are right again. I only thought of the volume buttons on a headset therefore I suggested a mouse.
Is there list of compatible bluetooth headset? Because I already have one a Jabra BT2015 which is not supported (at least I can't get it working).

[Q] Use bluetooth headset mic instead of phone mic

I've searched around on the forums for an answer to this but could never find anything that seems to match up to my issue.
I have a A2DP enabled headset and want to use it with apps such as Team Speak 3 beta, Vent, and other apps. But for some reason although phone media happily plays over onto my headset. My phone continues to only use the mic built into the phone instead of the bluetooth headset mic.
Any apps designed to use the headset specifically work (ie. normal phone calls, skype, vlingo) but otherwise apps ignore the headset mic.
I already tried using apps like BT Mono and Super BT Mono Froyo but they seem to only pipe audio to the headset, but don't do anything at all with the headset mic.
Does anybody know how to get the headset mic to be selected by apps instead of just the built-in mic?
My device is a Sumsung Galaxy S II ( I9100 ). Both Stock and CyanogenMod Gingerbread
good good good
Still hoping someone may know how to get the Galaxy S II phone to use a bluetooth headset mic instead of the built-in mic on the phone.
I'm really stumped on how to do this.
I still haven't seemed to have any luck finding a way to forcefully map apps to use the headset mic. I'm beginning to wounder if it's possible with the Android OS.
I have the galaxy s2 as well and I've retired several different things and have been unsuccessful with anything I've tried so far... Really difficult to drive and use vent without a headset.
Yeah I'm wanting to do the same thing.. I don't spose you've found a way in the last couple of months? Surely it can be done - may need to get a dev to write something for it though..
Sorry Lilfellabob, still no luck. I find it odd it's so difficulty to remap audio settings.
Even in Ice Cream Sandwich I can't find a way.
The app would need to be written to accept it. Its not a matter of your phone. Its the apps. Think about it for a min. If it works on apps made to use it but another app doesn't work then where does the problem lay?
The thing is, typically other apps should be able to re-route the app to use the headset mic. Alike how there are apps that can force other apps to use bluetooth audio instead of the phone speaker, even if the phone/headset can't use a2dp.
Dav_Edward said:
The thing is, typically other apps should be able to re-route the app to use the headset mic. Alike how there are apps that can force other apps to use bluetooth audio instead of the phone speaker, even if the phone/headset can't use a2dp.
Click to expand...
Click to collapse
Only if the code is there for it to do it. If they don't code it in then it doesn't work.
I'm having a similar problem but slightly the opposite.
I pair my phone to a Bluetooth device that lets me hear phone output on my car's speakers. However, the phone tries to use Bluetooth for the microphone when none exists. I want to force it to use the on-phone microphone. I can talk and talk but no one can hear me, unless I set the phone output to speaker or handset, which implies setting the phone input to amplified built-in mic, or just built-in mic, respectively.
In the Bluetooth settings I can set to use the Bluetooth device for music or phone, but ideally I would want "Phone" to be separated into "Phone output" and "Phone input" so I could uncheck input (and thus use the built-in mic.) This should be implemented at the Android level so that the setting can apply to all apps.
The same problem occured when I wired (2-stripe phone-to-car audio only, no mic) my Palm Pre directly to my car. I just tried with my GNex and it was smart enough to use the built-in mic when a microphone-less plug was connected.
zelendel said:
Only if the code is there for it to do it. If they don't code it in then it doesn't work.
Click to expand...
Click to collapse
wrong. its in the kernel. the new firmware on the android is is capable to transmit Audio Steam to Headset device as Audio only. i wont go 100% against coding to force it to but if they wanted to theres have to be some kind of exploit to do so. lets say if skype were to find that exploit or code it, it would be probably violate android policy.
HtcEvo4gLTE said:
wrong. its in the kernel. the new firmware on the android is is capable to transmit Audio Steam to Headset device as Audio only. i wont go 100% against coding to force it to but if they wanted to theres have to be some kind of exploit to do so. lets say if skype were to find that exploit or code it, it would be probably violate android policy.
Click to expand...
Click to collapse
Actually, what's going on is Skype is using the 'bluetooth device' hook of some sort, just like other apps that support piping audio to the bluetooth headset. However most apps don't use the bluetooth device API/hook and just dumbly send their audio to 'default output device' and 'default input device' blindly and let the OS or Kernel decide where to send it.
The OS or Kernel when it senses a bluetooth device with the 'media' profile on it is present, it changes the default output device to the headset, but it doesn't seem to bother doing the same for the bluetooth mic for the default input device.
Because apps like Teamspeak 3 just blindly use default audio device because it doesn't use bluetooth APIs in the app itself, I have no way to make it use the headset mic.
I wish someone could make a mod or app that will allow mapping the default input to a bluetooth mic when present.
As far as I know, Skype has problems using the BT mike as well. In fact, they took a user survey regarding the issue for android and iOS users. However, I cannot find the results of that survey / study, and Skype recommendations thereof.
User choice to use BT mike seems so BASIC to me, I wonder how it was overlooked...!
Rooting will crack open the full power of your Android device!
Dav_Edward said:
Sorry Lilfellabob, still no luck. I find it odd it's so difficulty to remap audio settings.
Even in Ice Cream Sandwich I can't find a way.
Click to expand...
Click to collapse
zelendel said:
The app would need to be written to accept it. Its not a matter of your phone. Its the apps. Think about it for a min. If it works on apps made to use it but another app doesn't work then where does the problem lay?
Click to expand...
Click to collapse
Rooting the device would give apps or the user permissions to modify system audio controller's (idk if it is anything like ALSA or anything..) settings to make app use the audio channel for the bluetooth headset... an example for the Galaxy s2 i9100 i have is the radio app "Sprit FM" has a "volume control stream" setting which allows the user to select what volume "control" will control the volume of the app's audio output
anywho... i hope it helps a little
rwong48, I have now the same problem that you have described. Have you solved it with any app for Andorid?
Thanks!
Solution
I found an app that solves this problem on android devices, it's called btmono and you can find it in the Google store. I tried to post the link but I don't have enough posts under my belt...
Anyways, pair your device, open the program (such as ts3), connect to your server and then turn on btmono. Voila!
Well, I tried to delete this after I saw that you had already tried btmono, but I couldn't figure out how so just disregard this message.
I already tried btmono, sadly although it works for the output audio, it does *not* work with the headset mic. Programs like TS3 will still keep using the phone's built-in mic, not the headset mine despite using btmono. The only thing btmono does is pipe the output audio to the headset only.
Thanks for the suggestion though
I can't believe they haven't fixed that yet. It is so basic...
Hey guys I'm going through the same issues with my note 2. Svoice was the only one that works but its painfully slow and inaccurate.
Anyways I've tried utter! robin and aivc. Aivc works pretty good but at least it uses the mic.
Utter is really promising but no Bluetooth mic. The devs have acknowledged it though. So hopefully soon.
Update: AIVC has one downfall. The app can't open if the screen is locked like utter and svoice can when prompted from bluetooth. Also, it only listens automatically the first time. If you close it without killing the app, you'll have to press the mic icon manually every time (which takes away from the purpose of handsfree).

[Q] Bluetooth for (apparently) device not compatible for bluetooth.

Hi, I have a question for all of you.
I bought an Irulu 7 tablet that was advertised as not bluetooth compatible, and i decided to look at all the apps, and on all apps section I found an app called "Bluetooth Share". I was wondering, since it doesn't have any other hint of bluetooth capability, if I could get an app that would enable bluetooth on it?
Bluetooth is a piece of hardware. If the tablet doesnt support bluetooth then there is at least a 99% certainty that it does not have the bluetooth hardware. That is not something which can be rectified with an app.
SixSixSevenSeven said:
Bluetooth is a piece of hardware. If the tablet doesnt support bluetooth then there is at least a 99% certainty that it does not have the bluetooth hardware. That is not something which can be rectified with an app.
Click to expand...
Click to collapse
Ok, is there a way to check if i have the bluetooth hardware, or is it a bug with the os that an app called bluetooth share is on the tablet?

[Q] How do i enable bluetooth setting in the maind menu

Alright here is my dilemma: I have a android head unit for my car An6b01 (Adayo, FORYOU, K1) it runs on froyo 2.2 it has a 6.1 inch screen, 1 sd micro slot & and 1 regular sd, 3 usb ports wi-fi and bluetooth 1ghz arm8 processor etc. I'm able to go on the market place web and all that good stuff my problem is that although the unit runs on android 2.2 it has its own native apps which seem to control some of the hardware on the unit. For example it has a bluetooth app thats designated for pairing with your phone which lets you play music off of it receive calls and go through your phone book, This app also enables if the bluetooth is on or not. Now if you go to android settings the bluetooth option is not there and i'm unable to pair with different device such a ODB2 module. I was wondering if there is a way that i could add the bluetooth option back into my setting in order for me to pair with other devices. I have tried some of the apps of the market place like "Bluetooth Enabler" and "Bluetooth Manager" but when i try turning on the bluetooth through there it just says "Turning on Bluetooth" and nothing happens. My unit is rooted and i'm familiar with editing the system files and flashing roms. Could any one give me some tips on how i can enable the Bluetooth setting in my android setting? I also have all the system files if anyone is willing to look at it. thanks:
i just relized that i might of put this in a wrong area... feel free to move it sorry

[Q] Android 5.0 Bluetooth Visibiltiy

I'm pretty sure I remember this setting being available in the preview versions just like in kitkat, but on the recently released images I cannot find the setting to change the bluetooth visibility setting to never time-out. The pioneer bluetooth stereo in my car absolutely will not recognize the presence of my phone unless it is discoverable.
Am I missing something, or has this option simply been removed.
If it has been removed I'm hoping maybe there is something I can modify to get this option back.
Thank you
xxrzdxx said:
I'm pretty sure I remember this setting being available in the preview versions just like in kitkat, but on the recently released images I cannot find the setting to change the bluetooth visibility setting to never time-out. The pioneer bluetooth stereo in my car absolutely will not recognize the presence of my phone unless it is discoverable.
Am I missing something, or has this option simply been removed.
If it has been removed I'm hoping maybe there is something I can modify to get this option back.
Thank you
Click to expand...
Click to collapse
If you open the bluetooth settings it says, that your device is visible to all devices as long bluetooth is enabled. Only in this screen your bluetooth device is visible to other devices.
I hope google fixes this, because its too confusing.
Yes, unfortunately that's the only reference to bluetooth visibility I have found.
My understanding in 5.0 is that your device's Bluetooth is only visible to paired devices, except when the Bluetooth Settings page is open. When the Bluetooth Settings page is open on your device it will be visible to all nearby Bluetooth devices (which is what you need when pairing). Have you paired the Pioneer Bluetooth stereo with your device?
There no longer appears to be an option as there was on 4.4 to permanently set 'Visible to all nearby Bluetooth devices'. However, why would you want that, other than when setting up pairing? It's a security risk.
xxrzdxx said:
I'm pretty sure I remember this setting being available in the preview versions just like in kitkat, but on the recently released images I cannot find the setting to change the bluetooth visibility setting to never time-out. The pioneer bluetooth stereo in my car absolutely will not recognize the presence of my phone unless it is discoverable.
Am I missing something, or has this option simply been removed.
If it has been removed I'm hoping maybe there is something I can modify to get this option back.
Thank you
Click to expand...
Click to collapse
I'm in your same situation, I was googling around and I found this... I'm on CM12 and wish that we can find a solution for make the bluetooth always discoverable on AOSP roms. I own a Lg G3 and on the stock Android 5.0 rom the option (like in KitKat) it still there!
The only reason I was really looking for this features is that my older Pioneer head-unit in my car (DEH-P9800BT) won't connect automatically to my phone unless the phone is discoverable. I've managed to adapt my other bluetooth connections that were set this way to work without the option, but I've tried for years (since my Palm Treo 650p) to get the head unit to connect automatically with no luck.
I am also wondering why they have hid this feature...
Looks like they are trying to go like (cr)Apple, whereas your iPhone is only discoverable within the Bluetooth menu.

Categories

Resources