From 9e040abe32af17ff143c1c7d922076e06e4da95d Mon Sep 17 00:00:00 2001 From: duianto Date: Tue, 16 Sep 2025 20:37:05 +0200 Subject: [PATCH] Add Reset and Recovery section --- docs/Device Manager.rst | 54 ++++++++++++++++++ docs/assets/images/DM-Reset-Device-Menu.png | Bin 0 -> 17614 bytes docs/assets/images/DM-Reset-Recovery.png | Bin 0 -> 2183 bytes .../DM-functional-chords-quotes-brackets.png | Bin 0 -> 5070 bytes 4 files changed, 54 insertions(+) create mode 100644 docs/assets/images/DM-Reset-Device-Menu.png create mode 100644 docs/assets/images/DM-Reset-Recovery.png create mode 100644 docs/assets/images/DM-functional-chords-quotes-brackets.png diff --git a/docs/Device Manager.rst b/docs/Device Manager.rst index 50479f8..c66fe9e 100644 --- a/docs/Device Manager.rst +++ b/docs/Device Manager.rst @@ -426,6 +426,60 @@ These settings adjust the color and brightness of your CharaChorder Lite. :width: 1200 :alt: The RGB settings box +Reset and Recovery +------------------ + +.. image:: /assets/images/DM-Reset-Recovery.png + :alt: The Reset and Recovery settings + +.. dropdown:: Reset Settings + + The **Reset Settings** button restores the default settings on the + device tab. + +.. dropdown:: Recovery... + + The **Recovery...** button opens the Reset Device menu. + + .. figure:: /assets/images/DM-Reset-Device-Menu.png + :alt: The Reset Device menu + + **Factory Reset...** restores the default settings, layout, and + chords. + + .. note:: + **Factor Reset...** does not change the firmware version. + + Or each section can be reset individually. + + The **Add starter chords...** choice, adds the starter chords to + your current chords list. If you only want the starter chords, then + clear the chords first. + + The **Add functional chords...** choice, adds some chords that might + be useful. For example: + + * ``CAPSLOCK`` can be toggled by chording both ``SHIFT`` keys. + + * The text cursor can be moved x nr of steps by chording a key that + corresponds to a number and an arrow key. + + For example: ``n + ARROW LEFT`` moves the cursor five characters + left, because ``n`` is nr 5 on the number layer. + + .. note:: + Do not hold the number layer key, just chord with a key that + corresponds to a number. For example: t = 2, f = 7, etc. + + * Likewise a corresponding number key and ``BACKSPACE`` or + ``DELETE``, erases that number of times. + + * There's also chords for quotes and brackets that type a pair and + move the cursor between the pair. + + .. image:: /assets/images/DM-functional-chords-quotes-brackets.png + :alt: Functional chords, quotes and brackets + Library ******* .. image:: /assets/images/ChordManager.png diff --git a/docs/assets/images/DM-Reset-Device-Menu.png b/docs/assets/images/DM-Reset-Device-Menu.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a1964eacc71cb0a7240432ced71f86feeaa2ff GIT binary patch literal 17614 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