wait man, i think i have the right reply because i did faced the same problem !
try to use the mouse event [click,movemouse ..] but with a delay to not creat a crash in the navigator, you will use setInterval on a xx sec or minutes after you save the event reply to your db in the activity column but with unix time in order to differentiate it later to the now time .. its useful really, i used it to log members acitvity to know what they really do in real time and get the online/offline users too.
here is the used js functions:
var body = document.getElementById('body');
var url = './member-activity.php?loggedUser=<?=$memb_id?>&curl=<?=($_SERVER['QUERY_STRING'])?>';
if(document.addEventListener) {
document.addEventListener("click", _EventLogging, false);
document.addEventListener("mousemove", _EventLogging, false);
}else{
document.attachEvent("onclick", _EventLogging);
}
function _EventLogging(){
//call it after a delay of
setTimeout(AjaxUrl(url), 2000); //delay of 2 sec after every move of cursor
}
//AjaxUrl is a js function that calls a php file to perform the activity logging via AJAX
</script>
<div id="id"></div>
the div above is to notify you about errors in code, u remove it when its ok!
i hope that my answer was right for ur case //dr.alpha@hotmail.co.uk