Skip to content

andrestubbe/FastKeylogger

Repository files navigation

FastKeylogger v0.1.0 [ALPHA] — Behavioral Typing Logic for Java

Status License: MIT Java Platform JitPack


⚡ 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.


FastKeyboard Showcase


Table of Contents


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();
    }
}

Key Features

  • 🚀 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.

Installation

Option 1: Maven (Recommended)

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>v0.1.0</version>
</dependency>

<!-- FastCore (Required Native Loader) -->
<dependency>
    <groupId>com.github.andrestubbe</groupId>
    <artifactId>fastcore</artifactId>
    <version>v0.1.0</version>
</dependency>
</dependencies>

Option 2: Gradle (via JitPack)

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.andrestubbe:fastkeylogger:v0.1.0'
    implementation 'com.github.andrestubbe:fastcore:v0.1.0'
}

Option 3: Direct Download (No Build Tool)

Download the latest JARs directly to add them to your classpath:

  1. 📦 * *fastkeylogger-v0.1.0.jar ** (The Core Library)
  2. ⚙️ fastcore-v0.1.0.jar ( The Mandatory Native Loader)

Important

All JARs must be in your classpath for the native JNI calls to function correctly.

API Reference

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 Support

Platform Status
Windows 10/11 (x64) ✅ Fully Supported
Linux 🚧 Planned
macOS 🚧 Planned

License

MIT License — See LICENSE file for details.


Related Projects

  • FastCore — Native Library Loader & JNI Utilities for Java
  • FastMouse — High-Performance Native Mouse API for Java
  • FastHotkey — Low-Latency Global Hotkey API for Java
  • FastKeyboard — Native Windows RawInput API for Java
  • FastTouch — Native touchscreen input for Java
  • FastStylus — Native Stylus/Pen Input for Java

Part of the FastJava EcosystemMaking the JVM faster.

About

Behavioral typing sensor for the FastJava ecosystem. Reconstructs text streams from raw hardware events and analyzes typing rhythm (timing signatures).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors