In the Android Bedrock version of Minecraft, I am able to connect an OUYA controller via Bluetooth. However, many of the keybinds do not work as expected. Through some testing, I have been able to come up with a list of binds:
- The controller's O button works as the A button, as expected.
- The controller's A button works as the X button.
- The controller's U button works as the B button.
- The controller's Y button does not work.
- Left on the controller's D-pad works as the select button. Other directions do not work.
- The controller's left and right analog sticks work as intended.
- The controller's left bumper works as the Y button.
- The controller's right bumper does not work.
- The controller's left trigger does not work.
- The controller's right trigger is a bit complicated.
- In the controller settings, it states to act as the left stick.
- However, it randomly scrolls down in the menus, and moves the camera up and down in-game.
- The game's left and right bumpers seem to not be bound to any button on the controller.
When I enter a world, there are several issues relating to the camera. I know that both triggers on the OUYA controller are analog triggers. Likely because of this, the left trigger, when not pressed, constantly rotates the camera to the left, and when it is pressed, it moves the camera to the right. It also pauses the game, implying that it is bound to the Start button as well. The right trigger moves the camera down when it is pressed, and does not move the camera initially; after pressing it down, it moves the camera up when not pressed. The right analog stick controls the camera as intended.
How would I get this controller to work normally since all of the keybinds seem to be all over the place?
Best Answer
On Android, gamepad mappings are defined in Key Layout files.
https://source.android.com/devices/input/key-layout-files
Sometimes there's already a key layout file for your device. Sometimes you need to create one from scratch. The filename should include the vendor and product IDs for your gamepad. For the OUYA gamepad, the filename is:
Vendor_2836_Product_0001.kl
If you search for this filename you can find the official file that was distributed on the OUYA:
Save that in your Vendor_2836_Product_0001.kl file and put it on your Android in /system/usr/keylayout. Restart your Android device and now your gamepad should use the new mapping.