diff --git a/examples/extend-layer.conf b/examples/extend-layer.conf new file mode 100644 index 0000000..dab31b1 --- /dev/null +++ b/examples/extend-layer.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) diff --git a/examples/home-row-mods.conf b/examples/home-row-mods.conf new file mode 100644 index 0000000..70bfec0 --- /dev/null +++ b/examples/home-row-mods.conf @@ -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) diff --git a/examples/layer-carousel.conf b/examples/layer-carousel.conf new file mode 100644 index 0000000..4631591 --- /dev/null +++ b/examples/layer-carousel.conf @@ -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)) diff --git a/examples/shift-bar.conf b/examples/shift-bar.conf new file mode 100644 index 0000000..89a6e45 --- /dev/null +++ b/examples/shift-bar.conf @@ -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) diff --git a/examples/simlayer.conf b/examples/simlayer.conf new file mode 100644 index 0000000..12fa749 --- /dev/null +++ b/examples/simlayer.conf @@ -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.