OverKeys Angelo Convento
winget install --id=AngeloConvento.OverKeys -e
Learn and practice alternative layouts, personalize appearance, and improve your typing. An open-source, customizable on-screen keyboard for Windows.
OverKeys is a customizable on-screen keyboard tool designed to help users learn, practice, and adapt to alternative keyboard layouts such as Dvorak or Colemak. It provides an interactive platform for visualizing key positions, personalizing the appearance of the keyboard interface, and improving typing accuracy and speed.
Key Features:
- Alternative Layout Support: Practice and visualize different keyboard layouts with ease.
- Personalization: Customize the color scheme, font size, and other visual aspects to suit individual preferences.
- Typing Improvement Tools: Track progress and adapt to new layouts more effectively.
- Multi-Language Compatibility: Supports a wide range of languages and character sets.
- Customizable Layouts: Create or import custom keyboard configurations.
- Windows Integration: Seamlessly integrates with Windows settings for consistent user experience.
Audience & Benefit:
Ideal for users interested in exploring alternative keyboard layouts to improve efficiency, comfort, or typing speed. OverKeys is particularly beneficial for those looking to transition from a QWERTY layout to more ergonomic options while maintaining full control over the learning process.
Available as an open-source application, OverKeys can be installed on Windows via winget, making it accessible and easy to set up for developers and casual users alike.
README

OverKeys
An open-source keyboard layout visualizer for Windows
Install Now · Report Bug · Request a Feature · Ask a Question
Table of Contents
<a href="#about-the-project">About The Project</a>
<a href="#features">Features</a>
<a href="#getting-started">Getting Started</a>
<a href="#documentation">Documentation</a>
<a href="#contributing">Contributing</a>
<a href="#building-from-source">Building from Source</a>
<a href="#license">License</a>
<a href="#contact">Contact</a>
<a href="#acknowledgments">Acknowledgments</a>
About The Project
OverKeys is a free and open-source keyboard layout visualizer designed for users to practice alternative keyboard layouts, such as Colemak, Dvorak, Graphite, Focal, and many more. Learn and practice your layouts system-wide, personalize keyboard appearance, and improve your typing.
This project was initially developed to help with the creator's system-wide practice of the Canary layout, but has since evolved to support user-defined layouts, layer switching integration, and customization options.
Samples
<img src="assets/images/aurora1.png" />
<p align="center">Aurora (On Dark Background)</p>
<img src="assets/images/aurora2.png" />
<p align="center">Aurora (On Light Background)</p>
<img src="assets/images/eyco1.png" />
<p align="center">Custom (On Dark Background)</p>
<img src="assets/images/eyco2.png" />
<p align="center">Custom (On Light Background)</p>
<img src="assets/images/catpuccin.png" />
<p align="center">Catppuccin</p>
<img src="assets/images/redsamurai.png" />
<p align="center">Red Samurai</p>
<img src="assets/images/splitmatrix.png" />
<p align="center">Split Matrix Style</p>
<img src="assets/images/matrix.png" />
<p align="center">Matrix Style</p>
Note: The themes are not provided by default and were instead manually configured. Colors were based on the MonkeyType themes of the same name.
Features
-
Multi-layout support: The following layouts are currently natively supported.
Layouts
QWERTY Colemak Dvorak Canaria Canary Canary Matrix Colemak DH Colemak DH Matrix Engram Focal Gallium (Col-Stag) Gallium V2 (Row-Stag) Graphite Halmak Hands Down NERPS Norman Sturdy Sturdy Angle (Staggered) Workman
-
Customizable styles: Change colors, fonts, sizes, offsets, and key styles
-
Auto-hide: The keyboard hides automatically when not in use
-
Keymap styles: Supports staggered, matrix, and split matrix (5-col and 6-col) styles
-
User configurations: Add and use custom keyboard layouts through configuration files
-
Side-by-side layouts: Display alternative layouts alongside the default layout
-
Top row/Number row: Optional row above the main keyboard for numbers or user-configured keys
-
Layer switching: Switch between multiple custom keyboard layers for QMK, ZMK, or other programmable keyboard firmware using configurable triggers and toggle modes
-
Layer switching (Kanata): Connect to Kanata through TCP to dynamically display the active layer
-
Learning Mode: Color-code keys based on proper finger positions for touch typing
-
Reactive Shift Mapping: Display alternate key symbols when Shift key is pressed
For complete feature details, see the documentation.
Getting Started
Installation
OverKeys can be installed through several methods:
-
Using Winget (Recommended)
winget install AngeloConvento.OverKeys
Note: Please check if
winget
version is updated to the latest version as in the repo. Otherwise, use the installer to have the latest version. -
Using the Installer
- Download and run the latest EXE installer.
-
Portable Version
- Downloade and extract the portable ZIP file
For detailed installation instructions, see the Installation Guide.
Documentation
Complete documentation for OverKeys is available in the docs folder:
Getting Started (Docs)
User Guide
Advanced Features
- Custom Font
- Custom Layouts
- Alternative Layouts
- 6-Column Layouts
- Layer Switching
- Kanata Integration
- Shift Mappings
- Supported Keys
Contributing
Contributions are what make the open-source community such an amazing place to learn and collaborate. Any contributions to OverKeys are greatly appreciated.
- Fork the Project.
- Create your Feature Branch (
git checkout -b feat/amazing-feature
). - Commit your Changes (
git commit -m 'feat: add some amazing feature'
). - Push to the Branch (
git push origin feat/amazing-feature
). - Open a Pull Request.
Top contributors
Building from Source
-
Prerequisites:
-
Clone and Build:
git clone https://github.com/conventoangelo/OverKeys.git cd OverKeys flutter pub get flutter run -d windows # For testing # OR flutter build windows # For release build # Release executable is located at `build\windows\x64\runner\Release`
License
Distributed under the GPL-3.0 License. See LICENSE
file for more information.
Contact
Angelo Convento
GitHub: conventoangelo
Email:
Project Link: https://github.com/conventoangelo/OverKeys
Acknowledgments
- win32 - Enable direct Win32 API access from Dart using FFI without requiring C code
- leanflutter.dev - Provider of several essential Flutter desktop packages used in this project
- desktop_multi_window - Flutter plugin for creating and managing multiple windows in desktop applications
- flex_color_picker - Highly customizable and versatile color picker for Flutter applications
- Alaine - for creating the beautiful OverKeys logo with love and care.