3l-symbols- A symbols layer for QWERTY
3l-symbols could be considered an alternative keyboard layout. It uses the
QWERTY letter keys, but improves coding ergonomics by including the symbol and
cursor layers from Jack Rosenthal's 3l
layout. Note that use of the
symbols layer is required, because certain symbol keys are replaced by the
modifier keys that give access to the symbol and cursor layers, so the only way
to type those symbols is with the symbols layer.
3l-symbols is currently implemented only for Linux and Windows. I can't
really see wanting to make a Mac version myself, but maybe someone else will.
It's apparently common to use a tool called "Karabiner Elements" to do this; 3l
has an implementation.
The Sym layer includes the symbols on the upper right of the keys, while the Cur layer includes the symbols on the bottom of Q-T and A-G.
No other keys are changed; without the modifiers held down the layout is normal QWERTY (except that the characters normally typed by the modifier keys will not work). This includes the comma, period, and semicolon keys--they are not moved by this layout. This also includes the whole left column of keys--Tab, Caps, etc. I personally run an xmodmap on top of this layout that remaps those keys, but you can do what you like, including nothing at all.
Switching to a new keyboard layout is hard. It is difficult enough to switch for
typing regular letters, but in my experience, it is far more difficult to switch
to an alternative layout if you are highly familiar with a set of keybindings,
such as those provided by a text editor such as Vim (my personal experience).
However, the symbols and cursors layers provided by such keyboard layouts as
3l or Neo (from which
derives much of its versions of these layers) are still highly useful, and are
far less difficult to switch to due to the lower frequency of these characters
and the lack of keybindings involving them.
This layout is intended to make typing code or other symbol-intensive things more ergonomic and easier by providing symbols in an easier-to-reach place by providing a symbols layer. It should not make a big difference to speed in either direction if what is being typed is not symbol-intensive. It also provides a cursor layer, which includes arrow, navigation, and delete keys on or near home row.
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
setxkbmap us, 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 the system tray) or you press both
Alt keys at the same time.
linux/xkb/symbols/3ls file in your system's
(typically something like
/usr/share/X11/xkb/symbols), then either:
setxkbmap 3ls to set the layout temporarily.
Or, to set
3l-symbols 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" "3ls" EndSection
systemd has the
localectl utility that you may optionally use to
maintain this configuration file.
To create a console mapping from the
xkb symbols file, you can use the
Place the AHK script in your "Startup" folder.