yashsingh1/xdaforums huggingface dataset:
[Android General] Diamondback:
The new version is awesome :)

Controller emulation works perfectly on my 4.0.3 Transformer Prime :)

Your app finally does what ICS should have done: giving native controller support over bluetooth :) Awesome! :)

And you can even remap the controller :)

Edit: okay just tried the native controller remapping and found out it wasn't exactly what I expected.

Would it be possible to add remapping within the DS3 buttons too? So you can for exmaple switch Cross and Square?
[Android General] bradyr:
yeah the new version seems to have fixed the bug on the Xoom tablet. This is beyond awesome.

thanks a million, sir_earl
[Android General] felisen:
Native controller support over bluetooth is working amazingly with my Prime!!! Thanks, such an awesome app!!!

Just took a look at that, and while it looks weird at first, you can easily accomplish what you want. Taking your example: 'Cross' is mapped as 'A' and 'Square' is mapped as 'X'. So just switch them, map 'Cross' as 'X' and 'Square' as 'A'. My guess is that he did it this way because it is the standard keys for android game pads (just a guess).
[Android General] sir_earl:
Correct. If you take a look at games that allow you to configure the controller, you will probably see 'A', 'B', 'X', 'Y', etc. If anyone has better suggestions for the mappings, I'm happy to take them into consideration :)
[Android General] letifercito:
the native gamepad support is amazing!.

btw i have a little problem, i tested it on shadowgun, and i've mapped the r2 button (in the app it's the right trigger if i remember) to the fire /action button on the game. i press it and it keeps firing inclusive when i've stopped pressing it, i have to press it again to make it stop firing.

by the moment the problem is just with that button, don't know if it happens with L2.
[Android General] felisen:
I also noticed some problems with using the L2/R2 buttons (with the native support method).

In GTA 3 pressing them while driving changes the view, but it seems I have to press it a couple of times to get it to cycle properly. From what I remember it use to be that when pressing and holding you looked to the side and releasing went back to normal. Right now I have to press a couple times for it to go back to normal.

Also, N64oid is not registering the L2/R2 buttons when trying to key map them (others on the Prime are having similar issues).

You probably are already aware of the issue, you are a fast worker! :)
[Android General] Mistar Muffin:
I already emailed sir_earl about this, but here is my issue:

I have a Transformer Prime, and using Native Gamepad mode, I can't get any apps to detect either triggers (L2 or R2). Shadowgun works as expected with the dual analog but I can't fire the weapon.

Likewise, in N64oid I cannot map anything to either trigger. It prompts to press a button on the controller and every button works except for either triggers.
[Android General] Larry94:
Why don't you just use Hardware Key mode for emulators?
[Android General] sir_earl:
I think I know why it's doing this. Can you try setting the 'Analog poll rate' to 1 and trying again. If that fixes it, I'll release a fix fairly soon.

The above issue could be related to this. If it's not, then it will be because I treat L2 and R2 as analog triggers instead of digital buttons. I'm not sure how it works when using USB, but it is likely sending both the analog triggers AND the L2 / R2 key presses. However, when I tried that, and tested it with Riptide, when binding the controls it would sometimes detect the button as an analog trigger, and other times detect it as L2 / R2 key presses. If someone else with Riptide could try this with the controller connected via USB (without my app running), and let me know if the same thing happens, that would be helpful.
[Android General] Larry94:
BTW, We figured out drive-by-shooting in GTA. Hold L2 or R2 and press circle button.
[Android General] sir_earl:
That's awesome :)
[Android General] Diamondback:
Yes setting it to 1 definitely improves it by a lot. It wasn't 100% perfect but it worked 19 out of 20 times I would say ( I had the poll rate on 10 before)

And I got a rather strange bug on my Prime (actually it's old, nothing new with the latest versions or so)

After using sixaxis i need to restart my tablet in order to get my normal keyboard back. The strange thing is, that I don't actually select your IME.

It's not even enabled in the settings...:eek:

I have no idea why this happens... Could be a Prime specific thing? ASUS fail?
[Android General] Diamondback:
Oh yea, I didn't see those default mappings... :o

Works now :D
[Android General] Diamondback:
Actually I get R2/L2 only as key presses in Riptide. DS3 connected via USB to the Prime's dock.

Not a single axis recognition for those two.

So it seems it sends only button events for R2/L2
[Android General] sir_earl:
I'll release a fix for this soon!

First, can you let me know if you have the 'Bypass IME' option enabled? I so, try turning it off and rebooting, then check to see if it still happens.

Secondly, look for an option called 'Use physical keyboard'. If you have a little keyboard icon in your taskbar, try opening that and looking at the top of the list. If you find that option, does unchecking it bring back the on-screen keyboard?
[Android General] sir_earl:
Did you try it multiple times? Also try pressing the buttons really fast. :)

I'm fairly sure it will be sending analog triggers as well, because GTA III probably wouldn't allow weapon changing otherwise.
[Android General] Diamondback:
Yes I had the bypass setting enabled. Turning it off seems to help, at least in a super quick test.

And yes, if I enable the bypass setting I get the same "external keyboard" switch as when connecting the dock. Strange I never noticed that before.

Anyway, setting that one to off makes everything working again.

So maybe you can turn that feature off once disconnecting?
[Android General] Diamondback:
maybe like 20 times? I can't really press them "fast" because, well, after each press i need to touch the screen to bring the dialog up again :)
[Android General] Diamondback:
Okay, you are right, when pressing non stop while touching the screen non stop to bring up the dialog, it actually gives me all the time the analog axis of R2 as the input method. So yes, both events are sent, key and analog.
[Android General] sir_earl:
Anyone know if Riptide uses variable throttle, or just digital on / off throttle? If it uses variable, then the using it with my app will have the upper hand once I fix the trigger bug :)

I will add an option to allow either digital, analog or both for the triggers.
[Android General] Mistar Muffin:
Here is my testing with Riptide:

USB Mode:

When mapping to Brake (I tried Throttle too), pressing L2 shows up as L2. Likewise, pressing R2 shows as R2. I tried pressing at different speeds and got no variation. I also played the game for about 10 minutes and it worked perfectly. I also noted that Riptide recognizes the 4 main buttons like an Xbox 360 controller. X and Y on top (square and triangle) and the A and B underneath (cross and circle).

BT/Sixaxis:

Pressing L2 mapped as L-Trigger+ or L-Trigger- depending on how fast I squeezed it. The same thing applies to R2. Gameplay was very inconsistent. The game could not decide whether I was pressing the button or not. Something else I noted is that the 4 main buttons are upside down from USB mode. X and Y are on the bottom (cross and circle) and A and B are on the top (square and triangle).

I would say the mapping of circle, square, cross and triangle doesn't matter, but the benefit of how it works over USB is that it matches the default configuration for Riptide. I had to manually remap each button for BT/Sixaxis since it was backwards.
[Android General] Diamondback:
Yes, it supports analog throttle, not with R2 because of that double event but via the right analog stick for example.

Also: getting R2/L2 as analog inputs isn't random. Riptide recognizes both + and - directions on those axis. To get "+" gently push R2 THEN touch the screen to open the dialog, THEN press down R2 completely.

To get "-" just push down R2 completely, THEN open the dialog and THEN let R2 go.

It seems the R2 key event is sent first, them follows the analog data. That is why I can't use R2 as analog throttle, the game won't react to any further R2 data until the button released event got fired.
[Android General] sir_earl:
Interesting.

I will make the following changes for the next release:

1. Fix bug where triggers are not reliably releasing

2. Change L2 / R2 input mappings to list the digital button presses

3. Add new 'Analog L2' and 'Analog R2' options to mappings with the following choices:

- Disabled

- Left Trigger

- Right Trigger

- Left Trigger (digital disabled)

- Right Trigger (digital disabled)

Hopefully I can come up with better labels, but this basically allows you to use either just digital, just analog, or both (many games don't care whether both are sent).
[Android General] felisen:
To use analog joysticks :)

Looks great! Also, you already figured it out, but setting to poll 1 did fix the glitchy/sticky issue and not the N64oid issue (looks like that is the digital vs. analog issue). Can't wait for the update, thanks again!
[Android General] Mistar Muffin:
Earl,

Thanks for the update to 0.5.2 - it fixed the triggers as promised!

There is still one lingering bug, however.

Cross, Circle, Square, Triangle are still being passed to the OS backwards. By default, Sixaxis maps this as:

Cross = A

Circle = B

Square = X

Triangle = Y

This is like the configuration of an Xbox 360 controller. I verified these mappings by tapping on each one in the Sixaxis preferences. The bug/problem is that in both N64oid and Riptide GP, the buttons show upside down flipped:

Cross = X

Circle = Y

Square = A

Triangle = B

I went back to Sixaxis preferences and changed the mappings to be backwards and it was reported correctly in the applications. So, the apps are seeing the opposite of whatever is set in the Sixaxis mappings. This aside, everything works great.
[Android General] igor.tonky:
omg, a bug that took a couple of hours off my sanity :)

i didn't have a keyboard popup, when i was saving a touch profile, so i saved it with an empty name.

then i enabled it, but it wasn't working, so i spend good couple of hours hunting through settings and browsing web. turns out - it's just a bug, that empty profile doesn't activate! :)

i connected my keyboard via otg cable and renamed the profile, and voila - everything works!

thanks for the great tool, sir_earl!

P.S. i still can't bring up the soft keyboard to name the profile, even though i changed the keyboard in 'input settings' to android one. it just won't appear on screen.

xoom wifi, mz 604, eos nightly #58.
[Android General] felisen:
To display the keyboard you need to turn off 'hardware keyboard.' For ics you tap the keyboard icon in the system tray and then toggle the hardware keyboard button. On other versions of android I am not sure where the toggle is. I ran into the same problem at first, took a bit to figure it out lol :)
[Android General] sir_earl:
I don't know how I missed this. When I read the earlier mention about it, I assumed it was just referring to the defaults being different to the Xbox 360 controller! I'll check it out, thanks!
[Android General] sir_earl:
Just out of interest, do you have to do that every time the app connects, or does the setting persist?
[Android General] felisen:
From doing a little messing around, it looks like the 'hardware keyboard' option is set to on when the app is run for the first time (even if the keyboard is not switched to sixaxis), but after turning the setting off the it persists until a restart.
[Android General] sir_earl:
Does turning off the 'Bypass IME' option affect it at all?
[Android General] felisen:
With 'Bypass IME" not selected and a fresh restart, the 'Hardware Keyboard' option does NOT get enabled.
[Android General] sir_earl:
That's a very annoying 'feature'. It would be fine if the setting stuck, but the fact that you have to change the setting after every boot is totally annoying.

I checked and the keyboard device is definitely being destroyed once the app is stopped, so does the on-screen keyboard at least return once the app is stopped?
[Android General] felisen:
Interesting. Yeah you can get the on-screen keyboard back as soon as you toggle the 'physical keyboard' to off, and works even if the app is still running.
[Android General] sir_earl:
On closer inspection, they appear correct on the devices I've tested. Can you please send me the file /system/usr/keylayout/Vendor_054c_Product_0268.kl so I can compare it to the ones I'm using.
[Android General] Mistar Muffin:
This is from a Transformer Prime TF201 with ICS:

http://db.tt/6H9y4TF1

Thanks!
[Android General] sir_earl:
As I suspected, the cross / circle and square / triangle buttons are reversed in your mapping file. Select is also mapped to BACK rather than BUTTON_SELECT.

I may have to load the labels from the mapping file so they show up correctly.
[Android General] Mistar Muffin:
So is it safe to assume that ASUS is retarded and changed the file for the TF201?
[Android General] sir_earl:
It's hard to know. There are some comments about Nvidia in there, but who knows! I'll work on a fix that will at least get them labelled correctly.
[Android General] felisen:
Sir_earl,

Would there be any way to allow a remapping of the right analog joystick to 4 digital buttons? The reason I ask is that it is nice to map the right stick as the C-buttons in N64 emulators, but currently this is not possible (using the native gamepad support). Ideal we could map to four new buttons, but if that is not possible, even being able to map the DPAD buttons on the right joystick would be very helpful.

Thanks!
[Android General] Diamondback:
just don't use the native mode, there is no reason not to use the manual keybindings :)
[Android General] felisen:
The major reason not to use manual key bindings is the lack of analog joystick support. Gotta have that! :)
[Android General] Diamondback:
Oh N64oid supports analog sticks with the native gamecontroller?
[Android General] felisen:
Yep yep, makes a WORLD of difference! :)
[Android General] irishtexmex:
sir_earl,

I know this may have to do more with yongzh, but do you think there will be a way to map the right analog stick to the C buttons in N64oid (while using the native gamepad settings)?
[Android General] sir_earl:
I guess I could add the option to disable each analog stick and have it fall back to keyboard.
[Android General] Mistar Muffin:
Have you tried requesting this fix from yongzh? I have this issue as well but it's not really sir_earl's responsibility to create a workaround. Especially when that workaround would undermine the convenience of the native gamepad. (I like not having to switch the software keyboard).
[Android General] Bite_my_shiny_metal_ass!:
I test my Galaxy Note with Sixaxis Compatibility Checker. It say: suporeted device. A bought app from android market, and successfully change master with pair tool. But, when i try to connect with my original Europian Sony Dualshock - all 4 light is blinking. What is problem? It is working only with usa dualshock models? I bought controler and the app only because emulators on phone, cos i have x360 and i dont have ps3. Shi**&$^#$##$#$!..
[Android General] bradleyw801:
Since I don't have honeycomb or ICS, I found the best way to do this is a combination of keybindings, and a simple touch profile. With N64oid, you can use the on screen virtual keypad, but then hide it. It's still active, just not visible.

So what you want to do, is open up N64oid, take a screenshot with the virtual controlloer on screen, then go into Sixaxis touch profile editor. Load that pic up as the back ground, and then just draw the left analog stick over the circle.

That way you have analog controls, and then you can just bind the rest of the keys digitally.
[Android General] sir_earl:
I'm fairly sure this controller is a fake. Look carefully at the text on the label that reads "Sony ComputerEnter tainment Inc". Note the lack of space between 'Computer' and 'Entertainment', and the added space between 'Enter' and 'tainment'. I suggest you take it back for a refund.
[Android General] Bite_my_shiny_metal_ass!:
But motioninjoy works perfect with this gamepad!?
[Android General] sir_earl:
Unfortunately that has no bearing on compatibility with the app. I believe the incompatibility is related to the version of bluetooth used on Android devices.
[Android General] juanca.jcpr:
2 or more controllers

how do i use the app with more than 2 controllers, the app recognize them and say they are connected but when i try to play smash o mario kart in the N64oid just let the player 1 move. Can someone please post their mappings? thanks!

Jc
[Android General] felisen:
The key is to make sure you have the two controllers mapped separately in both the sixaxis app and in your emulator. What you bind them to does not matter, just make sure they are different.
[Android General] juanca.jcpr:
but how

I know that I haeve to do that, but I don't know how. When I opem the sisaxis app it doesnt let me modify each controller separately
[Android General] sir_earl:
Take a look under 'Preferences->Keyboard Emulation->Key Mappings'. Each controller can be mapped to any keys desired.
[Android General] felisen:
Are you using keyboard emulation or the native gamepad support? My guess is that the native gamepad support does not allow multiple controllers (at least not with this app atm). So you should use the keyboard emulation, and if you go into Preferences > Keyboard Emulation > Key Mappings > Select a controller and map it.
[Android General] sir_earl:
Actually the app should support multiple native gamepads, but it's fairly unlikely that any current apps or games will distinguish between them.
[Android General] felisen:
Ooh good to know. Just assumed it only supported one since you can only remap one set of buttons. :)
[Android General] sir_earl:
In theory any app can query an event for device information, and because my app creates a new gamepad device for each controller, an app should be able to distinguish between them. That's the theory anyway.
[Android General] juanca.jcpr:
no luck wih that, now the second controller moves the first player also =/
[Android General] sir_earl:
That's probably because you mapped both controllers to the same keys. You need to map the second controller to different keys, then map those keys to the second player in the emulator.
[Android General] HMBR:
Any luck this works on a Samsung Galaxy Ace
[Android General] Agyar:
Problem on ASUS Transformer

I have problem with pairing Sixaxis to my Transformer.

I configured it through direct USB conection, but when after that i try to pair it, here is the output:

Attempting connection type 1...

Driver Starting...

Touch emulation (Type A): 0 1288 0 799

Successfully configured bluetooth

Listening for controlers...

Client connected: 1

Client disconnected: 1

When reported as connected, all 4 lights keep blinking on controler and when controler turns off, last row message is displayed.

Any help?
[Android General] Bite_my_shiny_metal_ass!:
Oh man, i bought another controller, now is real genuine Sony, and program works flawlessly with my galaxy Note! This is like dream :)..

Thank you for good job..

Sent from my GT-N7000
[Android General] sir_earl:
Again, this is a good sign that the controller is not an original.
[Android General] ThisWasATriumph:
So that's my problem.... Was trying to setup N64oid with more than one native gamepad and it wasn't having it. Darn. So close! Gotta have analog support for super smash! Oh well, I guess I'll have to wait for N64oid to update, if that ever gets implemented anyway.
[Android General] Agyar:
Unfortunately you are right... Got another controler today and everything works now.
[Android General] BxVictor:
is your phone rooted if it is then there is a way to get it to work
[Android General] onthebridge:
Finally i bought a REAL sixaxis controller and got this to work. It is a great, great app but in my Motorola Defy (cyanogenmod 7) directional pad is somewhat messed

If i press LEFT the output is DOWN

If i press RIGHT the output is UP

If i press UP the outoput is LEFT

If i press DOWN the output is RIGHT

This is the only thing keeping me away from Alone in the Dark in DosBox, help me!
[Android General] sir_earl:
With the 'Bypass IME' option enabled, some devices automatically rotate the d-pad when the phone is in landscape. You can do either of the following:

1. Invert rotation of the directions in the input mapping. i.e. Left -> Up, Up -> Right, Right -> Down, Down -> Left.

2. Leave the 'Bypass IME' option disabled. Some devices require this option, so this might not be a solution for you.

3. Don't use the d-pad keys. Instead map the direction buttons to some other unused keys. The app you want to use must support re-configuration of the key mappings for this.
[Android General] xxKamikazexx:
How much did your controller cost?
[Android General] elxboy:
I have a HTC Inspire 4G and it is root. I wish join at your work.
[Android General] MrHacks:
I would really like to see the Sixaxis Controller App ported to Linux (Ubuntu, Fedora, Debian, SuSe, Slackware).

From my own experience, there has never been a easy, simple method for setting up a Sixaxis for Linux. There are apps that do that, but they are so obsfucated, require installing software that I will never use (KDE and Qt components most often) and in the end after you've installed all of that, you still can't get the dang thing to run.

But Sixaxis Controller is so very simple, and it works with MAME4Droid and Doom. Quake still needs some bugs to work out. And I would really like to set up a button map for Minecraft PE. (If anyone can point out where it has been posted or how to do that, that would be freaking awesome!)

To the Sixaxis Controller app creators: Thank you for being awesome! :D
[Android General] yp261:
Attemping connection type 1...

Driver Starting...

FIX ME! implement ttyname() bionic/libc/bionic/stubs.c:360

Can't open touch device. Touch emulation will be disabled.

FIX ME! implement ttyname() bionic/libc/bionic/stubs.c:360

FIX ME! implement ttyname() bionic/libc/bionic/stubs.c:360

FIX ME! implement ttyname() bionic/libc/bionic/stubs.c:360

Successfully configured bluetooth

Listening for controllers...

anyone can help me? LG Swift gt540 with latest CM7 by PCfighter .29
[Android General] nasksnake:
Hi, I love this app ,my friends with there iphone are so jalous :D

But with the last update who looks very good (profile for input mappings and mouse configuration) I want to know how can I do to play with my Controller and the application Onlive I tried for Assassin's creed and I can't press Enter even with a button ENTER in input mappings .

Can you help me ?
[Android General] sir_earl:
Have you tried connecting a controller? I believe the 'FIX ME' lines are probably just warnings in the CM7 kernel for your device.
[Android General] sir_earl:
Some people have had success using OnLive, but as I can't use it here in New Zealand, I haven't been able to test with it. You may just need to try different key mappings until you discover ones that the game uses.
[Android General] psyqiq:
six axis delight