Se o usuário interage; isso de fato cancela o estado inativo; então tudo que você precisa fazer é dar uma mensagem de que o sistema será encerrado em breve devido a estar ocioso.
Se você tivesse um botão "abort" ou "cancel", você não precisaria codificar para "fazer" nada; já que o usuário clicando nele (ou até mesmo movendo o mouse em direção a ele) seria uma interação para cancelar o estado ocioso.
Se você ainda quiser um controle mais refinado sobre como você está usando esses estados ociosos; este documento é uma boa referência: link