doc: Add examples for common patterns.

master
Leandro M. Peralta 2 years ago committed by Raheman Vaiya
parent e03e3347f7
commit fd8f8adcaa
  1. 37
      examples/extend-layer.conf
  2. 24
      examples/home-row-mods.conf
  3. 38
      examples/layer-carousel.conf
  4. 15
      examples/shift-bar.conf
  5. 18
      examples/simlayer.conf

@ -0,0 +1,37 @@
# This example demonstrates how to implement a variant of the Extend layer. Notice how
# you can pin the layer down with the space bar if you need to do complex operations
# using the fingers of both hands. Vim users might prefer to bind left, down up and right
# to h, j, k and l respectively.
[ids]
*
[main]
capslock = overload(extend, capslock)
[extend]
q = overload(alt, escape)
y = pageup
u = home
i = up
o = end
p = insert
a = leftcontrol
s = leftshift
d = leftmeta
f = leftalt
h = pagedown
j = left
k = down
l = right
semicolon = delete
apostrophe = esc
n = compose
m = backspace
comma = space
dot = tab
slash = enter
space = overload(extend, capslock)

@ -0,0 +1,24 @@
# This example demonstrates how to implement one of the variants of home row modifers.
# Notice we use the one-shot-shift pattern. This is important to prevent shifting errors
# caused by the necessary delay with which characters are emitted under overloadt (on
# release, instead of on press). It is not recommended to use home-row shift for typing
# for that reason. Home row modifiers are best suited for combinations (i.e., shortcuts).
[ids]
*
[main]
a = overloadt(control, a, 200)
s = overloadt(shift, s, 200)
d = overloadt(meta, d, 200)
f = overloadt(alt, f, 200)
j = overloadt(alt, j, 200)
k = overloadt(meta, k, 200)
l = overloadt(shift, l, 200)
; = overloadt(control, ;, 200)
v = overloadt(altgr, v, 200)
m = overloadt(altgr, m, 200)
leftshift = oneshot(shift)
rightshift = oneshot(shift)

@ -0,0 +1,38 @@
# This example demostrates how to implement a layer carousel which behaves as follows:
# - Hold space (numbers layer)
# - Tap right shift (functions layer)
# - Tap left shift (numbers layer)
# - Tap left shift (symbols layer)
# - Release space (main layer)
# By using swap in our secondary layers, the layer held by space (as determined in the
# main layer) is replaced and remains active until another swap takes place or the space
# is eventually released, which brings us back to the main layer.
[ids]
*
[main]
space = overloadt(numbers, space, 200)
[numbers]
a = 1
# Other numbers here.
leftshift = overload(shift, swap(symbols))
rightshift = overload(shift, swap(functions))
[functions]
a = f1
# Other functions here.
leftshift = overload(shift, swap(numbers))
rightshift = overload(shift, swap(symbols))
[symbols]
a = grave
# Other symbols here.
leftshift = overload(shift, swap(functions))
rightshift = overload(shift, swap(numbers))

@ -0,0 +1,15 @@
# This example demostrates how to use the space-bar as a shift key by:
# 1. Holding shift
# 2. Holding space
# 3. Releasing shift
# The space-bar will keep the shift layer active until your release it. The advanteage is
# that you can type using the fingers of both hands freely. Consider it as an alternative
# to caps-word mode (see issue #711).
[ids]
*
[shift]
space = overloadt(shift, space, 200)

@ -0,0 +1,18 @@
# This example demonstrates what is sometimes called a simlayer: when the layer is
# activated, if no action is taken within a specified period of time, another action
# takes place. This can be used, for example, to preserve the repeat action of the key
# that is being overloaded (backspace in this case).
[ids]
*
[main]
backspace = timeout(overload(shortcuts, backspace), 500, backspace)
[shortcuts]
1 = M-pageup
2 = M-pagedown
# Other shortcuts here.
Loading…
Cancel
Save