arashileung / android-bluez-ime

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

Support for iCade please #112

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What version of BluezIME are you using?
1.11

What Android device do you have? What Android version?
Vizio tablet VT1008.  Android 2.3.2

What gamepad are you using?
iCade
http://www.ionaudio.com/products/details/icade

Please provide any additional information below.
Please add support for the iCade. On my tablet, iCade pairs, but does not 
connect due to missing HID driver in my Android build.  Bluez-IME seems like a 
good solution but as far as I can tell it doesn't support iCade.  Developer 
info is here:
http://www.ionaudio.com/downloads/iCade_Dev_Resource_v1.3.pdf

Original issue reported on code.google.com by anilkpa...@gmail.com on 2 Nov 2011 at 4:35

GoogleCodeExporter commented 9 years ago
The developer guide is not detailed enough, I wrote them, so for now I am 
waiting for a response.

Original comment by kenneth@hexad.dk on 5 Nov 2011 at 8:38

GoogleCodeExporter commented 9 years ago
I also emailed ion, waiting for a response, I don't suppose there have been any 
updates  to your request?

Original comment by s...@ntiforo.net on 29 Dec 2011 at 1:28

GoogleCodeExporter commented 9 years ago
Oh I just add an issue #136 for iCade support.

If you miss the details on the iCade and the dev guide isn't good enough, you 
might want to contect the homebrew emulator dev of Mame4Droid. He has iCade 
support integrated, running great at this very moment.

Maybe he can supply you the missing info Kenneth!

Original comment by flash36...@gmail.com on 30 Dec 2011 at 5:09

GoogleCodeExporter commented 9 years ago
Issue 136 has been merged into this issue.

Original comment by kenneth@hexad.dk on 30 Dec 2011 at 5:30

GoogleCodeExporter commented 9 years ago
I have not yet heard from the iCade people.
I got an email which seems to indicate that the mail had been processed in 
their ticket/email/issue system, but nothing else.

I did however find out from issue #136 that it seems to work with Android, and 
I was even able to grab the source code, so I should be able to replicate that 
as soon as I have an hour or so:
http://www.explusalpha.com/home/general-info/development

Original comment by kenneth@hexad.dk on 30 Dec 2011 at 5:33

GoogleCodeExporter commented 9 years ago
Ah nice! Yes, I got it working, check out these screenshots of Mame4Droid 
running for example Metal Slug on iCade (Touchpad with Android 2.3.7 CM7 hacked 
onto it). Also attached screenshot of Mame4Droid with iCade option in it.

Original comment by flash36...@gmail.com on 30 Dec 2011 at 6:05

GoogleCodeExporter commented 9 years ago
Uh, these screenshots!

Original comment by flash36...@gmail.com on 30 Dec 2011 at 6:06

Attachments:

GoogleCodeExporter commented 9 years ago
I had a look at the source code, but it is not updated with iCade for Android, 
only for iPhone. I will wait a little to see if he updates it.

Original comment by kenneth@hexad.dk on 2 Jan 2012 at 9:47

GoogleCodeExporter commented 9 years ago
Wait, at what sourcecode did you take a look? I'm using Mame4Droid, its free in 
Android store and it uses iCade native for Android, If you're looking at the 
PCE/Turbografx, Megadrive, NES emu indeed they haven't been updated with iCade 
for Android yet.

Original comment by flash36...@gmail.com on 2 Jan 2012 at 9:11

GoogleCodeExporter commented 9 years ago
Yes, I figured out that I had looked at the wrong code, but I wrote the dev 
from explusalpha and he explained to me how the iCade works.

Now the sad news is that iCade presents itself as a regular keyboard. This 
means that it uses the Bluetooth HID profile and the L2CAP transport layer. 
Newer Android devices (3.1+) should support this right away, meaning that there 
is really no need for BluezIME here. All the major brand devices pre 3.1 (HTC, 
Samsung, LG) have a reduced kernel with no HID and no L2CAP. I can make the HID 
part in BluezIME, but L2CAP needs to be implemented in the kernel. In other 
words you need to flash your phone and put on a custom ROM.

There are other requests on this site that center around support for HID, but 
as I cannot add L2CAP to most devices, there is little point in me building the 
HID support required (very few devices have L2CAP but no HID). And since the 
problem should not be there in the future, I feel that it is a waste of time 
implementing this. :(

As always, if someone knows something that can persuade me to think 
differently, please let me know.

Original comment by kenneth@hexad.dk on 3 Jan 2012 at 10:23

GoogleCodeExporter commented 9 years ago
Ah ok! I see. I thought adding the iCade was a lot easier.

I'll just have to wait till separate emulators will update with an iCade 
controller input profile I guess.

Anyway, thanks for looking into it, and if you ever will update it with the 
keyboard/HID for BluezIME, I'll see it by then. Still think it has some use, 
for those emulators that don't let one use a keyboard/HID/iCade but for example 
do let one use the BluezIME implementation (I downloaded BluezIME after using 
an emulator that directed me to the BluezIME download).

Won't it be usefull for the devices that won't/can't run 3.1+ Android? Anyways, 
I understand the decision if you would not integrate it ofcourse. Thanks for 
giving some insight in how this stuff works.j

Original comment by flash36...@gmail.com on 3 Jan 2012 at 4:44

GoogleCodeExporter commented 9 years ago
My understanding is that the Cyanogen mod ROM does support L2cap. It's by far 
the most popular custom ROM and supports many, many devices. I've seen a number 
of people around the net on various sites mention using the iCade with an HP 
Touchpad running the Cyanogen mod 7 and I myself am running this setup. 

In my humble opinion given that the Cyanogen mod rom runs on 56 different 
devices according to their website (http://www.cyanogenmod.com/devices), I 
think it would be worth adding HID.

Original comment by oliva.mi...@gmail.com on 4 Jan 2012 at 12:30

GoogleCodeExporter commented 9 years ago
I've changed my mind :)

I have just finished HID support for keyboards, and I should be able to wrap 
that into an iCade module.
I hope to have it done in two-three weeks, so those of you with a ROM that has 
L2CAP (CyanogenMod and others) should be able to get this working then.

Original comment by kenneth@hexad.dk on 8 Jan 2012 at 9:08

GoogleCodeExporter commented 9 years ago
Well, that took less than 2 hours :)

Attached is a version with iCade support, but given that I have no iCade for 
testing, it is quite possible that I have screwed something up. I tested with a 
keyboard and since the iCade is supposed to mimic a keyboard, it should work.

Let me know what happens, and send a logcat dump if something does not work.

Original comment by kenneth@hexad.dk on 9 Jan 2012 at 9:07

Attachments:

GoogleCodeExporter commented 9 years ago
WOOHOO it works! I can play other games now besides MAME. Just did a run 
through of Sonic, which doesn't work without the IME. With it at the defaults 
controls work just fine on the iCade!

Original comment by oliva.mi...@gmail.com on 10 Jan 2012 at 5:28

GoogleCodeExporter commented 9 years ago
I just downloaded the iCade fix update, is there any reason whenever it 
attempts to connect to the iCade, I keep getting a message pop up saying 
connection refused?

I'm running this on a HP Touchpad running CM 7.

Thanks in advance.

Original comment by AnthC...@gmail.com on 10 Jan 2012 at 7:20

GoogleCodeExporter commented 9 years ago
@olivia.michael: Great! Thanks for testing and thanks for the donation :D

@AnthCruz: Based on the log message, it looks like your device supports HID, 
just not the iCade mapping. This means that Android attempts to connect to 
iCade as a keyboard, but then sort-of fails as there is no key mapping. But 
since it is connected, the iCade refuses connections from BluezIME. I had a 
hunch something like this could happen, but I do not know how to solve it as I 
cannot make Android NOT connect as long as it is paired. And BluezIME cannot 
connect as long as it is not paired :(.

Original comment by kenneth@hexad.dk on 10 Jan 2012 at 8:18

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Whew, well I finally got it working with my Touchpad thanks to some things 
Kenneth suggested. :)

Since the iCade was being picked up already as an HID Device, I fixed the issue 
by disabling the HID capability under Android so that BluezIME would work.

1. Go To: Android’s Settings -> Wireless & Networks -> Bluetooth Settings
2. Pair the iCade
3. Once Paired, press down on the iCade listing in the BT Menu and select 
Options.
4. Remove the checkmark next to HID.
5. Startup BluezIME or if you have it running already, select the Keyboard for 
BluezIME

Some notes: I noticed my Touchpad’s Android software became very fussy with 
BluezIME when I had the iCade shut off. I had to repeat the same exact steps to 
get it working, so despite it working I’d imagine it’s a little tedious to 
have to jump through those hurdles every time to play, but I know that’s not 
something you can control on your end, I’m just glad I could get the iCade to 
work! :) 

Thanks again for setting this up. Hopefully my steps will help any other fellow 
Touchpad/iCade Owners who run into a similar problem.

I'd attach images but I seem to have forgotten how to take screenshots in 
Android... If anyone can show me I'll be more than willing to put up a few 
pictures when I get home.

Original comment by AnthC...@gmail.com on 10 Jan 2012 at 3:09

GoogleCodeExporter commented 9 years ago
@Anth: I am also on the Touchpad running CM7. I have found it can take a little 
bit of fiddling to get the icade and BluezIME up and running but once they 
connect it does stay connected for my entire session. To me it's worth any 
trouble since without it the only app that works is MAME but with it I can use 
it to play many different apps with more standarized controls.

Original comment by oliva.mi...@gmail.com on 10 Jan 2012 at 3:23

GoogleCodeExporter commented 9 years ago
Oh I agree, it functions for me the same way, throughout the whole session it 
works perfect, I just only noticed that if the iCade should turn off due to 
inactivity that Android keeps turning the HID capability back on, which causes 
the connection refused issue I was having with BluezIME. 

I just decided to post up the info in case anyone needed some help and didn't 
know what the root cause of it was. :)

Original comment by AnthC...@gmail.com on 10 Jan 2012 at 3:35

GoogleCodeExporter commented 9 years ago
Great! Works indeed now with my iCade on Touchpad with CM7 Xronified Android, 
nest, sness, pce/turbografx16, Megadrive emu etc etc etc all work now besides 
Mame! Takes a bit of playing with BT settings but once it runs it's flawless!

Original comment by flash36...@gmail.com on 12 Jan 2012 at 8:41

GoogleCodeExporter commented 9 years ago
Very nice, I'll close this as fixed, and put a new version on Market soon.
You will need to install the HIDEnabler package for this to work with the next 
version.
You can find it on the Downloads page, and I am thinking about putting it on 
Market as well.

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

GoogleCodeExporter commented 9 years ago
Issue 147 has been merged into this issue.

Original comment by kenneth@hexad.dk on 20 Feb 2012 at 2:41

GoogleCodeExporter commented 9 years ago
It's not working with 4.2 devices. Any fixes for it?

Original comment by israb1...@googlemail.com on 21 Nov 2013 at 1:44