Preciso pegar as teclas apertadas fora do sistema

Tenho um programa que usa algumas teclas de função F1, F2…
Esse programa fica minimizado, pois estou usando um outro programa, hoje tenho que ver a tela para os atalhos funcionarem.
Gostaria de poder pegar as teclas que estão sendo precionadas fora da minha aplicação.
Não achei nenhuma documentação sobre isso.
Grato pela ajuda!

O nome disso é “Keyboard hook” e não funciona mais como funcionava antigamente*, porque pode ser usado para roubar senhas.

  • Hoje em dia, se um programa resolver instalar um keyboard hook, o seu antivírus/anti-spyware preferido irá desabilitar esse recurso na hora.

No caso eu vou instalar isso pessoalmente, posso cadastrar uma exeção no antivirus…
Isso seria uma mão na roda, funcionario tipo o winamp, que tem varias teclas de atalho…

Para isso tens que usar uma biblioteca nativa…
da de usar o JNA e lincar com as APIs do windows…
pra quem gosta de masoquismo é legal…

eu tenho o meu hack que funciona :), fiz justamente um keylogger…antivirus não reclamou não…

use o jinput (https://jinput.dev.java.net/servlets/ProjectDocumentView?documentID=59031&showInfo=true)

ele captura os Joysticks, mais como tudo é meio que controlado junto em qualquer SO
ele acaba conseguindo tratar mouse e teclado tb, mesmo sem foco no seu programa Java.

qualquer duvida…tamo ai

Há…o lwjgl tem algumas facilidades pra usar o JInput…
caso tenha dificildades…