JKeyboard es una pequeña aplicación swing que proporciona un teclado virtual en pantalla pensado para introducir contraseñas en campos de texto de modo seguro incluso si hay un keylogger instalado en el equipo del usuario, ya que las contraseñas se introducen haciendo clics con el ratón sobre el teclado virtual, y no pulsando teclas.
Este mecanismo para evitar keyloggers no es perfecto; algún software malicioso de este tipo va más allá de simplemente registrar pulsaciones de teclas y es capaz de darse cuenta cuando el usuario está a punto de introducir un password en ciertas web y realiza capturas de pantalla cuando se producen los clics, averiguando de ese modo qué teclas en el teclado virtual han sido "pulsadas". Aunque no es un sistema perfecto, si sube bastante la barrera de seguridad para los keyloggers.
El código de Este pequeño proyecto puede descargarse desde aquí, y aquí tenéis un pequeño ejemplo con código fuente mostrando cómo se usa.