π§ 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.
import fastkeylogger.FastKeylogger;
public class Example {
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 (inter-key latency).
- π§ Correction Awareness β Monitors backspaces and deletions to analyze cognitive load and error patterns.
- π― Zero Polling β Purely event-driven logic based on
FastKeyboardraw input callbacks.
Add the JitPack repository and the dependencies to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- FastKeylogger Library -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastKeylogger</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastCore (Required 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:FastCore:0.1.0'
}Download the latest JARs directly to add them to your classpath:
- π¦ fastkeylogger-0.1.0.jar (The Core Library)
- βοΈ fastcore-0.1.0.jar (The Mandatory Native Loader)
Important
All JARs must be in your classpath for the native JNI calls to function correctly.
| 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 | π§ Planned |
| macOS | π§ Planned |
MIT License β See LICENSE file for details.
- FastCore β Native Library Loader & JNI Utilities for Java
- FastKeyboard β Native Windows RawInput API for Java
- FastMouse β High-Performance Native Mouse API for Java
- FastHotkey β Low-Latency Global Hotkey API for Java
- FastTouch β Native Touchscreen Input for Java
- FastStylus β Native Stylus/Pen Input for Java
Part of the FastJava Ecosystem β Making the JVM faster. β‘
