Hello everyone! I’m glad to introduce my latest, yet unfinished, configuration. I’ve tested different ideas and macros capabilities to achieve what I wanted, this one the best I could come up with. It took me several years. It’s not an ideal, but with current limitations of macros and the fact that some modes interfere with each other it’s the best.
Main objectives
- Don’t use top row - it requires to shift whole hand to reach these keys.
- Use pinkie as least is possible
- Easy access to all keys used in programming - all of these
== === != <= >= " '
& ; :` etc. - Easy access to numbers (num mode)
Base Layer
I use QGMLWB keyboard layout from Carpalx project.
I’ve tested many different layouts. In my personal opinion this one by far the best layout ever for English language.
Shift and Ctrl
Shift is working both as usual Shift when it activates while you hold it and as oneshot key when you press and release it just as other keys. I prefer the latter, holding only when I need to press several capital letters.
The same applies for Ctrl, but I didn’t test it extensively (as it used mostly in some shortcuts in VS Code)
Both Shift and Ctrl are symmetrical.
Space and Enter
These keys are used to enter into Fn
layer while holding them. More on that layer is later.
It’s very natural as holding Shift, as soon as you pressed desired keys leaving Fn
mode is just to release activation key Space or Enter.
Num key
Allows to enter to numeric mode. I toggle to this layer because of high chance you need to press several digits together like 3.14
. You still can press one or several digits just by holding this key.
Fn Layer
Allows to type all programming and numeric related symbols. Most of them can be typed with one hand, while other hand is holding Space or Enter.
For example combinations like ==
===
!=
+=
-=
>=
<=
are typed with one hand and very convenient to type.
The same applies to `string` “string” ‘string’ which are used as string literals.
Typing ; : . ,
is also very convenient.
You can type (
, {
, [
easily, most IDEs will insert closing pair. But you still can type []
, ()
, {}
with one hand. That works for <>
too.
You can never be accidentally stuck in this layer, as you never toggle into it and never need to type some long unusual combinations. This relieves a huge mental stress.
Num Layer
Allows to type all digits very conveniently. It’s the main purpose of this mode. While you still can type all digit related combinations from Fn
layer using mechanical memory!
For example -3.14 + 1.25
, you still can use backspace
, space
, enter
. No need to jump between modes!.
And you can type one or several digits without toggle into this mode just by holding Num
key. For example to type 732
.
Other Layers
They are not well thought or finished. I use left Mod
key for arrows mostly.
Right Mod
key for mouse mode.