Skip to content

animex007/Keyboard-Tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

🎹 Mechanical Keyboard Tester

A modern open-source tool to test every key on your mechanical keyboard in real-time. Built with Next.js + FastAPI, it gives instant visual feedback, highlights missing keys, and ensures your keyboard is fully functional.


✨ Features

  • Real-Time Key Detection – See which keys are working instantly
  • 🖥️ Visual Keyboard Layout – Interactive UI for easy testing
  • 🚦 Pass/Fail Results – Automatically shows unresponsive keys
  • Fast & Lightweight – Minimal setup, smooth experience
  • 🌐 Cross-Platform – Works on Windows, macOS, and Linux

🛠️ Architecture

┌───────────────┐      WebSocket / API      ┌───────────────┐
│ Python Backend │ ───────────────────────▶ │ Next.js Front │
│  - Detect keys │                           │  - UI Layout │
│  - Handle USB  │ ◀─────────────────────── │  - Live Color │
└───────────────┘      ACK / Updates        └───────────────┘

🔑 Key Detection Flow

┌─────────────┐      ┌──────────────┐      ┌───────────────┐
│ User Presses│ ───▶ │ Python Server│ ───▶ │  WebSocket     │
│    a Key    │      │   Captures   │      │  Sends Signal  │
└─────────────┘      └──────────────┘      └───────────────┘
                                                 │
                                                 ▼
                                          ┌───────────────┐
                                          │ Next.js UI    │
                                          │ Highlights Key│
                                          └───────────────┘

🧩 System Components

+---------------------------------------------------------+
|                    Mechanical Keyboard Tester          |
|                                                         |
|  ┌───────────────┐       ┌───────────────┐              |
|  │ Backend (Py)  │       │ Frontend (JS) │              |
|  │ - FastAPI     │       │ - Next.js     │              |
|  │ - USB Events  │       │ - UI / Colors │              |
|  │ - WebSocket   │       │ - Status View │              |
|  └───────────────┘       └───────────────┘              |
|                                                         |
|      🔄 Real-time Communication via WebSockets          |
+---------------------------------------------------------+

🚀 Getting Started

1️⃣ Clone the repository

git clone https://github.com/your-username/mechanical-keyboard-tester.git
cd mechanical-keyboard-tester

2️⃣ Start the backend

cd backend
pip install -r requirements.txt
python main.py

3️⃣ Start the frontend

cd ../frontend
npm install
npm run dev

Then open http://localhost:3000 in your browser.


🖱️ Usage

  1. Start both backend and frontend
  2. Open the app and press keys on your keyboard
  3. ✅ Working keys turn green
  4. ⚠️ Missing keys are highlighted when you finish the test

📂 Project Structure

mechanical-keyboard-tester/
│── backend/       # FastAPI server for key detection
│── frontend/      # Next.js web interface
│── README.md

Screenshots

Screenshot 2025-08-04 231248 Screenshot 2025-08-04 231313

🤝 Contributing

We welcome contributions!

  • 🐛 Report bugs
  • 🌟 Suggest features
  • 🔧 Submit pull requests

👨‍💻Developed By

Crafted with ❤️ by Animex007

About

A modern **open-source tool** to test every key on your mechanical keyboard in real-time. Built with **Next.js + FastAPI*

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors