On va utiliser une règle udev, comme pour les clefs 3G HUAWEI E303 et TP-LINK MA260.

sudo nano /etc/udev/rules.d/99-sixpair.rules
DRIVER=="usb", SUBSYSTEM=="usb", ATTR{idVendor}=="054c", ATTR{idProduct}=="0268", RUN+="/opt/retropie/supplementary/ps3controller/sixpair"

Recalbox utilise une solution identique :

Vous pouvez vous en inspirer si vous avez un adaptateur bluetooth récalcitrant. De mon coté, la deuxième manette ne se synchronise jamais. Je la branche et relance sixad (si vous avez une meilleure idée, n'hésitez pas) :

sudo nano /opt/retropie/supplementary/ps3controller/sixpair.udev
#!/bin/bash
/opt/retropie/supplementary/ps3controller/sixpair | logger -t "sixpair"
service sixad restart  | logger -t "sixad"
sudo chmod +x  /opt/retropie/supplementary/ps3controller/sixpair.udev
sudo udevadm control --reload-rules
sudo udevadm trigger

Modifiez /etc/udev/rules.d/99-sixpair.rules en conséquence !

Vous devrez aussi laisser votre adaptateur bluetooth en mode PISCAN :

sudo nano /etc/rc.local
[...]
hciconfig hci0 piscan
exit 0




Pour la configuration dans Retroarch :

sudo nano /opt/retropie/configs/all/retroarch.cfg
[...]
# PS3 Controllers :
# Player 1
input_player1_a_btn = "13"
input_player1_b_btn = "14"
input_player1_x_btn = "12"
input_player1_y_btn = "15"
input_player1_l_btn = "10"
input_player1_r_btn = "11"
input_player1_l2_btn = "8"
input_player1_r2_btn = "9"
input_player1_l3_btn = "1"
input_player1_r3_btn = "2"
input_player1_start_btn = "3"
input_player1_select_btn = "0"
input_player1_left_btn = "7"
input_player1_up_btn = "4"
input_player1_right_btn = "5"
input_player1_down_btn = "6"
input_player1_l_x_plus_axis = "+0"
input_player1_l_y_plus_axis = "+1"
input_player1_l_x_minus_axis = "-0"
input_player1_l_y_minus_axis = "-1"
input_player1_r_x_plus_axis = "+2"
input_player1_r_y_plus_axis = "+3"
input_player1_r_x_minus_axis = "-2"
input_player1_r_x_minus_axis = "-3"

# Player 2
input_player2_a_btn = "13"
input_player2_b_btn = "14"
input_player2_x_btn = "12"
input_player2_y_btn = "15"
input_player2_l_btn = "10"
input_player2_r_btn = "11"
input_player2_l2_btn = "8"
input_player2_r2_btn = "9"
input_player2_l3_btn = "1"
input_player2_r3_btn = "2"
input_player2_start_btn = "3"
input_player2_select_btn = "0"
input_player2_left_btn = "7"
input_player2_up_btn = "4"
input_player2_right_btn = "5"
input_player2_down_btn = "6"
input_player2_l_x_plus_axis = "+0"
input_player2_l_y_plus_axis = "+1"
input_player2_l_x_minus_axis = "-0"
input_player2_l_y_minus_axis = "-1"
input_player2_r_x_plus_axis = "+2"
input_player2_r_y_plus_axis = "+3"
input_player2_r_x_minus_axis = "-2"
input_player2_r_x_minus_axis = "-3"

# Exit emulators with "Home" button :
input_enable_hotkey_btn = "16"
input_exit_emulator_btn = "16"

Vous pouvez configurer autant de manettes que vous voulez de cette manière...

Sources :