Confirmed Mir is to blame for this to some extent. Using:
$ env MIR_CLIENT_INPUT_RECEIVER_REPORT=log mir_demo_client_fingerpaint
and putting the screen to sleep with Alt+P in mir_proving_server, I can see that motion events are no longer delivered to the client while the screen is off. Mir only delivers key events to the client while the screen is off, not motion.
This is problem given that Unity8 is actually a client of the system compositor. So I expect Mir won't deliver it any motion events while the screen is off.
Confirmed Mir is to blame for this to some extent. Using: INPUT_RECEIVER_ REPORT= log mir_demo_ client_ fingerpaint
$ env MIR_CLIENT_
and putting the screen to sleep with Alt+P in mir_proving_server, I can see that motion events are no longer delivered to the client while the screen is off. Mir only delivers key events to the client while the screen is off, not motion.
This is problem given that Unity8 is actually a client of the system compositor. So I expect Mir won't deliver it any motion events while the screen is off.