Я почти уверен, что нет чистого пути Java. Но если ситуация с заставкой вашего монитора полностью в ваших руках, вы можете использовать чисто черную заставку.
Это решение не твердое, но оно может попасть в точку> 95% времени.
1) Установите чисто черную заставку в соответствии с настройками энергии (т. Е. Когда экран должен выключиться).
2) С интервалом 0,5 секунды. Проверка резьбы, если позиция мыши на экране была изменена.
3) Если это так, используйте createScreenCapture () Robot для получения BufferedImage всего экрана.
4) Проанализируйте изображение. Самый быстрый способ - получить прямой доступ к его байтам: final DataBufferByte dbi = (DataBufferByte) img.getRaster().getDataBuffer();
Если он чисто черный, подсветка должна быть выключена.
Чтобы сохранить циклы (скриншот + анализ потребляет много энергии.), Вы можете запретить снимки экрана, пока мышь не будет двигаться в течение 20 минут или того времени, которое у вас было. Возможно, есть Java-способ получения этой информации из системы, поэтому вам не нужно менять параметры в двух местах (Windows и ваше приложение).