Type using only your eyes — gaze left or right to pick a keyboard half, then blink to select a letter.
Built with MediaPipe FaceMesh, Python, and OpenCV. No hands required.
| Menu Selection | Keyboard — Left Set | Keyboard — Right Set |
|---|---|---|
![]() |
![]() |
![]() |
- Your webcam captures a live video feed.
- MediaPipe FaceMesh detects 468 facial landmarks in real-time.
- Iris position is tracked to detect gaze direction (left or right).
- A LEFT / RIGHT menu appears — hold your gaze on one side for ~1 second to pick that half of the keyboard.
- The keyboard scrolls through letters one at a time, highlighting each key.
- Blink when your target letter is highlighted — hold the blink for ~6 frames to type it.
<= Backspace,_= Space.- Typed text appears live on the Board window below.
git clone https://github.com/LIKTHANSH/NeuroVision_KeyBoard.git
cd NeuroVision_KeyBoardMake sure you have Python 3.8+ installed.
pip install -r requirements.txtpython software/virtual_keyboard.pyNote: Sound files (
sound.wav,left.wav,right.wav) must be in thesounds/folder.
If they are missing, the program still runs — just without audio feedback.
| Left Set | Right Set |
|---|---|
| Q W E R T | Y U I O P |
| A S D F G | H J K L _ |
| Z X C V < | V B N M < |
<→ Backspace_→ Space
NeuroVision_KeyBoard/
├── software/
│ └── virtual_keyboard.py # Main Python script
├── sounds/
│ ├── sound.wav # Key press sound
│ ├── left.wav # Left keyboard selected
│ └── right.wav # Right keyboard selected
├── docs/
│ └── block_diagram.png # System block diagram
├── requirements.txt
├── .gitignore
└── README.md
opencv-python— Video capture and displaymediapipe— FaceMesh + iris landmark detectionnumpy— Array operationspyglet— Audio playback
See requirements.txt for versions.
NeuroVision is an assistive technology system for people with motor impairments.
| Module | Repository |
|---|---|
| 👁️ Virtual Keyboard | This repo |
| 🏠 Home Appliance Control | NeuroVision |
This project is for educational and research purposes.
© 2025 LIKTHANSH — All rights reserved.



