Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I would like to use the Ouya controller with my Ubuntu machine... its a standard Bluetooth controller and when I attempt to pair it with Ubuntu 13.04 the pairing option box prompts me to enter a pairing code.

Now this is the odd part. The pairing code options dialog in the settings has a few options but none of the setting stick when closing the dialog (there is no ok or apply, just "Close").

So at the end of the day I am unsure if there is a simple way to pair Bluetooth gamepads in Ubuntu.

TL;DR: How do I pair a Bluetooth gamepad without a paircode?

share|improve this question
    
if you can/did confirm that your original answer (which I've expanded on) works, could you accept it (or make any corrections as you see fit first?) thanks! –  d3vid Aug 29 at 7:33

2 Answers 2

It appears that the default Bluetooth GUI wasn't designed with gamepads in mind. You can still get your OUYA gamepad working, though. You should be able to use the default Bluetooth GUI (see the other answer) - if for some reason you can't this fallback method also works (with some caveats).

Pre-install

Before you start, install bluez-compat (to make the connection with hidd) and joystick-gtk (to test the gamepad) as follows:

sudo apt install bluez-compat jstest-gtk

Scan and connect

Now press hold down the OUYA button on the controller to make it discoverable. It should start by flashing all four lights, then flash only two lights. Once it is doing this, enter the following command to scan for it:

hcitool scan

It should appear as "OUYA gamepad" with a long address after it. You can now connect to it with:

sudo hidd --connect <ADDRESS>

(replace with the address from the scan).

Confirm it works

You should immediately be able to move the mouse pointer with the OUYA gamepad touchpad. Additionally, a wireless mouse indicator should appear next to the Bluetooth adapter icon.

Finally, you can confirm that gamepad input is working by running jstest-gtk from the Dash.


Drawbacks with this approach

  • bluez-compat is self-described as being a legacy package. "These binaries are not supported, and will go away again in the future." It would be ideal to use a more modern package.
  • Because we use sudo to connect, a lock icon appears on the Bluetooth indicator. (Does this have any effect?)
  • The gamepad is not permanently added to the list of Bluetooth devices, and is autodiscoverable (e.g. next time you reboot, you can't just make the controller discoverable again, you have to repeat the scan and connect process).
  • Using the default Bluetooth GUI does not have any of these drawbacks.
share|improve this answer
    
Also you can search for a device and auto connect using sudo hidd --search –  jumpnett Nov 9 '13 at 5:43

You need to treat the gamepad as any other Bluetooth pointer device with a dummy PIN of "0000". When connecting for the first time:

  • Hold down the OUYA button on the controller to make it discoverable. It should start by flashing all four lights, then flash only two lights.
  • Once it is doing this, click on the Bluetooth indicator and select "Bluetooth Settings..."
  • Wait for the device search to complete
  • Select the gamepad from the list
  • Click "PIN options..."
  • In the new window pick "0000" from the fixed PIN list, then click "Close"
  • In the Bluetooth New Device Setup window, click "Continue"

The gamepad should now be available. You can confirm it works as described in the other answer.

The device will appear permanently under the Bluetooth indicator, even when it is not around. When you want to connect it subsequently:

  • Activate the gamepad
  • Click on the Bluetooth indicator and hover over "OUYA Game Controller"
  • Drag the connection from "Off" to "On"

Improvements from the other answer:

  • no extra (old) dependencies
  • the Bluetooth indicator does not get a lock symbol
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.