Giter Club home page Giter Club logo

layman's Introduction

Layman keyboard layout

What

Layman

Why

The Dvorak, Colemak, Workman, and other keyboard layouts inspired me to make this yet-another alternative keyboard layout. There are many like it, but this one is mine.

A few notes or principles, which perhaps sound nebulous or pointless to focus on, but IMO make a pretty darn nice keyboard:

  • The shape of a hand resting on the keyboard does not align itself to any home row, rather, the shape is more of a "home curve".
  • The most frequent letters should be in places where the hand is ready to type them.
  • What feels for me to be the most effortless way to type two letters in succession is by using the index & middle fingers for the respective first & second letters, and, by having the first & second letters at an angle that goes naturally with how the hand rests on the keyboard. Pressing the keys h and e with the right hand is a prime example of this "finger dance".
  • Bigrams are most desirably in this finger dance arrangement.
  • Trigrams as well as the higher-order n-grams can hint at where the lower-order n-grams might best be placed.
  • When running out of candidate adjacent pairs to place the bigrams, the second letter can actually be placed on the opposite side of the keyboard instead. The intuition is, both hands can type the letters concurrently.

Even less important yet neat details:

  • The ' and ; keys are in the bottom-left, next to Shift. I find typing " and : quite easy.
  • Similarly, Ctrl-C and Ctrl-V are neighboring and may be done with just the left hand.
  • All brackets -- ()<>[]{} -- use the finger dance arrangement mentioned above, ready for the right hand to go. (On some physical keyboards, however, the Esc key may push the ]/} key over one square as in the image above.)

Some notes I've gathered from working with this keyboard for years now:

  • I haven't "forgotten" how to type with QWERTY. In fact, I use QWERTY every day on my phone. That said, I type remarkably more accurately and marginally faster on Layman than on QWERTY.
  • When I'm using someone else's QWERTY keyboard and want to start a quotation (or String) with ", I often accidentally type Z instead, since it's in the same position as where I'd expect the ' key to be.
  • Similarly, when I want to type : on QWERTY, I often accidentally type A instead, for the same reason.

How

If you're interested in using this yourself, keep in mind, I'm right-hand dominant, speak English, live in the US, and program daily, and each of these details went into the making of Layman.

Linux

Using xkb

xkbcomp layman.xkb $DISPLAY

Or using the xmodmap

xmodmap layman.xmodmap

Place either of these in your ~/.xinitrc like so

test -f /path/to/layman.xkb && xkbcomp /path/to/layman.xkb $DISPLAY

macOS

Place the layman.bundle package into /Library/Keyboard Layouts to install for all users or ~/Library/Keyboard Layouts for just yourself. Or use Ukelele using the install organiser. Navigate to your keyboard "Input Sources" settings, click the +, and find Layman categorized under "Others". You may need to restart your computer.

Windows

Run setup.exe in the latest layman.zip if you want to install.

Open layman.klc with Microsoft's Keyboard Layout Creator if you want to modify.

To-do

  • layout build for macOS (will likely use Ukelele)
  • look into better install for more Linux systems
  • deadkeys? (altgr accent capabilities)

layman's People

Contributors

almonds0166 avatar

layman's Issues

Fingers

Hi

Just checking if I'm reading this right .... R H S E A I are all on the same finger?

Thanks, Ian

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.