Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions docs/Chords.rst
Original file line number Diff line number Diff line change
Expand Up @@ -289,3 +289,157 @@ We have added a compound chord:
.. note::

Compound chords aren't limited to just two in a row.

Dynamic Libraries
~~~~~~~~~~~~~~~~~

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking we give a brief explanation of what Dynamic Libraries are.

"Dynamic Libraries are a way with which you can store multiple different chord libraries on a device. You can switch between the different libraries by using a pre-defined chord. With Dynamic Libraries, you can use the same chord to produce different outputs, depending on what library is currently active."

Dynamic Libraries are a way with which you can store multiple different chord libraries on a device. You can switch between the different libraries by using a pre-defined chord. With Dynamic Libraries, you can use the same chord to produce different outputs, depending on what library is currently active.

For example, the chord: ``r+a+l`` can output:

* ``really`` in the base library
* ``algorithm`` in a school library
* ``realtor@email.com`` in a work library

``t+n+o+e`` can output:

* ``note`` in the base library
* ``Eneot of Draconia`` in a library for Novel writing
* ``OnePlus`` in a library for Cell Phone blogging

Add Dynamic Toggle Chords
^^^^^^^^^^^^^^^^^^^^^^^^^

To switch between Dynamic libraries, we add Dynamic Toggle Chords by using the device manager's chord editor: https://charachorder.io/config/chords/

First, we add a Dynamic Toggle that will return us to the base library.

* chord: ``b+a+l+i``
* output:

Add the action: Base Library

.. figure:: /assets/images/BaseLibraryAction.png
:alt: Base Library Action

Then type the dynamic library name: ``base``

Then, we add a Dynamic Toggle for a library used at work.

* chord: ``w+l+i+b``
* output:

Add the action: Dynamic Library

.. figure:: /assets/images/DynamicLibraryAction.png
:alt: Dynamic Library Action

Then type the dynamic library name: ``wlib``

The Dynamic Toggle chords look like this:

.. image:: /assets/images/Dynamic-Toggle-Chords.png
:alt: Dynamic Toggle Chords

.. note::

The chords we used in the examples above (``b+a+l+i`` and ``w+l+i+b``) and their outputs (``base`` and ``wlib``) are merely examples; they don't have to be exactly that. You can make the chord inputs and their outputs whatever you want, as long as you include the dynamic library action in the chord output.

Add a chord in a dynamic library
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

#. Switch to the work library, by chording: ``w+l+i+b``
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attempting to keep consistency, all of these should either have a period at the end, or not. I don't have a preference (I think), but we should be consistent.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The period was removed after the only list item with a period at the end.

#. It switches to the work library and outputs its name in plain text: ``wlib``
#. You can ignore the name, erase it or just press ``ENTER`` to continue
on a new line. We'll get rid of the printed library name in the
:ref:`next section <Chords:Select the dynamic library name automatically>`
#. Open the impulse chord menu: ``i+DUP``
#. At the impulse output prompt, type your desired output:
``realtor@email.com``
#. Press: ``ENTER``
#. At the impulse input prompt, chord: ``r+a+l``
#. Press: ``ENTER``

.. note::

Adding a chord in a dynamic library doesn't overwrite an existing
chord on the base library because it adds the Dynamic Toggle
chord as a prefix.

This is what the chords look like in the device manager's chord editor. The impulse prompt added the keys/actions that were pressed:

.. _Dynamic Library Chord With Pressed Keys Num and Shift:
.. figure:: /assets/images/Dynamic-Library-Chord-With-Pressed-Keys-Num-And-Shift.png
:alt: Dynamic Library Chord With Pressed Keys Num and Shift

* `(2)` with a thicker left line, is the left number layer key (left pinky west)
* Arrow down with a bottom line, is the action: Press and do not release the next key/action
* Arrow up with a thicker right line, is right shift (right pinky west)
* 2 can be typed on the number layer with either ``e`` (left index south) or ``t`` (right index south)
* Arrow up with a bottom line, is the action: Release the next key/action in the sequence
* Arrow up with a thicker right line, is right shift (right pinky west)

The chord works fine: ``realtor@email.com``
but if you want it to look like what it outputs, then you can replace the keys/actions, with an @ symbol, in the device manager's chord editor: https://charachorder.io

.. _Dynamic Library Chord:
.. image:: /assets/images/Dynamic-Library-Chord.png
:alt: Dynamic Library Chord

Now, while we're in the dynamic library: ``wlib``

* when we chord: ``r+a+l``
* it outputs: ``realtor@email.com``

#. Switch to the base library by using the base Dynamic Toggle that we
created earlier: ``b+a+l+i``
#. It switches to the base library and outputs its name: ``base``

Now, while we're on the base library: ``base``

* when we chord: ``r+a+l``
* it outputs: ``really``

Select the dynamic library name automatically
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we make this a dropdown?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the last section as a dropdown.

The last section might be overlooked.
The dropdown box with a right arrow on the right side, might be seen as just another navigation button, like the previous and next buttons below it.

And if a link to the last section, is added in the previous section:

We’ll get rid of the printed library name in the next section

Clicking on the link scrolls us to the bottom of the page, but it isn't obvious that the link is referring to the dropdown at the bottom of the page.

image

Without a dropdown.

You can't miss the there's another section when scrolling down the page.

Clicking the link: next section
Scrolls the section header: Select the dynamic library name automatically
to the top of the page.

image

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This step isn't required, but it's a convenience.

When we switch between dynamic libraries, the Dynamic Toggle chord outputs the library name. It's an extra step to erase the name manually.

Instead, let's select the dynamic library name automatically by adding
these actions to the end of the Dynamic Toggle chord output.

.. note::

The actions below are on the same line in the device manager's chord editor, they are on separate lines here to make them easier to read.

.. code-block::

{press_next}{left_shift}
{arrow left}{arrow left}{arrow left}{arrow left}
{release_next}{left_shift}

The number of ``{arrow left}`` actions should match the number of
characters in the dynamic library's name; in this case, we used four characters for both: ``base`` and ``wlib``

The ``base`` and ``wlib`` Dynamic Toggle chords look like this:

.. _Dynamic Toggle Chords Select Library Name:
.. image:: /assets/images/Dynamic-Toggle-Chords-Select-Library-Name.png
:alt: Dynamic Toggle Chords Select Library Name

Now the library name will be selected automatically.

Pressing the chord: ``w+l+i+b``

* Switches to the dynamic library
* outputs the library name: ``wlib``
* and selects the name

Now, it's easy to erase the name by:

* Pressing: ``BACKSPACE``
* or typing a character
* or pressing a chord

Binary file added docs/assets/images/BaseLibraryAction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Dynamic-Library-Chord.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Dynamic-Toggle-Chords.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/DynamicLibraryAction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.