Tips for RetroPie:
There are 10 buttons, but this is an “8-button” gamepad because the Turbo and Clear buttons are modifier buttons and not action buttons. These buttons, in fact, do not appear to the operating system at all. When you do gamepad configuration in EmulationStation or any with any configuration tool, the Turbo and Clear don’t appear. The turbo/clear functions are built into the controller itself.
To apply turbo, press-and-hold Turbo, and press the button to which you want to apply turbo. So enable turbo for button A, press Turbo+A. To turn off turbo for A, you Clear+A. You apply turbo to buttons independently, so you can, for instance, have turbo turned on for buttons A and X, but not B or Y.
This (and all) controllers require TWO configurations: one for EmualtionStation (the menu system), and one for playing games. The first one is easy because a graphical tool steps you through it. The configuration for games requires that you edit a text file. Second, even after you configure it for games, some emulators, such as the one for SNES, will get buttons mixed up. To fix this, you need to specify a different driver. So to fix BOTH these issues, do the following:
(1) Exit EmulationStation to the console, and optionally start LX (startx)
(2) Append the following to: /opt/retropie/configs/all/retroarch.cfg
input_joypad_driver = linuxraw
input_player1_joypad_index = "0"
input_player1_up_axis = "-1"
input_player1_down_axis = "+1"
input_player1_left_axis = "-0"
input_player1_right_axis = "+0"
input_player1_a_btn = "0"
input_player1_b_btn = "1"
input_player1_x_btn = "2"
input_player1_y_btn = "3"
input_player1_select_btn = "6"
input_player1_start_btn = "7"
input_exit_emulator_btn = "4"
input_menu_toggle_btn = "5"
(3) Reboot the Pi and you’re good to go. The left-front button will exit out of games and get you back to the EmulationStation menu. The right button brings up the in-game menu, although up/down on the gamepad doesn’t change menu items. That may be a side-effect of using the linuxraw driver above. You can either comment out the linuxraw line, or use a keyboard to move through that in-game menu.
Regarding Cirago Bluetooth 3.0 High Speed & Wi-Fi Combo USB Mini Adapter, Class 2 (BTA7300) - seems to work out of box.