The ultimate reinforcement-learning toolkit for automatically tuning pointing transfer functions.
We are currently working hard behind the scenes to get the first release ready!
TFTune is an upcoming open-source library designed to automatically personalize transfer functions for computer pointing devices using reinforcement learning.
By treating pointer tuning as a Markov Decision Process, TFTune learns the ideal non-linear mapping between physical device movement and onscreen cursor displacement. Whether you are a system designer or an end-user, TFTune provides an automated way to outperform standard operating system defaults—improving movement times by up to 7% on macOS and 8% on Windows.
We are packing TFTune with features to modernize fundamental computer inputs:
- ⚡ Automated Personalization: Utilizes Proximal Policy Optimization (PPO) to dynamically adjust control-display gains based on natural user interactions.
- 🛠️ Hardware Agnostic: Seamlessly scales across diverse pointing devices, proven to improve performance on trackpads, standard mice, and even 1D muscle-computer interfaces (MCI).
- 📊 Fast Convergence: Achieve personalized, state-of-the-art pointing performance in as little as 1 to 7 minutes of tuning.
- 🧠 Lightweight Extraction: Easily converts trained neural network policies into discrete lookup tables (e.g., 128-entry arrays) for zero-overhead, sub-millisecond runtime inference.
- Core Reinforcement Learning Architecture (MDP formulation & PPO integration)
- Transfer Function Lookup Table Extraction
- Public API Refinement (In Progress)
- Documentation and Usage Tutorials
- Alpha Release (v0.1.0)
Once released, you will be able to install TFTune easily via pip:
pip install tftuneDon't miss the launch! Here is how you can stay in the loop:
- Star ⭐ this repository to show your support.
- Click the Watch 👀 button at the top right of this page and select "Custom" -> "Releases" to get notified the moment we drop the first version.
We aren't accepting pull requests just yet, but we will be looking for contributors once the core foundation is laid down. Check back after our initial release for contribution guidelines!