The idle delay should be a little bit longer, maybe between 5-10 seconds (ideally it should be personalizable)
Mouse buttons state should be taken into account for idle time detection. Use case : the user maintain the button to select a large text file and it takes more than 3 seconds to select all. The countdown appears because user last input was more than 3 seconds ago. Because of this the user selection is interrupted and they have to make it again.