tahainfocreator / android-bluez-ime

Automatically exported from code.google.com/p/android-bluez-ime
0 stars 0 forks source link

Better HTC EVO Compatibility #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Wanting to know if this is possible now or with a future update. Need to know 
before I purchase a Zeemote JS1. I was wanting to use this software along with 
a Zeemote to control my emulators (psx4droid, etc.). Zeemote support said that 
the Zeemote is not "fully compatible with the EVO and that you will have to 
turn off the zeemote to fully disconnect the two". Kind of a gray answer as to 
if it works or not. Thanks in advance though.

Original issue reported on code.google.com by philipbyrdjr@gmail.com on 24 Jan 2011 at 10:57

GoogleCodeExporter commented 9 years ago
I only have a HTC Desire device for testing with, so I can't give you a 
straight answer. It _should_ work, given that the Bluetooth looks similar to 
the one in the Desire. I would also say that my Zeemote came without drivers of 
any kind.

Original comment by kenneth@hexad.dk on 25 Jan 2011 at 9:51

GoogleCodeExporter commented 9 years ago
Zeemote released this sdk awhile back (you probably already know):

http://www.zeemote.com/uk/developers/zeemote-sdk/

You can sign up to recieve info on it. Would this help with zeemote 
compatibility? I ordered one from bestbuy.com and if it doesn't work, I'll take 
it to a local store for credit. But the HTC Desire is an Android/Sense UI 
phone, correct? I thought all sense phones had problems with these bluetooth 
devices/controllers. Also, I'm not sure why my issue popped up so many times in 
the updates. Maybe it's supposed to? Thanks again.

Original comment by philipbyrdjr@gmail.com on 25 Jan 2011 at 2:36

GoogleCodeExporter commented 9 years ago
I signed up for the SDK, but unfortunately their SDK license agreement states 
that you must prevent users from modifying code based on it, so it is a no-go 
for open-source software. I have had some communication with them regarding 
this issue, but so far I have not been able to obtain the SDK while retaining 
my right to develop open source software.

Original comment by kenneth@hexad.dk on 25 Jan 2011 at 2:40

GoogleCodeExporter commented 9 years ago
Well I'll test the zeemote when I get it and get back to you on if it works/how 
much works/etc. Thanks.

Original comment by philipbyrdjr@gmail.com on 25 Jan 2011 at 2:44

GoogleCodeExporter commented 9 years ago
Good news and bad news.

Good news:
The zeemote js1 paired and connected (though in your bluetooth settings it will 
say paired but not connected...) and controlled great on both psx4droid (v1.7) 
and nesoid (newest version). I even compared the Bluez IME to the GamePro 
driver (v2.02.02 or something like that) and this one seemed superior in terms 
of responsiveness and recognizing precise input. I was very surpised to see 
this work seeing as to how all my research had me doubting it would(EVOs-non 
rooted, Bluetooth stacks, and gamepads = not good).

But now :(...

Bad News: After I turned Bluetooth off and my zeemote off, I waited a bit and 
tried reconnecting (turn on bluetooth, turn on zeemote, activate IME through 
text field) and... it didn't work then. I tried alternating steps, 
disconnecting/unpairing, redoing all the steps, etc and had no luck of getting 
it to work again. This is when I tested the GamePro driver. The GamePro driver 
(though it seems their controls and input aren't as precise) connected every 
time. I could turn off bluetooth and the zeemote, wait, turn both back on (and 
activate the IME through a text field) and it would instantly recognize the 
zeemote and enable control. The GamePro driver has a nice feature of displaying 
an icon in the notification bar telling you its on and is searching for your 
device (which then promts the pairing request the first time where you enter 
0000, though every time after it remembers this and just instantly connects). 
The Bluez IME said it was paired with my device, the ime activated, yet it 
would never ask for the pairing request and I couldn't go left and right in the 
URL field (or any text field). I eventually got Bluez IME to work again (no 
idea how or what I did different... luck) and then turned off bluetooth and the 
zeemote to see if I can disconnect/reconnect like I can with the GamePro 
driver. You can't. So twice I got it to work but the GamePro driver (once 
paired) can connect/disconnect/reconnect every time with no need to scan again 
or input "0000" anywhere. It's almost like the Bluez IME was not activating 
after I changed the IME through a text field (like changing it did not promt 
the search and connection to my zeemote that it is already paired with and 
remembers). I tried unpairing the device and rescanning in Bluez IME settings 
and after I found the zeemote and clicked it, activated IME, left the settings, 
went back into settings, my device was no selected and I would have to scan 
again. Anyways, I've gone on way too long lol. Hope you can get this working 
like the GamePro driver in terms of connecting hassel free and then you will 
have yourself a better product. Thanks for any help. Happy to test more if 
needed.

Original comment by philipbyrdjr@gmail.com on 27 Jan 2011 at 6:04

GoogleCodeExporter commented 9 years ago
Also note that each time I speak of activating the IME, I'm doing it in the 
Bluez IME settings part and doing it in a text field (input method).

Original comment by philipbyrdjr@gmail.com on 27 Jan 2011 at 6:08

GoogleCodeExporter commented 9 years ago
Cool, so it works :)

I can add a "connecting" icon as well, so it can display while connecting.
It would probably also be a good way to inform the user that they have a 
different IME on if they try to type in text and forgot they activated it.

On my phone I only ever get asked for the PIN the first time, after this it 
always just connects, so maybe that is what is different.

I will add the status icon, and post a market update with this change, but it 
may be a few days before I get time to do it. In the status icon it will also 
display some status info, which may help to debug why it won't re-connect.

Thanks for the feedback, much appreciated.

Original comment by kenneth@hexad.dk on 27 Jan 2011 at 10:27

GoogleCodeExporter commented 9 years ago
Awesome.

I did some more testing and was able to get the zeemote to connect again but 
only after using the gamepro driver a few times (connect, disconnect). I turned 
bluetooth on, turned on the zeemote, changed input method to bluez ime and got 
a msg saying it was connecting. After it connected, I tested it and it worked 
perfectly. I then tried disconnecting and reconnecting but did not change the 
input method while doing this (it stayed on the bluez ime one). My phone acted 
like nothing was happening and the zeemote did not connect through bluez ime. 
But immediately changing to gamepro ime prompted the status bar icon and it 
connected. It's almost like activating the bluez ime through the input method 
is not telling my phone what to do all the time(connect the two devices) and 
maybe the gamepro driver (once the input method is set to it) goes through a 
series of automated steps to scan, pair, and connect to the remembered zeemote 
device each time. Idk though. I'm not a programmer so I don't understand it all 
really. Glad I could help you with your app though :) Hope to see it get better 
and better.

Original comment by philipbyrdjr@gmail.com on 27 Jan 2011 at 10:56

GoogleCodeExporter commented 9 years ago
I think I have figure out what goes wrong.

After it is disconnected and won't connect, try to kill Bluez IME, by:

* Go to home screen
* Press menu button
* Press Settings
* Press Applications
* Press Administer programs
* Press Bluez IME
* Press Force stop

Now go to a text field, and it should re-connect.
If it works, I can fix it pretty easily.

Original comment by kenneth@hexad.dk on 28 Jan 2011 at 9:30

GoogleCodeExporter commented 9 years ago
JIC you didn't get that reply:

You figured it out. Killing it after I disconnect enables me to reconnect 
again. Turn on blue, zee, then input method is all you have to do after you 
initially pair the device. Thanks

Original comment by philipbyrdjr@gmail.com on 28 Jan 2011 at 8:20

GoogleCodeExporter commented 9 years ago
I have put up a new version on this site, with a number of fixes, including a 
re-connect fix and a notification icon.

I will put it on market in a day or two, but if you could try it out before 
then, that would be great. You may have to uninstall/reinstall to get it 
working.

Link to the updated APK:
http://code.google.com/p/android-bluez-ime/downloads/detail?name=BluezIME-1.1.ap
k

Original comment by kenneth@hexad.dk on 29 Jan 2011 at 11:34

GoogleCodeExporter commented 9 years ago
Awesome. Works perfect now. Disconnect, reconnect as much as you want.  I would 
definitely recommend this app to people over gamepro considering it is free. 
You could probably charge a $1 if you wanted. Gamepro does have more 
customization options tho. One thing that is odd is when you are mapping the 
buttons of the zeemote in any of the emulators, the button name comes up as 
"unknown". Regardless though, a free app that works for us HTC sense people who 
want controllers. Now, if you could get the classic wii controller to connect 
and function without root for my Evo, I'll gladly pay this app lol :)

Original comment by philipbyrdjr@gmail.com on 29 Jan 2011 at 9:08

GoogleCodeExporter commented 9 years ago
I donated :) Keep up the great work and I can't wait to hear back from you if 
its possible to get a wii controller (or any other kind of gamepad/controller) 
working with this besides the bgp100 piece of crap. Thanks.

Original comment by philipbyrdjr@gmail.com on 29 Jan 2011 at 9:19

GoogleCodeExporter commented 9 years ago
Yeah, I could probably charge, but I really think this should have been 
supplied by Zeemote, so to keep other people from being angry and having it all 
open source, I will keep it free. Those who appreciate it can donate, and thank 
you for doing so :)

The button names come up as "Unknown" because the use the codes for "BUTTON_A", 
"BUTTON_B", "BUTTON_C" and "BUTTON_X" (A,B,C,D), but those were not in Android 
2.2, so some apps do not understand them, but it works anyway.

I will add an issue requesting customization of buttons, but unless there is 
some demand for it, I won't do it, because it takes too much time, and all the 
games seem to be configurable anyway.

I will add an issue requesting Wii-mote support as well. I don't have a 
Wii-mote but I think I can borrow one for a week or so.

You can "star" the issues if you want an email whenever there is some update.

The problem with adding new controllers is that I either need documentation or 
a working controller for me to add it. If you know how to debug, you can 
connect to the device with the "Data Dump Driver", and then look at the output 
from Logcat to see what messages the controller sends when you press the 
buttons. With that info I should be able to get any controller working.

Original comment by kenneth@hexad.dk on 30 Jan 2011 at 9:46