JNativeHook é uma biblioteca para fornecer ouvintes globais de teclado e mouse para Java. Isso permitirá que você ouça atalhos globais ou movimentos do mouse que de outra forma seriam impossíveis usando Java puro. Para realizar essa tarefa, o JNativeHook aproveita o código nativo dependente da plataforma por meio da interface nativa do Java para criar ganchos de baixo nível em todo o sistema e entregar esses eventos ao seu aplicativo.
Os seguintes eventos estão disponíveis através de seus respectivos ouvintes.
Além dos ouvintes de eventos globais, esta biblioteca tem a capacidade de postar eventos nativos de volta ao sistema operacional nativo.
JNativeHook é coberto pela Licença Pública Geral Menor GNU, que é uma extensão da Licença Pública Geral GNU que concede a você direitos de distribuição adicionais. Pelo que entendi, você pode usar esta biblioteca em projetos proprietários (código fechado), desde que permaneça uma biblioteca externa com a mesma interface binária. Você pode modificar o código-fonte desta biblioteca para atender a qualquer necessidade proprietária, desde que essas modificações sejam disponibilizadas sob os termos e condições da LGPL. Consulte um advogado licenciado se tiver dúvidas ou preocupações adicionais sobre compatibilidade de licença.
A distribuição binária do JNativeHook pode ser encontrada na seção de lançamentos da página do projeto. Os usuários do Maven podem usar <groupId>com.github.kwhat</groupId>
e <artifactId>jnativehook</artifactId>
para incluir esta biblioteca automaticamente. As compilações noturnas podem ser encontradas no repositório de snapshots do maven.
Se você achou esta biblioteca útil, considere fazer uma doação.
O aplicativo de exemplo gráfico existe para fornecer uma demonstração em tempo real da saída bruta para todos os eventos nativos disponíveis. Para executar o aplicativo, basta executar o arquivo jar fornecido. Código-fonte disponível em src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.
Código-fonte atualizado e documentação disponível em: https://github.com/kwhat/jnativehook/