Pengecekan Keyboard Stroke di C UNIX (2)
November 7, 2008
2 comments
![]()
Wew…sebelumnya pengecekan keyboard stroke yang pake kbhit itu ada kelemahannya, yaitu……resposinya jelek, kbhit cuman ngecek keyboard tersebut tidak idle klo kita ketikkan suatu string ke terminal dan kita tekan ENTER. Nah, kalau kita cuman mencet2 kibor dan gak tekan enter…ya kbhit tadi menganggap kita idle…
Nah, disini ternyata, lagi-lagi ada cara yang lebih seru dan lebih keren, kita cek TTY-nya :
static int long_idle_time; // ini variabel global
void check_idle()
{
struct stat stbuf;
stat(tty, &stbuf);
char out[100];;
char time_now[100];
time_t now,*mod_time;
memset( out, '', sizeof( time_now) );
now = time( NULL );
mod_time = &stbuf.st_mtime;
if(last_mod_time!=*mod_time)
{
last_mod_time=*mod_time;
long_idle_time=0;
}
else long_idle_time++;
char output[100];
sprintf(output,"%s has been idle for %d second",tty,long_idle_time);
syslog(LOG_INFO, output);
}
nah,kita bisa dapat berapa lama user sedang idle lewat variabel long_idle_time
Categories: C/C++, Open Source Tutorial, Programming C UNIX, Idle, kbhit, Keyboard Stroke, Sistem Operasi







SocialVibe