JNativeHook es una biblioteca que proporciona escuchas globales de teclado y mouse para Java. Esto le permitirá escuchar atajos globales o movimientos del mouse que de otro modo serían imposibles usando Java puro. Para realizar esta tarea, JNativeHook aprovecha el código nativo dependiente de la plataforma a través de la interfaz nativa de Java para crear enlaces de bajo nivel en todo el sistema y entregar esos eventos a su aplicación.
Los siguientes eventos están disponibles a través de sus respectivos oyentes.
Además de los detectores de eventos globales, esta biblioteca tiene la capacidad de publicar eventos nativos en el sistema operativo nativo.
JNativeHook está cubierto por la Licencia pública general reducida de GNU, que es una extensión de la Licencia pública general de GNU que le otorga derechos de distribución adicionales. Según tengo entendido, puede utilizar esta biblioteca en proyectos propietarios (código cerrado) siempre que siga siendo una biblioteca externa con la misma interfaz binaria. Puede modificar el código fuente de esta biblioteca para satisfacer cualquier necesidad de propiedad, siempre que esas modificaciones estén disponibles según los términos y condiciones de la LGPL. Consulte con un abogado autorizado si tiene preguntas o inquietudes adicionales sobre compatibilidad de licencias.
La distribución binaria para JNativeHook se puede encontrar en la sección de lanzamientos de la página del proyecto. Los usuarios de Maven pueden usar <groupId>com.github.kwhat</groupId>
y <artifactId>jnativehook</artifactId>
para incluir esta biblioteca automáticamente. Las compilaciones nocturnas se pueden encontrar en el repositorio de instantáneas de Maven.
Si esta biblioteca le ha resultado útil, considere hacer una donación.
La aplicación de ejemplo gráfico existe para proporcionar una demostración en tiempo real de la salida sin procesar de todos los eventos nativos disponibles. Para ejecutar la aplicación, simplemente ejecute el archivo jar proporcionado. Código fuente disponible en src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.
Código fuente actualizado y documentación disponibles en: https://github.com/kwhat/jnativehook/