Behavioral typing sensor and rhythm analysis layer for the FastJava ecosystem.
FastKeylogger transforms raw hardware events into high-level behavioral typing signatures. While standard loggers only capture characters, FastKeylogger captures the biological rhythm (dwell times, flight times) and cognitive patterns (correction behavior) of the user.
// Quick Start — Example
import fastkeylogger.FastKeylogger;
public class Demo {
public static void main(String[] args) {
FastKeylogger logger = new FastKeylogger();
logger.addListener(event -> {
System.out.println("Typed: " + event.character() + " (Hold: " + event.durationMs() + "ms)");
});
logger.start();
}
}- 🚀 Text Reconstruction — Converts raw hardware scancodes into a logical character stream.
- ⏱️ Timing Signatures — Captures precise Dwell Time (hold duration) and Flight Time (latency).
- 🧹 Correction Awareness — Monitors backspaces and deletions to analyze cognitive load and error patterns.
- ⚡ Zero Polling — Purely event-driven logic based on
FastKeyboard.
FastKeylogger requires three JARs in your environment: the module itself, FastKeyboard (the driver), and FastCore (the native loader).
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- 1. The Keylogger Logic -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastKeylogger</artifactId>
<version>0.1.0</version>
</dependency>
<!-- 2. The Keyboard Driver -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastKeyboard</artifactId>
<version>0.2.0</version>
</dependency>
<!-- 3. The Native Loader -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastcore</artifactId>
<version>0.1.0</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.andrestubbe:FastKeylogger:0.1.0'
implementation 'com.github.andrestubbe:FastKeyboard:0.2.0'
implementation 'com.github.andrestubbe:fastcore:0.1.0'
}Download the latest JARs directly to add them to your classpath:
| Method | Description |
|---|---|
void start() |
Starts the underlying keyboard listener. |
void stop() |
Stops the listener and releases resources. |
void addListener(TypingListener) |
Registers a new observer for processed events. |
| Platform | Status |
|---|---|
| Windows 10/11 (x64) | ✅ Fully Supported |
| Linux | 🚧 Dependent on FastKeyboard |
| macOS | 🚧 Dependent on FastKeyboard |
MIT License — See LICENSE file for details.
- FastKeyboard — Windows RawInput Driver
- FastCore — Native Library Loader
Made with ⚡ by Andre Stubbe