This is now 6 months later. But I’ve spent my entire weekend trying to get this working with the newer versions of OMSC.
The init.d script posted by benno no longer works properly. It only works when you manually start it. Which isn’t very handy for me since my OSMC device does not have a mouse or keyboard.
For those still having issues, here’s what I did.
Now set up the controller mappings shown in this post.
Now, once the initial set up is done, we need a way to auto connect the controller when booting the machine. Since the init script methods are being deprecated and the systemd process is more standard, do this:
sudo nano /usr/bin/scripts/bts.sh
Put the following code in the script. This is essentially the same thing as bennos, but slightly modified. Credit where credit is due.
#!/bin/bash
if [ "$1" != "background" ]; then
$0 background &
else
#Wait until BT is initialized
for ((i=0; i<=100; i++)) do
hciconfig hci0 && break
usleep 100000
done
/usr/bin/hciconfig hci0 up
/usr/bin/hciconfig hci0 pscan
su osmc -c "/usr/bin/sixad -s &"
fi
Now create a service file
sudo nano /lib/systemd/system/bts.service
and put in the following (I’m sure there are errors here, I’m not an expert. I literally learned this stuff in the past 2 hours. but it works.)
[Unit]
Description = SIXAD Connection Daemon
Requires = bluetooth.target
[Service]
Type = forking
ExecStart = /usr/bin/scripts/bts.sh
RemainAfterExit=yes
[Install]
WantedBy = multi-user.target
Now, enable the service.
sudo systemctl enable bts.service
you should see something like this:
_Created symlink from /etc/systemd/system/multi-user.target.wants/bts.service to /lib/systemd/system/bts.service._
and reboot! When the system starts again, you should be able to press the PS button and it will connect, and do what I call ‘the wave’ to you (All Leds light up sequentially).