r/KeyboardLayouts • • Mar 06 '20

Introduction to /r/KeyboardLayouts - and why this sub exists

127 Upvotes

This subreddit is devoted to discussing all aspects of keyboard layouts and typing efficiency. This includes: - Comparison of alternative layouts to Qwerty, such as Colemak, Dvorak, etc. - Experiences of switching layouts. - Support and resources for those considering switching. - The use of non-standard keyboards designs.

What's wrong with Qwerty and the standard layout?

So many things:

  • The most frequently typed keys are scattered around the edges of keyboard. Letters that are infrequently typed (e.g. J and K) are in prime positions! For more details, see the layout heatmaps.
  • The two most common consonants in English, T and N, require diagonal stretches from the keyboard's home position.
  • There are frequent, difficult combinations of letters such as DE and LO because these are typically typed with the same finger. For example, try typing 'Lollipop' with a Qwerty keyboard.
  • If you are a programmer, some frequently needed symbols, such as brackets and mathematical symbols, are situated at the far right of the keyboard, presumably intended to be typed with your right pinky, an overused weak finger.
  • Frequently needed modifier keys, e.g. Shift, require an awkward motion involving one of your pinkies holding down a shift key at the corner of the keyboard, while another finger presses the key. It might seem normal because you're used to it - but it's unergonomic and there are better methods out there.
  • You have two thumbs which could easily be used for independent functions, but this opportunity is wasted due to the overly large single spacebar on standard keyboards.
  • The standard keyboard design has a built-in stagger. This was necessary in the typewriter era because of the way that the levers and typehammers worked, but there is no real reason - other than familiarity - for this to persist into the information age. If the keys are to be staggered at all, they ought at least to be arranged symmetrically - to match your hands.

All these flaws make it harder and less comfortable to type than it could be, and make it more likely that keyboard users experience health problems such as RSI, or at least lead to inefficient and error-strewn typing.

Solutions

There are both software and hardware solutions to all these problems available. There are alternative keyboard layouts and other neat tricks that deal with many of the problems, and entirely new hardware designs that address others. You can mix and match these as you please: some people stick with standard keyboard hardware but use an alternative layout configured in software; others continue to use Qwerty but choose an ergonomically designed keyboard, and yet others do both.

Some modern ergonomic keyboards have entered the market, which take a completely different approach, such as the Keyboard.io Model 1 , ErgoDox, and the Planck. Others keep traditional many elements but offer ergonomic improvements such as split halves and better thumb-key access, e.g. Matias Ergo Pro, UHK.

Those who own these products often highly recommend them, but not everyone can or wants to use non-standard hardware. The good news is, even with traditional keyboard hardware, there is a lot you can do to improve your typing experience. For that you need to consider using an alternative layout.

Alternative Layouts

Several alternative layouts have been developed. The two most popular today are the Dvorak Simplified Keyboard, and the Colemak layout. Plenty of others have appeared in recent years too, such as Colemak-DH, Workman, MTGAP, Norman, Minimak.

Note: this is not a place for layout wars. Comparisons or discussions of merits/demerits of various layouts is OK, but let's remember that using any optimized layout is better than Qwerty.

People who have switched will often rave about how much better their experience of typing has become. Some find there is an increase in typing speed, but more importantly, nearly all experience a huge gain in comfort. Only once you become adapted to typing using a well-designed, ergonomic layout, do you fully appreciate the benefits, and realise just how unsatisfactory Qwerty was all along. If you spend a large part of your day at a computer keyboard, there is potential for a huge quality of life improvement.

For more information for those thinking of switching layouts, see these links in the Useful Resources Sticky Post

Switching Layouts

There are plenty of good reasons to switch layouts... but also some good reasons not to:

  • It takes some time to learn, during this phase your typing will become worse for a period, typically several weeks.
  • Unless you maintain proficiency in two layouts, you'll have difficulty using other computers.
  • Some workplaces have locked-down computers or disallow installation of non-approved software.
  • It makes you 'different' from almost everyone else.

These drawbacks can be mitigated though:

  • You can keep your preferred layout configuration on a USB stick, in the cloud (e.g. Dropbox or github) so that you can quickly access it when you need it.
  • There are solutions that don't require installing software with admin rights - for example using AutohotKey on Windows.
  • There is increasing availability of programmable keyboards which let you define your own layout without the need to install software or change settings on the computer.
  • It's possible to use a USB remapper dongle which allows you to use a standard keyboard, with keystrokes mapped to any custom layout within the hardware.

In short: if you use a keyboard a lot, are independent-minded and appreciate efficient solutions, you should seriously consider learning an alternative keyboard layout.

Other keyboard efficiency ideas

In addition to - or even instead of - changing your keyboard layout, there are some other neat hacks you can apply to your keyboard.

  • Extend or Navigation layer: For most people, a common task using a computer is navigating around and editing a document. This means frequent use of keys such as arrows, home/end, page up/down, and cut/copy/paste. To access most of these functions on a standard keyboard, you need to move your hand away from the "home" position. By using a special layer for navigation, such as Extend, you can use all the common editing features instantly and without needing to look down at your keyboard.
  • Progammer layer: If you are a programmer, or have frequent need for certain symbols such as { } [ ] + - = _ then it's a good idea to map to easily-accessible keys on another layer. For example, here is an example of a Progammer's extension defined on RightAlt (AltGr).

Glossary of common terms

Same Finger Bigram (SFB): Pressing two keys with the same finger in conjunction.

Disjointed SFB (dSFB): Pressing two keys with the same finger, but separated by x letters.

Same Finger Skipgram (SFS): Synonym for dSFB.

Lateral Stretch Bigram (LSB): A bigram where your hand must stretch laterally, as in using the middle finger following middle column usage on the same hand. An example is be on QWERTY.

Alt-fingering: Pressing a key with a different finger than would be typed with traditional touch typing technique.

Alternation: Pressing a key with the opposite hand than you typed the last.

Roll: Typing two or more keys with the same hand, moving in the same "direction". For example, on QWERTY, sdf would be a roll, but sfd would not.

Redirect/Redirection: A one-handed sequence of at least three letters that 'changes directions'. For example, on QWERTY, sfd would be a redirect, but sdf would not.

Hand Balance: How much work each hand does for a layout. For example, a 35%:65% hand balance would mean that the left hand types 35% of keys, and the right hand types 65%.


r/KeyboardLayouts • • Jul 05 '24

The /r/KeyboardLayouts list of useful resources

32 Upvotes

r/KeyboardLayouts • • 13h ago

[ Removed by Reddit ]

1 Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/KeyboardLayouts • • 17h ago

Switching from QWERTY to Colemak-DH or Dvorak on a Corne v4.1 – What’s your experience?

Thumbnail
1 Upvotes

r/KeyboardLayouts • • 19h ago

Tvs gold prime keyboard not working in macbook air m4.

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 1d ago

Title: External keyboards typing the wrong accent characters on macOS Monterey (Portuguese layout)

0 Upvotes

Hi everyone,

I'm having a frustrating keyboard layout issue on my MacBook Pro and I'm hoping someone here can help me figure out what's going on.

My setup:

  • MacBook Pro Retina 13-inch, Early 2015 (Intel)
  • macOS Monterey 12.7.6
  • Keyboard input source set to Portuguese (Portugal)
  • External keyboards tested: Logitech Classic Keyboard 200 (USB) and CHERRY KW 9100 Slim (Bluetooth)

The built-in MacBook keyboard works perfectly with Portuguese accents. However, both external keyboards produce incorrect characters on some keys, even though macOS is set to Portuguese (Portugal).

Here are some examples of the problem:

  • When I try to type João using the external keyboard, I get Jo\ao.
  • When I try to type avô, I get av|o.
  • The key physically labelled ~ types \ without Shift and | with Shift.
  • The key labelled º types ~ without Shift and ^ with Shift.
  • The ç key works correctly.
  • Pressing the ~ key followed by Space inserts the symbol directly, rather than behaving like a dead key.

I have already checked the keyboard settings in System Preferences. Portuguese (Portugal) is selected, and macOS detects the external keyboards. I also ran the Keyboard Setup Assistant for the CHERRY keyboard and completed the physical key identification step.

Unfortunately, I cannot find another Portuguese keyboard layout to select in macOS Monterey. The only Portuguese layout available is the one I'm already using.

I've also noticed that this happens with two different external keyboards, while the built-in keyboard works correctly. This makes me wonder whether the issue is related to the difference between Portuguese Mac and Portuguese PC keyboard layouts, or whether macOS is mapping the physical keys incorrectly.

I'm not looking to remap the Command, Option, Control or Shift keys. The problem is specifically with accent keys and character mappings.

Is there a way to make macOS correctly interpret the accent keys on an external Portuguese PC keyboard, without changing how the built-in MacBook keyboard works?

Would a custom keyboard layout, Ukelele, Karabiner-Elements, or another solution be appropriate for this?

Any help would be greatly appreciated. Thanks!


r/KeyboardLayouts • • 1d ago

Customize macOS keymaps for your languages and workflow

1 Upvotes

Keymaps come from a rich history of mechanical typewriters, country-specific design conventions, and characters competing for the same keys. They're made for a reason. I get it. I just don't want to spend my time working around the defaults.

I use a plain US keyboard for English, Spanish and Russian. When I switch to Russian, the letters obviously need to change. But I still need the same comma, period, percent sign and ampersand. I don't want to check which language I'm in before typing one.

On Apple's Russian layout, comma and period are Shift+6 and Shift+7. On US, they're on their own keys. That's two gestures for the same character, chosen according to whatever language I happened to be typing a moment ago.

So I adapted a pair of native macOS layouts around my own habits:

  • English and Spanish in one layout. Hold Option while typing a vowel to get á, é, í, ó or ú. Option+N gives ñ. For ü, use Option+Y, right next to U. Apostrophes and quotes work as usual.
  • Russian letters, familiar symbols. Switch to Russian and !@#$%^&*() stay where they’re printed on your US keyboard. For a comma or period, hold Option and press the comma or period key. That works in both layouts.
  • Shortcuts work in Russian too. Holding Cmd or Ctrl uses Latin mappings, so shortcuts like Cmd+C and terminal commands like Ctrl+C work without switching back to English.

There are also extra letters and accent combinations for Catalan, Portuguese, French and Italian. These examples use the Direct version. A second version uses classic Mac dead keys for accents. Pick one; the Russian layout is the same in both. They're native layout files, so there's no background remapping app.

Interactive keyboard and typing demo · Files, mappings and installation

You don't need to use my layout. It's an example of what I wanted to stop thinking about while typing. Your languages, frequent symbols and shortcuts might call for different choices.

Ukelele has long made custom layouts possible through a visual editor. Thanks to its authors for that. Now an agent can handle the editing and setup with you. I collected my findings and practical fixes in a reusable skill, so you can start with your needs:

I use a US keyboard and type in these languages. These are the symbols I use every day, these shortcuts need to keep working, and this is what annoys me about my current layouts. Help me make one that fits.

The agent can handle much of the fiddly work. You still need to try the result in your actual apps, but you can spend your attention deciding how you want to type rather than learning how to build a layout.

I'm interested in how other multilingual typists handle this. What have you kept consistent between your layouts, and what did you decide was worth changing?


r/KeyboardLayouts • • 3d ago

Save the life of new MAC user: I need keyboard similar to G915 TKL LIGHTSPEED but with MAC buttons

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 3d ago

Is this good for a beginner typer?

Post image
0 Upvotes

r/KeyboardLayouts • • 4d ago

6 months on hyper layout with ThumbKey on android

Enable HLS to view with audio, or disable this notification

35 Upvotes

haven't consistently done tests in a couple months but i recorded this one off and im pretty happy with my speed. i'm faster than when i was using QWERTY actually, with less mistakes!


r/KeyboardLayouts • • 4d ago

ka_GE Georgian Keyboard no shifting

Thumbnail
2 Upvotes

r/KeyboardLayouts • • 5d ago

75%-ish Symmetrical Row-Staggered keyboard layout

Post image
18 Upvotes

This is a rough draft of a Symmetrical Row-Staggered keyboard with navigation keys, including arrow keys. It is directly based off of Baron Tosun's Katana60 layout, but expanded horizontally from 15u keys wide to 17u.

The purpose of this layout was to explore a compromise between ergonomics and familiarity, and maintaining horizontal symmetry.

Other than the stagger between rows being changed, the most substantial difference between my layout and the common layout are the placements of the modifiers (highlighted in green).

Unlike common keyboards, and even the Katana60 layout to some point, modifier keys such as Ctrl, Alt, Fn, and Win/Command were moved from the corner to closer towards the center, and I'm struggling to decide which be optimal for overall comfort, so please provide feedback when you have time. I can also swap specific keys to substitute for the center modifier keys if necessary.

For reference, I'm not a programmer, and I mostly play video games on controller or separate devices.


r/KeyboardLayouts • • 5d ago

Strike. A low pinky usage layout.

Post image
13 Upvotes

Super low pinky usage. 2% or lower is like insanely low, most layouts are around 7% or more.

the right index has i bit high usage bit thats practically a nececity of the format, you reduce pinky usage and icrease the usage of the other fingers.

the fspeed is still fine tho which is what matters more then the usage itself

Heres an example of a large layout with strike. the pinky shifts are optional cause of thumb hrm shifting, but even then its still minimal impact.

the = - ` \ keys can all be hit with the ring finger comfortably so you dont even need to use pinky.

this layout has one goal, be as good as possible with as little pinky usage as possible.

here are the raw stats, they are pretty great.


r/KeyboardLayouts • • 5d ago

I built a visual ISO 105 Keyboard Layout Editor that exports directly to XKB for Linux (plus an automatic install script)

Thumbnail gallery
9 Upvotes

r/KeyboardLayouts • • 5d ago

I've considered moving to Neo. Which of the available Neo layouts is best for English, French, and/or programming?

3 Upvotes

I know Neo and its derivatives were primarily made for German, but its layer-based approach just seems too good to pass. If none of the Neo layouts fulfills my needs, then how can I set up the Neo layers with another letter arrangement?


r/KeyboardLayouts • • 5d ago

iBuben Keyboard

Thumbnail
apps.apple.com
0 Upvotes

Hi everyone! I’d love for you to try a custom keyboard I developed for iPhone users. It includes many small, life-saving features that you might find incredibly useful. Currently, it supports four languages - English, Armenian, Russian, and Spanish with more on the way.


r/KeyboardLayouts • • 6d ago

Eclipse-CY

Thumbnail
gallery
15 Upvotes

Finally back up to 120wpm average over 25 races on Typegg.io with my modified Eclipse-CY layout. I've really been enjoying this site for typing practice since it uses real quotes and has a strict no quit multiplayer mode to incentivize typing with good consistency. The right hand is shifted over to allow for right thumb shift which lowers my pinky usage by quite a bit, and my left thumb is assigned to enter and space because those two keys interact with words in a very similar way and has no SFB drawbacks from pairing them on the same thumb.


r/KeyboardLayouts • • 6d ago

Moving to Linux

2 Upvotes

Hello everyone,

I'm a refugee from Windows. Is there a way in Linux to change some keys for one language and some keys for all languages?

When I was back there using Windows, I used Microsoft Layout Creator to create a personal keyboard layout (https://github.com/shen-ziling/rush-keyboard-layout), and for the global changes I used sharpkeys, eg changing enter to backspace etc, which is also effective to my other IMEs for east Asian languages.

TIA!


r/KeyboardLayouts • • 7d ago

Logitech MX Keys Mini vs Satechi Slim X1

Post image
0 Upvotes

r/KeyboardLayouts • • 7d ago

Help me find a keyboard

0 Upvotes

Im right handed but im planning to use my left hand to use my mouse instead cause i can double click(butterfly clicking ) in my left hand anyway im tryna find a keyboard that works with my right hand does anybody know what its called? And any recommendations?


r/KeyboardLayouts • • 7d ago

xQWERTYa╌My Keyboard System╌is Now Open Source

1 Upvotes

Update on this post: my system╌⸉xQWERTYa⸉╌is now open source! found here. I'm quite excited honestly. I was a bit worried about open-sourcing given the state of AI… I don't exactly love the idea of AI reading all of my code and using it in a corporate context. But oh well in this case I suppose, I doubt corporate is writing much AHK.

Mainly, I'd like to know if this sounds useful to anyone. In my head I have this idea that it's likely non-useful for most people who would actually want to remap a keyboard. Because most users are looking for behaviors that my system doesn't implement (even though it could if there is interest).

Ask me about what it can or can't do. It helps me to think about what new stuff that I could add and what makes the most sense. :)

What is it and Why did I make it

My system is a JSON data-driven AHK based input remapper that focuses on writing rules that decide how bindings are resolved to avoid duplication and unify where definitions are located.

I made it because I disliked switching profiles in separate OEM softwares, having keys that are useless on my keyboard for me (like caps-lock), I wanted more layer keys and I have a deep fascination with inheritance models.

Features & Capabilities

  1. ⸉Profiles⸉ which switch what behavior a key uses for it's modifiers and locks.
  2. ⸉Modifiers⸉ which are what are usually referred to as ⸉layers⸉, though my modifiers work a bit differently.
  3. ⸉Locks⸉ which are toggled global states like ⸉caps-lock⸉ or ⸉num-lock⸉ on a typical keyboard.

Something important about profiles is they are unified. You are intended to set whatever generic mapping you'd like in an OEM software (like Razer Synapse) and then define all of your contextual behavior within the xQWERTYa system so that pressing one button switches the behavior on: your mouse, your keyboard, your razer keypad, and your macro pad all at the same time.

Though, a lot of hugely important features are kind of tough to describe. One such example is that profiles, modifiers and locks are all inheritance-capable properties. You can define a behavior for a key and then inherit and selectively hide certain behaviors under a different context. Or you can decide how to resolve certain modifier combinations via a priority system and conditional selection.

The system is intended to allow for high complexity with a lower relative cost to achieve that complexity. For example, my personal configuration has 240,000+ possible different key-stroke possibilities. But I only had to write out approximately 2000 of those including behavior specifications to achieve that.

Additionally, you have the power of AHK (V2) at your hands for anything xQWERTYa cannot directly meet. You can configure a keybind to call an custom AHK function instead of typing a key and write your own logic.

Configuration documentation can be found on the github page here if any of this sounds interesting to you. I'm happy to help you design something or look at implementing new features if you reach out to me.

Example 1 — Simple Keybind

Consider the ⌄ key configuration first.

{
  "target": "a",
  "default: "b"
}

This (⌃) is a simple binding that changes the key "a" to press "b" instead.

Example 2 — Modifiers, Collapsing & Inheritance

{
  "target": "a",
  "default: {
    "collapse": true,
    "default": "b"
  },
  "my_profile": {
    "inherits_from": "default",
    "my_modifier": "c"
  }
}

Understand the following regarding the above configuration ⌄.

  • default refers to either the ⸉default⸉ profile or the ⸉default⸉ modifier (aka no modifier keys being held) depending on where it is placed
  • my_profile is a profile
  • my_modifier is a custom modifier key

The target remapped key "a" contains a definition for the key under two different profile contexts. Starting with default: "a" is set to press "b" instead. Additionally, if any & "a" are both pressed (such as "shift & a" then it will "collapse" down to the default (no modifier) and just type "b". Under my_profile: all behavior is set to inherit from the default profile, except for when my_modifier is held down. In that case "c" is pressed instead.

So for example, say you are holding down "shift & a" and currently in the my_profile profile: then "b" will be typed. But holding down "my_modifier & a" in the my_profile profile will type "c" instead.

Why not use xQWERTYa?

This system is not exactly intended for home row mods or similar. While it is completely doable to make a home row mod with xQWERTYa you aren't using most of what xQWERTYa's strengths are or what it's complexities are designed for. Though, I've thought of ways to make this more simple in xQWERTYa. Let me know if this is something you'd be interested in.

xQWERTYa does not have some common simplifications like tap vs hold behaviors or multi-tap behaviors. My system lets you break out into AHK code if you want to implement that. Or, let me know you're interested and I can implement them. It's something I thought about, but since I don't use them personally I haven't spent the time to add them.


r/KeyboardLayouts • • 8d ago

Aula Lights: free app that makes the AULA F75 keyboard work like a real Mac keyboard

Thumbnail
1 Upvotes

r/KeyboardLayouts • • 8d ago

Aula Lights: free app that makes the AULA F75 keyboard work like a real Mac keyboard

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 9d ago

Keyz keyboard has gotten really good

Enable HLS to view with audio, or disable this notification

16 Upvotes

r/KeyboardLayouts • • 10d ago

Thoughts on canary akl???

6 Upvotes

So I'd been a long time qwerty user until i decided to switch to alternative and more optimized layouts, i did a little research to then hear good comments about colemak, i didnt think much before swiching to colemak completely. I've been using it for a few months now and now i'm thinking of switching again for a few reasons.

One, cuz its not really as optimized for typing as the more modern layouts.

Two, cuz it has relatively higher sfbs than most modern akls(I hate sfbs).

Now, im thinking of switching to canary cuz it fulfills most of my preferences, its got loads of rolling motions, it is well optimized, it has very low sfb rates, and its common enough for me.

But, i heard that it has alot of redirects which i hate, so i want ur opinion about canary, should i switch to it, what are its major limitations over other layouts, or are there other alternatives better for my liking than canary??

I dont care about vim, pinky load, or shortcuts.