OverKeys logo

OverKeys Angelo Convento

Use this command to install OverKeys:
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 Demo

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.

(back to top)

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.

(back to top)

Getting Started

Installation

OverKeys can be installed through several methods:

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

  2. Using the Installer

  3. Portable Version

For detailed installation instructions, see the Installation Guide.

(back to top)

Documentation

Complete documentation for OverKeys is available in the docs folder:

Getting Started (Docs)

User Guide

Advanced Features

(back to top)

Contributing

Contributions are what make the open-source community such an amazing place to learn and collaborate. Any contributions to OverKeys are greatly appreciated.

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feat/amazing-feature).
  3. Commit your Changes (git commit -m 'feat: add some amazing feature').
  4. Push to the Branch (git push origin feat/amazing-feature).
  5. Open a Pull Request.

Top contributors

Building from Source

  1. Prerequisites:

  2. 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`
    

(back to top)

License

Distributed under the GPL-3.0 License. See LICENSE file for more information.

(back to top)

Contact

Angelo Convento

GitHub: conventoangelo
Email:

Project Link: https://github.com/conventoangelo/OverKeys

(back to top)

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.

(back to top)

Versions
0.3.0
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
Website
License