Computer hardware icons created by Rian Maulana - Flaticon
Settings icons created by Freepik - Flaticon
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
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.
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.
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.
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
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.
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.
* 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.
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.
Supported Software:
- KMonad version >=0.4.1
Supported Software:
- AutoHotkey version >=2.0
- KMonad version >=0.4.1 (AutoHotkey is preferred)
Shai Coleman—Colemak keyboard layout
Steve “stevep99” P—Seniply, Mod-DH
Øystein “DreymaR” Bech-Aase—The Big Bag Theory
Manna Harbour—Miryoku
Precondition—Home Row Mods
Pascal Getreuer—Designing a Symbol Layer
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.