Как я могу получить то, что вводится в любую программу вне моей Java-программы? Есть ли способ? Например, я запускаю свою Java-программу, затем начинаю печатать в блокноте и с помощью Java-программы вижу, что набирается.
Вы должны найти термин Перехват клавиатуры , вот пример использования WinApi http://www.codeproject.com/KB/DLL/keyboardhook.aspx
Вы не можете сделать это на чистой Java.В какой-то момент это потребует общения с внешним приложением или собственной библиотекой, и в любом случае будет зависеть от платформы.
Существует библиотека для управления встроенной клавиатурой и мышью: http://code.google.com/p/jnativehook/