Skip to content

My personal keyboard layout and layers for Windows and Linux.

License

Notifications You must be signed in to change notification settings

szageda/keeb-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

1. Introduction
2. Keyboard Layouts
. . 2.1. Colemak-DH
. . 2.2. Dvorak
3. The Utils
4. Supported Platforms and Software
. . 4.1. Linux
. . 4.2. Windows
5. Credits and Inspiration
6. License

1. Introduction

Keeb Utils, short for “Keyboard Utilities,” is my personal project focused on sharing custom keyboard tweaks for Windows and Linux. This repository features adjustments aimed at enhancing efficiency and comfort. It serves as a valuable resource for keyboard enthusiasts seeking to improve their typing experience and as a starting point for those interested in keyboard programming. After exploring various alternative layouts and experimenting with different alphanumeric functions, I was inspired to create this solution, drawing on the work of others—details are in the 5. Credits and Inspiration section.

Keeb Utils adheres to two key principles:

  • Keep it minimal and functional.
  • Implement cross-platform solutions without sacrificing essential features.

2. Keyboard Layouts

Keeb Utils is configured to load the Colemak-DH keyboard layout by default. You must edit the configuration files to load a different layout on program startup—this is explained in the given software solution's README.md file.

2.1. Colemak-DH

I use a keyboard layout known as “Colemak-DH“ (which is occasionally referred to as “Colemak Mod-DH“). Colemak was originally created in 2006 and was enhanced in 2015 with the addition of the “DH“ modification, which involved swapping the D and H keys to minimize the side-to-side movement of the index fingers.

Colemak-DH keyboard layout
Colemak-DH keymap for ANSI 101/104-key keyboards

Note that some symbol keys ([ ] =) have been moved due to personal preference.

What is Colemak?

Colemak, pronounced /'ko:lmæk/ (Coal-Mac), is a keyboard layout designed for touch typing in English. It is designed to be a practical alternative to the QWERTY and Dvorak keyboard layouts. It was released on 01-Jan-2006.

— Colemak.com, link

Ergonomics and Health Benefits of Using Colemak:

  • Reduces Risk of Injuries: Beneficial for individuals suffering from Repetitive Strain Injury (RSI) or Carpal Tunnel Syndrome (CTS).
  • Alleviates Discomfort: Helps those who experience pain or discomfort while typing.
  • Caters to Heavy Keyboard Users: Designed for anyone spending over 10 hours per week at the keyboard, promoting better ergonomics.
  • Enhances Typing Speed: Supports writers and programmers who need to type as fast as they think, preventing loss of thought.
  • Improves Efficiency in Time-Critical Situations: Ideal for journalists and bloggers who require quick typing.
  • Facilitates Note-Taking: Assists students using laptops during lectures to keep up with fast-paced discussions.
  • Promotes Efficient Work Habits: Appeals to individuals interested in lifehacks and improved efficiency.
  • Supports Frequent Communication: Beneficial for users of instant messaging and chat software.

— Colemak.com, link

2.2. Dvorak

The Dvorak keyboard layout, sometimes also called “Dvorak Simplified Keyboard”, was patented in the 1930s by August Dvorak as a more ergonomic and faster altenative to QWERTY. To design his keyboard layout for the English language, August Dvorak used letter frequency and physiology of the hands.

Colemak-DH keyboard layout
Dvorak keymap for ANSI 101/104-key keyboards

3. The Utils

I implement various adjustments and functions on an extra layer, called “Utility“, to enhance my keyboard-focused workflow, resulting in improved efficiency and comfort. The Utility layer can be activated using a specific key (I prefer Caps Lock), allowing you to access text editing and navigation features on the alphanumeric keys without shifting your hands from their home positions.

Utility layer
Utility layer function map for ANSI 101/104-key keyboards

Key Category Description
Navigation keys Navigation keys (e.g., Left Up PgDn etc.)
Ctrl shortcuts Ctrl shortcuts (e.g., Ctrl+C Ctrl+S Ctrl+X etc.)
Modifiers Modifiers (e.g., Win Shift Ctrl etc.)
Sticky keys Sticky keys *
Text manipulation keys Text manipulation (e.g., Backspace Caps Lock Tab etc.)
Multimedia keys Multimedia keys (e.g., Play Vol. Down Vol. Up etc.)
Misc. keys Function and misc. keys

* Sticky keys:

These keys behave differently depending on whether they are:

  • Tapped: They become “sticky” for 500 ms to allow for Ctrl and Alt shortcuts that are not available on the Utility layer, for example:
    • Ctrl+W: Close your current tab (text editors, web browsers, File Explorer etc.)
    • Ctrl+T: Open a new tab (web browsers, File Explorer etc.)
    • Ctrl+N: Create a new file (text editors)
    • Ctrl+O: Open a new document (text editors)
    • Shortcuts in online HTML WYSIWYG text editors: Ctrl+B for bold text, Ctrl+I for italic text, Ctrl+U for underlined text etc.
  • Held: They function like regular Ctrl and Alt keys allowing, for example, advanced navigation and text manipulation:
    • Ctrl+Right: Jump to the next word.
    • Ctrl+Shift+Right: Select the next word.
    • Ctrl+End: Jump to the end of the current document/page.
    • Alt+Tab: Cycle through your open windows.
    • Alt+Shift+Tab: Cycle through your open windows in reverse order.
    • Alt+F4: Close your current window.

4. Supported Platforms and Software

I primarily develop Keeb Utils for GNU/Linux and Windows operating systems as these are the platforms I use daily—Linux on my personal devices and Windows on my work computer. Additionally, I must consider that I'm restricted from installing arbitrary software on my work machine; a business justification is typically required for any installation intended for personal use. Therefore, I tend to focus on open-source and portable software.

Warning

I do not supply the installers or any binary files associated with the Keeb Utils configuration files found in this repository. It is your responsibility to obtain the necessary software binaries.

4.1. Linux

Supported Software:

  • KMonad version >=0.4.1

4.2. Windows

Supported Software:

  • AutoHotkey version >=2.0
  • KMonad version >=0.4.1 (AutoHotkey is preferred)

5. Credits and Inspiration

Shai ColemanColemak keyboard layout
Steve “stevep99” PSeniply, Mod-DH
Øystein “DreymaR” Bech-AaseThe Big Bag Theory
Manna HarbourMiryoku
PreconditionHome Row Mods
Pascal GetreuerDesigning a Symbol Layer

6. License

All files under the Assets directory without a specified license are Public Domain, the rest are licensed under the MIT license—refer to LICENSE in the root directory.

You may change and/or distribute all files contained in this repository under their license requirements.

Disclaimer:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Releases

No releases published

Packages

No packages published