Skip to content

Instantly share code, notes, and snippets.

@OneCricketeer
Last active February 13, 2017 09:41
Show Gist options
  • Save OneCricketeer/a30e7233ada8bc6e336ae8b847d33f61 to your computer and use it in GitHub Desktop.
Save OneCricketeer/a30e7233ada8bc6e336ae8b847d33f61 to your computer and use it in GitHub Desktop.
OSMC Kodi w/ Moonlight QtSixA Sony PS3 Bluetooth controls

For the most part, standard QtSixa setup that you'd find online and a more complete one here; built it from source. I did use Retropie's Sixad fork, though because it seems to have additional updates, specifically regarding the driver start functions in the /etc/init.d/sixad file.

That means, stop when you see these steps

wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz
tar xfvz QtSixA-1.5.1-src.tar.gz

You should instead do

curl -Lk https://github.com/RetroPie/sixad/archive/master.tar.gz -o 'retropie-sixad.tar.gz'
mkdir -p QtSixA-1.5.1/sixad # For consistency with remainder of guide
tar -vxf retropie-sixad.tar.gz -C QtSixA-1.5.1/sixad --strip=components=1

And proceed on with cd QtSixA-1.5.1/sixad

Save as /var/lib/sixad/profiles/default

Keymapping codes refer to file below.

They should map closely to the Kodi defaults

Credit goes to newbiecrd in the OSMC forums

# ##########################
# sixad configuration file #
########################## #

# Input modes
enable_joystick 1
enable_input 1
enable_remote 0

# Key toggle - 0 or 1
# When on, L3 will enable/disable keys & R3 will do it for mouse
use_lr3 0

# LED
enable_leds 1
led_anim 1
led_n_auto 1
led_n_number 1

# Joystick
enable_buttons 1
enable_sbuttons 0 # pressure buttons
enable_axis 1

# Motion sensing
enable_accel 0 # accelerometer
enable_accon 0 # acceleration
enable_speed 0
enable_pos 0

# Rumble
enable_rumble 1
old_rumble_mode 0

# Timeout
enable_timeout 1
timeout_mins 5 # minutes

# ##########################
# Keymapping               #
########################## #

# Center buttons
key_start 164 # playpause
key_select 31 # S: shutdown menu
key_ps 15 # TAB: fullscreen

# Dpad
key_up 103 # UP
key_right 106 # RIGHT
key_down 108 # DOWN
key_left 105 # LEFT

# Triggers
key_l1 104 # PAGEUP
key_r1 109 # PAGEDOWN
key_l2 17 # W/Z: aspect ratio
key_r2 24 # O: codec info

# Buttons
key_tri 46 # C: context menu
key_cir 14 # BACKSPACE
key_cro 28 # ENTER
key_squ 23 # info
#key_squ 57 # SPACE

# Left stick
axis_left_type 2 # 0 = disable, 2 = keys, 3 = mouse
axis_left_up 107 # END: end page
axis_left_right 39 # SEMICOLON/DOT: next
axis_left_down 102 # HOME: first page or home window
axis_left_left 50 # M/COMMA: previous
key_l3 39 # SEMICOLON/M: player control

# Right stick
axis_right_type 2 # 0 = disable, 2 = keys, 3 = mouse
axis_right_up 74 # volumeup
axis_right_right 33 # F: fast forward
axis_right_down 78 # volumedown
axis_right_left 19 # R: rewind
key_r3 113 # mute

axis_speed 6 # mouse speed (1-9, higher = slower)

A list of keys for my controller dumped using evtest

Input driver version is 1.0.1
Input device ID: bus 0x6 vendor 0x54c product 0x268 version 0x100
Input device name: "PLAYSTATION(R)3 Controller"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 12 (KEY_MINUS)
    Event code 13 (KEY_EQUAL)
    Event code 14 (KEY_BACKSPACE)
    Event code 15 (KEY_TAB)
    Event code 16 (KEY_Q)
    Event code 17 (KEY_W)
    Event code 18 (KEY_E)
    Event code 19 (KEY_R)
    Event code 20 (KEY_T)
    Event code 21 (KEY_Y)
    Event code 22 (KEY_U)
    Event code 23 (KEY_I)
    Event code 24 (KEY_O)
    Event code 25 (KEY_P)
    Event code 26 (KEY_LEFTBRACE)
    Event code 27 (KEY_RIGHTBRACE)
    Event code 28 (KEY_ENTER)
    Event code 29 (KEY_LEFTCTRL)
    Event code 30 (KEY_A)
    Event code 31 (KEY_S)
    Event code 32 (KEY_D)
    Event code 33 (KEY_F)
    Event code 34 (KEY_G)
    Event code 35 (KEY_H)
    Event code 36 (KEY_J)
    Event code 37 (KEY_K)
    Event code 38 (KEY_L)
    Event code 39 (KEY_SEMICOLON)
    Event code 40 (KEY_APOSTROPHE)
    Event code 41 (KEY_GRAVE)
    Event code 42 (KEY_LEFTSHIFT)
    Event code 43 (KEY_BACKSLASH)
    Event code 44 (KEY_Z)
    Event code 45 (KEY_X)
    Event code 46 (KEY_C)
    Event code 47 (KEY_V)
    Event code 48 (KEY_B)
    Event code 49 (KEY_N)
    Event code 50 (KEY_M)
    Event code 51 (KEY_COMMA)
    Event code 52 (KEY_DOT)
    Event code 53 (KEY_SLASH)
    Event code 54 (KEY_RIGHTSHIFT)
    Event code 55 (KEY_KPASTERISK)
    Event code 56 (KEY_LEFTALT)
    Event code 57 (KEY_SPACE)
    Event code 58 (KEY_CAPSLOCK)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 65 (KEY_F7)
    Event code 66 (KEY_F8)
    Event code 67 (KEY_F9)
    Event code 68 (KEY_F10)
    Event code 69 (KEY_NUMLOCK)
    Event code 70 (KEY_SCROLLLOCK)
    Event code 71 (KEY_KP7)
    Event code 72 (KEY_KP8)
    Event code 73 (KEY_KP9)
    Event code 74 (KEY_KPMINUS)
    Event code 75 (KEY_KP4)
    Event code 76 (KEY_KP5)
    Event code 77 (KEY_KP6)
    Event code 78 (KEY_KPPLUS)
    Event code 79 (KEY_KP1)
    Event code 80 (KEY_KP2)
    Event code 81 (KEY_KP3)
    Event code 82 (KEY_KP0)
    Event code 83 (KEY_KPDOT)
    Event code 84 (?)
    Event code 85 (KEY_ZENKAKUHANKAKU)
    Event code 86 (KEY_102ND)
    Event code 87 (KEY_F11)
    Event code 88 (KEY_F12)
    Event code 89 (KEY_RO)
    Event code 90 (KEY_KATAKANA)
    Event code 91 (KEY_HIRAGANA)
    Event code 92 (KEY_HENKAN)
    Event code 93 (KEY_KATAKANAHIRAGANA)
    Event code 94 (KEY_MUHENKAN)
    Event code 95 (KEY_KPJPCOMMA)
    Event code 96 (KEY_KPENTER)
    Event code 97 (KEY_RIGHTCTRL)
    Event code 98 (KEY_KPSLASH)
    Event code 99 (KEY_SYSRQ)
    Event code 100 (KEY_RIGHTALT)
    Event code 101 (KEY_LINEFEED)
    Event code 102 (KEY_HOME)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 107 (KEY_END)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 110 (KEY_INSERT)
    Event code 111 (KEY_DELETE)
    Event code 112 (KEY_MACRO)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 117 (KEY_KPEQUAL)
    Event code 118 (KEY_KPPLUSMINUS)
    Event code 119 (KEY_PAUSE)
    Event code 120 (KEY_SCALE)
    Event code 121 (KEY_KPCOMMA)
    Event code 122 (KEY_HANGUEL)
    Event code 123 (KEY_HANJA)
    Event code 124 (KEY_YEN)
    Event code 125 (KEY_LEFTMETA)
    Event code 126 (KEY_RIGHTMETA)
    Event code 127 (KEY_COMPOSE)
    Event code 128 (KEY_STOP)
    Event code 129 (KEY_AGAIN)
    Event code 130 (KEY_PROPS)
    Event code 131 (KEY_UNDO)
    Event code 132 (KEY_FRONT)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 136 (KEY_FIND)
    Event code 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 139 (KEY_MENU)
    Event code 140 (KEY_CALC)
    Event code 141 (KEY_SETUP)
    Event code 142 (KEY_SLEEP)
    Event code 143 (KEY_WAKEUP)
    Event code 144 (KEY_FILE)
    Event code 145 (KEY_SENDFILE)
    Event code 146 (KEY_DELETEFILE)
    Event code 147 (KEY_XFER)
    Event code 148 (KEY_PROG1)
    Event code 149 (KEY_PROG2)
    Event code 150 (KEY_WWW)
    Event code 151 (KEY_MSDOS)
    Event code 152 (KEY_SCREENLOCK)
    Event code 153 (KEY_DIRECTION)
    Event code 154 (KEY_CYCLEWINDOWS)
    Event code 155 (KEY_MAIL)
    Event code 156 (KEY_BOOKMARKS)
    Event code 157 (KEY_COMPUTER)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 160 (KEY_CLOSECD)
    Event code 161 (KEY_EJECTCD)
    Event code 162 (KEY_EJECTCLOSECD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 169 (KEY_PHONE)
    Event code 170 (KEY_ISO)
    Event code 171 (KEY_CONFIG)
    Event code 172 (KEY_HOMEPAGE)
    Event code 173 (KEY_REFRESH)
    Event code 174 (KEY_EXIT)
    Event code 175 (KEY_MOVE)
    Event code 176 (KEY_EDIT)
    Event code 177 (KEY_SCROLLUP)
    Event code 178 (KEY_SCROLLDOWN)
    Event code 179 (KEY_KPLEFTPAREN)
    Event code 180 (KEY_KPRIGHTPAREN)
    Event code 181 (KEY_NEW)
    Event code 182 (KEY_REDO)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Event code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 195 (?)
    Event code 196 (?)
    Event code 197 (?)
    Event code 198 (?)
    Event code 199 (?)
    Event code 200 (KEY_PLAYCD)
    Event code 201 (KEY_PAUSECD)
    Event code 202 (KEY_PROG3)
    Event code 203 (KEY_PROG4)
    Event code 204 (KEY_DASHBOARD)
    Event code 205 (KEY_SUSPEND)
    Event code 206 (KEY_CLOSE)
    Event code 207 (KEY_PLAY)
    Event code 208 (KEY_FASTFORWARD)
    Event code 209 (KEY_BASSBOOST)
    Event code 210 (KEY_PRINT)
    Event code 211 (KEY_HP)
    Event code 212 (KEY_CAMERA)
    Event code 213 (KEY_SOUND)
    Event code 214 (KEY_QUESTION)
    Event code 215 (KEY_EMAIL)
    Event code 216 (KEY_CHAT)
    Event code 217 (KEY_SEARCH)
    Event code 218 (KEY_CONNECT)
    Event code 219 (KEY_FINANCE)
    Event code 220 (KEY_SPORT)
    Event code 221 (KEY_SHOP)
    Event code 222 (KEY_ALTERASE)
    Event code 223 (KEY_CANCEL)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 226 (KEY_MEDIA)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 228 (KEY_KBDILLUMTOGGLE)
    Event code 229 (KEY_KBDILLUMDOWN)
    Event code 230 (KEY_KBDILLUMUP)
    Event code 231 (KEY_SEND)
    Event code 232 (KEY_REPLY)
    Event code 233 (KEY_FORWARDMAIL)
    Event code 234 (KEY_SAVE)
    Event code 235 (KEY_DOCUMENTS)
    Event code 236 (KEY_BATTERY)
    Event code 237 (KEY_BLUETOOTH)
    Event code 238 (KEY_WLAN)
    Event code 239 (KEY_UWB)
    Event code 240 (KEY_UNKNOWN)
    Event code 241 (KEY_VIDEO_NEXT)
    Event code 242 (KEY_VIDEO_PREV)
    Event code 243 (KEY_BRIGHTNESS_CYCLE)
    Event code 244 (KEY_BRIGHTNESS_ZERO)
    Event code 245 (KEY_DISPLAY_OFF)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
    Event code 277 (BTN_FORWARD)
    Event code 278 (BTN_BACK)
    Event code 279 (BTN_TASK)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 6 (REL_HWHEEL)
    Event code 8 (REL_WHEEL)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment