I've noticed that when my PS4 controller is on, my Kodi screensaver never gets triggered. I use the Picture Slideshow Screensaver, but I verified this with the Dim screensaver as well. If I leave my PS4 controller on and just put it down somewhere, it should not generate any input, so my screensaver should be triggered after the configured amount of time. However, this doesn't happen.
If the PS4 controller is off, the screensaver gets triggered normally. If you then turn the PS4 controller on, the screensaver is exited right away, even if the controller was left untouched after pressing the On button. Note that this behavior, exiting the screensaver right away, was not consistent across different versions of the linux kernel (presumably through some driver changes). It does exit the screensaver in kernel 4.13. The behavior where the screensaver no longer gets triggered, was consistent for all recent versions of the linux kernel.
Note that I only have a PS4 and PS4v2 controller. This problem occurs with both of them, but I do not know if this problem could also affect other controllers.
Environment
Debian Unstable (linux kernel 4.13)
Kodi self-compiled from 17.4-Krypton tagged source
peripheral.joystick self-compiled from v1.3.2 tagged source
Reproduction 1
Configure Kodi screensaver to enable after 1min
Turn on PS4 controller (assumes controller is already configured for this Kodi instance)
Wait more than 1 minute without touching any input device (including the controller)
Notice that the screensaver didn't start
Reproduction 2
Configure Kodi screensaver to enable after 1min
Wait more than 1 minute without touching any input device
Notice that the screensaver was started
Turn on PS4 controller (assumes controller is already configured for this Kodi instance)
Notice that the screensaver exited
Log
I'm not exactly sure which logging I should provide. I couldn't really find anything that seemed directly related to this. I did find this in my kodi.log file, which may be related:
11:19:17.965 T:139985304921856 INFO: AddOnLog: Joystick Support: Initialized joystick 4: "Wireless Controller", axes: 8, hats: 0, buttons: 13
11:19:17.965 T:139985304921856 INFO: AddOnLog: Joystick Support: Initialized joystick 5: "Wireless Controller Motion Sensors", axes: 6, hats: 0, buttons: 0
11:19:17.965 T:139985304921856 DEBUG: GetMappingForDevice - device (0000:0000) mapped to (type = joystick)
11:19:17.966 T:139985304921856 DEBUG: AddOnLog: Joystick Support: Loaded device "Wireless Controller" with 8 controller profiles and 106 total features
11:19:17.970 T:139985304921856 DEBUG: Initialise - initialised peripheral on 'peripheral.joystick/4' with 1 features and 0 sub devices
11:19:17.970 T:139985304921856 NOTICE: Register - new joystick device registered on addon->peripheral.joystick/4: Wireless Controller
11:19:17.970 T:139985304921856 DEBUG: GetMappingForDevice - device (0000:0000) mapped to (type = joystick)
11:19:17.974 T:139985304921856 DEBUG: Failed to load button map for "Wireless Controller Motion Sensors"
11:19:17.976 T:139985304921856 DEBUG: Previous line repeats 1 times.
11:19:17.976 T:139985304921856 DEBUG: Initialise - initialised peripheral on 'peripheral.joystick/5' with 1 features and 0 sub devices
11:19:17.976 T:139985304921856 NOTICE: Register - new joystick device registered on addon->peripheral.joystick/5: Wireless Controller Motion Sensors
It seems like the controller is recognized as 2 devices, the second one being for the motion sensors. I've had this problem since before this was ever the case, but it might be relevant now. Maybe the motion sensors are always providing input, even if the controller is stationary. Or maybe it just needs to be handled differently than normal controller input (or just ignored entirely, if it's not useful for Kodi).
I've noticed that when my PS4 controller is on, my Kodi screensaver never gets triggered. I use the Picture Slideshow Screensaver, but I verified this with the Dim screensaver as well. If I leave my PS4 controller on and just put it down somewhere, it should not generate any input, so my screensaver should be triggered after the configured amount of time. However, this doesn't happen.
If the PS4 controller is off, the screensaver gets triggered normally. If you then turn the PS4 controller on, the screensaver is exited right away, even if the controller was left untouched after pressing the On button. Note that this behavior, exiting the screensaver right away, was not consistent across different versions of the linux kernel (presumably through some driver changes). It does exit the screensaver in kernel 4.13. The behavior where the screensaver no longer gets triggered, was consistent for all recent versions of the linux kernel.
Note that I only have a PS4 and PS4v2 controller. This problem occurs with both of them, but I do not know if this problem could also affect other controllers.
Environment Debian Unstable (linux kernel 4.13) Kodi self-compiled from 17.4-Krypton tagged source peripheral.joystick self-compiled from v1.3.2 tagged source
Reproduction 1
Reproduction 2
Log I'm not exactly sure which logging I should provide. I couldn't really find anything that seemed directly related to this. I did find this in my
kodi.log
file, which may be related:It seems like the controller is recognized as 2 devices, the second one being for the motion sensors. I've had this problem since before this was ever the case, but it might be relevant now. Maybe the motion sensors are always providing input, even if the controller is stationary. Or maybe it just needs to be handled differently than normal controller input (or just ignored entirely, if it's not useful for Kodi).