[APP] WiimoteController 0.6 Beta [may-29-2011] Mapping profiles

Search This thread

pikipirs

Senior Member
Jan 23, 2009
316
83
android.ccpcreations.com
Hello!


I decided to share my very first Android application with the xda-devs community!


WiimoteController is an application which allows a Wii remote to connect to your Android phone. You can then use the Wii remote to control various apps.


IMPORTANT! This application does not work with most HTC Devices that have Sense UI. It doesn't matter if the Sense is turned on or not, the problem seems to be much deeper.
Please check the second post below if your device/OS flavour is listed. If it's not, test and please report if it works or not. Include your device/ROM name with the report. In case of failure please include what the app said and possibly a logcat of it too.


Usage:
  • turn bluetooth on
  • run the app
  • if this is your first run, hit Yes. Enable "WiiControllerIME". This is only needed once right after installation
  • tap the first button and at the same time put your Wii remote in discovery mode by pressing "1" and "2" simultaneously
  • wait for the "Connected" message to appear. The first LED will turn on on the Wii remote
  • back in WiimoteController tap the second button and select WiiControllerIME
  • done. The Wii remote is connected. Go play! :)
  • if you want to connect more than one Wii remote, follow the same procedure, but put ALL the remotes to discovery mode
  • to disconnect a single Wii remote, hold the power button on it
  • to disconnect all Wii remotes, use the option from the menu or simply turn the phone's bluetooth off
  • don't forget to set your favorite IME back or you won't be able to type (or check Preferences to find an option to do that automatically)


A note about yongzh's emulators (Gensoid/SNesoid/Nesoid/GameBoid):
Custom input methods don't work with yongzh's emulators by default. To enable support, go to settings and enable "Use input method". Afterwards, map keys as usual and then start gaming :)


See the video: http://www.youtube.com/watch?v=CBkCgEgRk0s
Another video by frankzua77: http://www.youtube.com/watch?v=GnVZgLPcq8U


Now on the market! Search for Wiimote Controller (try this link from the phone)
or use this:
chart


Here's the apk for those of you without the android market and for those that for some reason don't see the app there. The latest version is 0.6. Older versions are no longer available because of licensing issues.
 

Attachments

  • WiimoteController-0-55.apk
    166.3 KB · Views: 14,882
  • WiimoteController-0-6.apk
    182.8 KB · Views: 40,706
Last edited:

pikipirs

Senior Member
Jan 23, 2009
316
83
android.ccpcreations.com
Changelog:
  • version 0.6 Beta, published may-29-2011
    - optimized IME handling
    - added ALL key codes from android, including ones for Xperia Play games (marked XP)
    - redesigned the mapping interface. Mappings were reset to defaults, sorry about that
    - new: mapping profiles
    - fixed a bug where classic controller's D-pad buttons would rotate
    - fixed a bug where too many controllers were detected and connecting would fail
    - fixed a D.I. bug where getAnalogInputStatus would not work correctly
  • version 0.55 Beta, published may-16-2011
    - changed the way wiimotes are detected. A lot of devices should now at least detect them (but may still not be supported)
    - dropped support for Android 1.5 and 1.6. Sorry, had to do it to comply with various licences
    - improved virtual key dispatching. Home screens should now accept input from controllers
    - new: app now reports back compatibility info to help improving future development
    - fixed a bug in the direct interface so now it should be ready
  • version 0.3 Beta, published may-23-2010
    - support for up to 4 controllers
    - support for nunchuk and classic controller (thanks to Mark and Rob for testing)
    - "Disconnect all" feature added in menu
    - added option to disable high thread priority from 0.25
    - all input can be remapped
    - added option to rotate wiimotes sideways (rotates the D-pad)
    - all analog sticks support axis independent digital or analog mode
    - digital mode has an adjustable threshold
  • version 0.25 Alpha, published may-14-2010
    - 30-minute limit has been removed. Enjoy
    - no longer uses Wiiuse
    - ad and donation supported
    - fix for MotoBLUR devices with Android 1.5 (thanks to Ahmed G-E for testing)
    - improved response
  • version 0.2 Alpha, published may-8-2010
    - minimum Android version is now 1.5
    - automatic IME restore after use (see Keyboard settings)
  • version 0.1 Alpha, published apr-29-2010
    - initial version


Known bugs:
  • Wii remote appears to freeze every couple of seconds for a moment. The cause for this is poor Wifi signal. Fix by moving closer to your Wifi hotspot or disabling Wifi
  • on some devices, mostly HTC and most newer Samsung devices, the application starts searching, finds the controller, and then fails with a message. The most common messages are "No route to host" and "Protocol not supported". This is most likely a fault from the manufacturer and is unfixible for now.


Device/OS pairs that this app is reported working on:

Device/OS pairs that this app probably does not work on:
 
Last edited:
  • Like
Reactions: oshondrom

pikipirs

Senior Member
Jan 23, 2009
316
83
android.ccpcreations.com
Frequently asked questions - FAQ



The app doesn't work! It says "Error no -1". My bluetooth is on for sure.
Your phone is most likey not supported. So far, Samsung Moment and all HTC phones with Sense UI have been identified as having this issue and thus being unsupported. See this thread for technical info. Seems like HTC did something very bad to Android.



When will app be available for my Incredible/Desire/Legend/Magic/...?
See the question above. Please.



Will this ever work on my Incredible/Desire/Legend/Magic/...?
Do I really need to repeat myself? It might never. It isn't my fault though. See above.



The wiimote connects but there is no response in my (s)nesoid/gensoid/gameboid.
Three things need to be done for this to work (apart from connecting):
  • you need to choose WiiControllerIME with the second button
  • in your emulator you need to enable "Use input method" in settings (if there is no such setting, update your emulator!)
  • in your emulator you need to map wiimote's keys to game keys. You can do that in "Key mappings" inside settings



I have an unoriginal controller (like Nyko's for example). Now when I connect, the phone starts polling the data, but shortly after times out. What to do?
Unfortunately, unoriginal wii remotes and classic controllers cause issues such as abruptly disconnecting and misidentifying themselves. It's best to stick to original Nintendo hardware. The only confirmed piece of equipment that doesn't cause issues is the Datel's Retro Wireless Controller so if you've confirmed that your device works with WiimoteController app, you're safe to purchase either this or the original Nintendo controller.



I need help figuring this app out. How do I connect? How do I use this?
See this video. The first minute shows how to connect the wiimote. The last minute shows how to set it up in an emulator.



I'm not installing this! The thing can read all my passwords and credit card numbers!
What you saw was a message from the Android, warning you that you're about to enable a 3rd party input method. All input methods (Like Swype, AnySoftKeyboard, HTC_IME, etc) get this message. Even if my app was malicious (which it isn't), it can't actually capture anything without being active. And even when it's active, it could only capture input from your wiimote. Long story short, you have nothing to wory about.
Why does the app require internet connection then?
It's to download and show advertisements.



I have an issue, not mentioned in this FAQ.
Contact me via email [wiicontroller.A.T.ccpcreations.D.O.T.com]. It is in my interest to make this work on as much devices as I can, but I can't do much if I don't actually have access to a device.



Will you be developing something like this for PS3 controllers?
I might, if I find the time in the future. But I need to buy a PS3 controller, as I don't have a PS3. You can always contribute to the cause :)



This app is great! How can I contribute?
In a number of ways:
 
Last edited:

godsfilth

Senior Member
Mar 31, 2009
140
13
haven't tried it yet but this is awesome hope you can add PS3 support too, or maybe wii remote add-on support (like the classic controller and such)


ok so after getting it working i got a hard reboot i dont know if its because my roms not the stablest (5.0.7-test0) or it was gbcoid lite or the game for that matter further testing awaits...which means work will suck in the morning
 
Last edited:

pikipirs

Senior Member
Jan 23, 2009
316
83
android.ccpcreations.com
Thanks for all your input guys.


works great... i hope that you can add support for the full gamepad attachment in a future update

My plans are to add support for the classic gamepad, the Nunchuck and the Guitar Hero 3 controller. But all in due time. First let's make sure that the existing app works as advertised.

On another note: pgiuoco, do you still have the G1 from your signature? I'm interested to know if this app works on stock G1s. Or stock anything else for that matter.
 

Extor3D

Member
Jun 27, 2008
11
4
Buenos Aires
It works with Motorola Milestone, Android 2.0.1.

Great app! My only suggestion is if you can add a notificacion icon to switch IME and deactivate bluetooth in one click. =D

Thanks for this now I can properly play Megaman! XD
 

premedicated

Senior Member
Mar 20, 2009
56
5
Original xbox controllers were just USB plug-ins (of course with a microsoft fat head on em). What're the chances of being able to do something via hardware/software to make a plug in controller?
 

r2001uk

Senior Member
Oct 1, 2008
196
22
Leeds
What a hero. Works beautifully on the Nexus One!

Please release a full version without the time limit, I'll certainly pay for it :D

Oh and PS3 controller support would be nice, but I'm just glad that I can now play games properly on my Nexus One! Thank you :)
 

Akselp3600

Member
Nov 23, 2008
6
0
How to enable controller in emulators?

Amazing app! Love it! Let us know as soon as final release is ready for purchase!

I get it to connect the controller, and to enable controller in settings. The controller is useable in the text fields, however I can't get the emulators use it. Tried nesoid and snesoid. Any other emulators I should use instead?

EDIT: Nexus One, Cyanogenmod 5.0.6

EDIT2: Sorry, used old versions of the emulators. Updated them, and works fine now.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    Hello!


    I decided to share my very first Android application with the xda-devs community!


    WiimoteController is an application which allows a Wii remote to connect to your Android phone. You can then use the Wii remote to control various apps.


    IMPORTANT! This application does not work with most HTC Devices that have Sense UI. It doesn't matter if the Sense is turned on or not, the problem seems to be much deeper.
    Please check the second post below if your device/OS flavour is listed. If it's not, test and please report if it works or not. Include your device/ROM name with the report. In case of failure please include what the app said and possibly a logcat of it too.


    Usage:
    • turn bluetooth on
    • run the app
    • if this is your first run, hit Yes. Enable "WiiControllerIME". This is only needed once right after installation
    • tap the first button and at the same time put your Wii remote in discovery mode by pressing "1" and "2" simultaneously
    • wait for the "Connected" message to appear. The first LED will turn on on the Wii remote
    • back in WiimoteController tap the second button and select WiiControllerIME
    • done. The Wii remote is connected. Go play! :)
    • if you want to connect more than one Wii remote, follow the same procedure, but put ALL the remotes to discovery mode
    • to disconnect a single Wii remote, hold the power button on it
    • to disconnect all Wii remotes, use the option from the menu or simply turn the phone's bluetooth off
    • don't forget to set your favorite IME back or you won't be able to type (or check Preferences to find an option to do that automatically)


    A note about yongzh's emulators (Gensoid/SNesoid/Nesoid/GameBoid):
    Custom input methods don't work with yongzh's emulators by default. To enable support, go to settings and enable "Use input method". Afterwards, map keys as usual and then start gaming :)


    See the video: http://www.youtube.com/watch?v=CBkCgEgRk0s
    Another video by frankzua77: http://www.youtube.com/watch?v=GnVZgLPcq8U


    Now on the market! Search for Wiimote Controller (try this link from the phone)
    or use this:
    chart


    Here's the apk for those of you without the android market and for those that for some reason don't see the app there. The latest version is 0.6. Older versions are no longer available because of licensing issues.
    3
    Frequently asked questions - FAQ



    The app doesn't work! It says "Error no -1". My bluetooth is on for sure.
    Your phone is most likey not supported. So far, Samsung Moment and all HTC phones with Sense UI have been identified as having this issue and thus being unsupported. See this thread for technical info. Seems like HTC did something very bad to Android.



    When will app be available for my Incredible/Desire/Legend/Magic/...?
    See the question above. Please.



    Will this ever work on my Incredible/Desire/Legend/Magic/...?
    Do I really need to repeat myself? It might never. It isn't my fault though. See above.



    The wiimote connects but there is no response in my (s)nesoid/gensoid/gameboid.
    Three things need to be done for this to work (apart from connecting):
    • you need to choose WiiControllerIME with the second button
    • in your emulator you need to enable "Use input method" in settings (if there is no such setting, update your emulator!)
    • in your emulator you need to map wiimote's keys to game keys. You can do that in "Key mappings" inside settings



    I have an unoriginal controller (like Nyko's for example). Now when I connect, the phone starts polling the data, but shortly after times out. What to do?
    Unfortunately, unoriginal wii remotes and classic controllers cause issues such as abruptly disconnecting and misidentifying themselves. It's best to stick to original Nintendo hardware. The only confirmed piece of equipment that doesn't cause issues is the Datel's Retro Wireless Controller so if you've confirmed that your device works with WiimoteController app, you're safe to purchase either this or the original Nintendo controller.



    I need help figuring this app out. How do I connect? How do I use this?
    See this video. The first minute shows how to connect the wiimote. The last minute shows how to set it up in an emulator.



    I'm not installing this! The thing can read all my passwords and credit card numbers!
    What you saw was a message from the Android, warning you that you're about to enable a 3rd party input method. All input methods (Like Swype, AnySoftKeyboard, HTC_IME, etc) get this message. Even if my app was malicious (which it isn't), it can't actually capture anything without being active. And even when it's active, it could only capture input from your wiimote. Long story short, you have nothing to wory about.
    Why does the app require internet connection then?
    It's to download and show advertisements.



    I have an issue, not mentioned in this FAQ.
    Contact me via email [wiicontroller.A.T.ccpcreations.D.O.T.com]. It is in my interest to make this work on as much devices as I can, but I can't do much if I don't actually have access to a device.



    Will you be developing something like this for PS3 controllers?
    I might, if I find the time in the future. But I need to buy a PS3 controller, as I don't have a PS3. You can always contribute to the cause :)



    This app is great! How can I contribute?
    In a number of ways:
    3
    Video as promised: http://www.youtube.com/watch?v=OS4h1Z2nKHw

    Some of your questions might be answered in the video's description.

    Also, I am going on vacation tommorow and I won't be around until July 20. Then the development will continue.
    3
    pikipirs, is this app still being developed? I notice it's still in beta...

    *and if it's still being developed... any chance you're working on a PS3 controller addition?

    Yes, this is still in development, albeit not very active at the moment.

    This app will probably never be out of beta. My intention was to pull this app out of beta when it will work with most devices, but that will most probably not be achievable. Most of the functionality intended is already in the app.

    I tried it with the PS3 controller, but was unable to do anything usefull, this is currently on hold.
    1
    I would really like to get this app to work, but I have as yet been unable to get either of my Wii remotes(RVL-003 or RVL-036) to pair to my phone.

    I tried some time ago on my Nexus One running CM7, and was never able to get them to connect or pair, and now on my Epic 4G Touch running CM9, I'm still unable to get them to connect or pair.

    I have tried using buttons 1+2 method, and also the sync button on the back method and I always run into the same problem, the app/phone sees the Wii remotes, but when I select it, it always asks for a PIN, I can try the usual 0000, or 1234, or I can just click cancel (never have seen a skip option) and always get unable to connect. I have tried using the "Find BT Mac address" app and put the mac address into the IME setting manually, but that never works wither. And before you say anything, I know it's the correct mac address because I wait about thirty second+ for other devices to populate before I even turn on my Wii remote, and as soon as I turn on the Wii remote, the address that pops up I know is the correct address.

    I have read a lot of other stuff about having to take the mac address and turning it into binary and then using that backwards or something like that. I am at a loss as to what to do, and I would really like to get this working.

    No takers on this? Really hoping to get this working.