Giter Site home page Giter Site logo

threelayout's Introduction

3l - A better modifier based keyboard layout

Three Layout, more commonly called 3l, is an alternative keyboard layout designed for efficently typing not only English, but also computer programs. 3l is modifier based, so many of the keys which would normally be accesed on the top row (with numbers on QWERTY) can be accessed on the main part of the keyboard.

To give you an idea on how much this layout can improve your typing efficency, compare typing distance of George Orwell's Nineteen Eighty-Four to other common layouts:

QWERTY 10.4 miles
Neo 2.0 6.3 miles
Antibracket (which this keyboard layout was based on) 6.3 miles
Dvorak 6.2 miles
Colemak 5.9 miles
Workman 5.8 miles
WULY (my old layout) 5.6 miles
ARENSITO 5.3 miles
3l 4.9 miles

Typing distance is not the only factor that 3l optimizes for. 3l helps increase hand alternation, reduce bottom-to-top row jumps, decrease lateral motion, and also strives to be easy to learn.

docs/standard_three.png

See the docs directory for more images of the layout.

Testing the layout without installation

On Linux using X, you can run linux/xmodmap/test_layout.sh from the base of this repository to temporarily set your keyboard layout. To undo this, you can either figure out how to type setxkbmap us (or whatever layout you were using before), or it will return back to normal next time you log out and back in.

On Windows, compile and run the provided AHK script. Your keyboard layout will return to normal when the script exits (in system tray) or you press both Alt keys at the same time.

Installation

Linux

Place the linux/xkb/symbols/3l file in your system's symbols directory [1], then either:

  1. Run setxkbmap 3l to set the layout temporarily.

  2. Or, to set 3l as the default keyboard layout for your system, add a section to your X11 configuration:

    $ cat /etc/X11/xorg.conf.d/99-keyboard.conf
    Section "InputClass"
            Identifier "system-keyboard"
            MatchIsKeyboard "on"
            Option "XkbLayout" "3l"
    EndSection
    

    systemd has the localectl utility that you may optionally use to maintain this configuration file.

There may also be a package for 3l in your distribution. There is at least a package in the Arch Linux AUR available under threelayout.

To create a console mapping from the xkb symbols file, you can use the ckbcomp utility.

[1]This is typically something like /usr/share/X11/xkb/symbols.

Mac OS X [2]

  1. Install Karabiner Elements
  2. Copy the macosx/karabiner.json file to the ~/.config/karabiner/ directory.
  3. Select the 3l profile from Karabiner Elements.
[2]Get off your hipster butt. This can be used to refer to "OS X" and "macOS" as well.

Windows

Place the AHK script in your "Startup" folder.

Layout Mods

There are a number of modifications that can be preformed to the layout. Currently, these are only supported on systems with xmodmap (Sorry Windows and Mac OS X users).

To apply a mod, run xmodmap ~/path/to/git/repo/linux/xmodmap/mod-XXX at login, where XXX is the name of the mod you wish to apply.

Users are encouraged to submit the mods they find useful in a pull request.

WhackyInsert

This mod gives you an Insert key on QWERTY's Whack/Pipe key (above enter). Useful on some notebooks which do not have an Insert key, but also convenient on desktop keyboards.

ChromebookSuperTab

Many Chromebook computers have a Super_L key that acts as a "search" key in Chrome OS where the Caps Lock key should be. As such, when using alternative layouts that makes good use of this key, the good use is lost. This mod makes the Super_L act as Tab for these systems.

Users' Registry

This section lists people who have learned to type on 3l. Users who learn to type at least 15 WPM (that's what it takes to get past the initial learning threshold) on 3l can be added to this list. This list is included here so you can query typists to see what they like and dislike about the layout before you dedicate time to learning, or so you can reach out for learning tips.

If you learn the layout, feel free to submit a PR with your name added.

threelayout's People

Contributors

jackrosenthal avatar sumnerevans avatar edwargix avatar panichol avatar robozman avatar samsartor avatar jnunez101 avatar

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.