Hola:
Con este código
Toolkit.getDefaultToolkit().addAWTEventListner(... .)
http://docs.oracle.com/javase/7/docs...t/Toolkit.html
te puedes suscribir de golpe a todos los eventos de ratón y teclado, por lo que contar a partir de ahí debería ser fácil.
Sin embargo, ese código solo te avisa de eventos que ocurran en tus componentes java (a excepción de algunos concretos de movimiento de ratón). Para obtener eventso de fuera de tu aplicación, tendrías que usar una librería nativa como esta
https://code.google.com/p/jnativehook/
Se bueno.