Description
Describe the bug
If you are using the gamepad but no keyboard / mouse input, WorkRave thinks you are inactive.
Different but related to #245
To Reproduce
There are two monitors available, each with a different problem.
In the preferences, in the timers section, monitoring tab. Check 'Use alternate monitor' checkbox and restart.
Now use the gamepad buttons but no keyboard mouse. WorkRave doesn't prompt you to take a break.
Conversely with the standard monitor, WorkRave thinks you are always active as per #245 as long as the gamepad is connected.
Expected behavior
Using the gamepad should be counted as activity and you should be prompted to take breaks
Version
- Windows Version: Windows 10
- Workrave Version: 1.10.50
Additional context
A user is using OptiKey as an alternative input to keyboard and mouse due to a disability. They also use WorkRave to avoid eye strain. When controlling Optikey they look with their eyes (i.e. an eye tracking engine processes input and computes gaze position, Optikey subscribes to this input stream) and perform clicks with a switch connected to a gamepad (Xbox Adaptive Controller). This means that there are long periods of active work in which there are no keyboard inputs or mouse inputs but the user is very much actively using the computer.
Proposed fix
I presume that one could hook up to the Raw Input API in the same way WorkRave currently uses LowLevelKeyboardProc
and LowLevelMouseProc
. I would be happy to raise a PR if you could sign off on the general idea, and let me know whether it's best incorporated into the "alternate monitor" or as a separate feature toggle or third monitor type? I'm not sure of the side effects in other people's workflows, whether there would be situations in which you don't want these inputs counted.