From 505f06ac6c217538e9eede989f534868510dc9e2 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 9 Jun 2023 00:48:19 +0200 Subject: [PATCH] Combine the long keybinds into one liners, meaning the default config is a lot more approachable to a beginner. --- docs/spmenu.conf | 503 +++++++---------------------------------------- 1 file changed, 67 insertions(+), 436 deletions(-) diff --git a/docs/spmenu.conf b/docs/spmenu.conf index 2f3421f..4bd7fce 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -276,444 +276,75 @@ spmenu = { } ); /* Keys + * + * Please note that at least on the US standard keyboard layout, + * `key` will differ if Shift is held down and the key is a number or symbol. * * See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. */ - keys = ( // Enter: Select item - { mode = -1; - modifier = "None"; - key = "Enter"; - function = "selectitem"; - argument = "+1"; - }, - // Shift+Enter: Select input - { mode = -1; - modifier = "Shift"; - key = "Enter"; - function = "selectitem"; - argument = "0"; - }, - // Ctrl+Enter: Mark input - { mode = -1; - modifier = "Ctrl"; - key = "Enter"; - function = "markitem"; - argument = "0"; - }, - // Tab: Tab complete - { mode = -1; - modifier = "None"; - key = "Tab"; - function = "complete"; - argument = "0"; - }, - // Ctrl+v: Paste from clipboard - { mode = -1; - modifier = "Ctrl"; - key = "v"; - function = "paste"; - argument = "2"; - }, - // Ctrl+Shift+v: Paste from selection - { mode = -1; - modifier = "Ctrl+Shift"; - key = "v"; - function = "paste"; - argument = "1"; - }, - // Backspace: Backspace - { mode = -1; - modifier = "None"; - key = "Backspace"; - function = "backspace"; - argument = "0"; - }, - // Ctrl+Backspace: Delete word - { mode = -1; - modifier = "Ctrl"; - key = "Backspace"; - function = "deleteword"; - argument = "0"; - }, - // Ctrl+Left: Move caret (cursor) one word to the left - { mode = -1; - modifier = "Ctrl"; - key = "Left"; - function = "moveword"; - argument = "-1"; - }, - // Ctrl+Right: Move caret (cursor) one word to the right - { mode = -1; - modifier = "Ctrl"; - key = "Right"; - function = "moveword"; - argument = "+1"; - }, - // Left: Move caret (cursor) one character to the left - { mode = -1; - modifier = "None"; - key = "Left"; - function = "movecursor"; - argument = "-1"; - }, - // Right: Move caret (cursor) one character to the right - { mode = -1; - modifier = "None"; - key = "Right"; - function = "movecursor"; - argument = "+1"; - }, - // Ctrl+Shift+p: Open profile menu - { mode = -1; - modifier = "Ctrl+Shift"; - key = "p"; - function = "setprofile"; - argument = "0"; - }, - // Escape: Switch mode - { mode = 1; - modifier = "None"; - key = "Esc"; - function = "switchmode"; - argument = "0"; - }, - // i: Switch mode - { mode = 0; - modifier = "None"; - key = "i"; - function = "switchmode"; - argument = "0"; - }, - // /: Switch mode - { mode = 0; - modifier = "None"; - key = "/"; - function = "switchmode"; - argument = "0"; - }, - // Ctrl+=: Increase image size by 1 - { mode = 0; - modifier = "Ctrl"; - key = "="; - function = "setimgsize"; - argument = "+1"; - }, - // Ctrl+-: Decrease image size by 1 - { mode = 0; - modifier = "Ctrl"; - key = "-"; - function = "setimgsize"; - argument = "-1"; - }, - // -: Increase image size by 10 - { mode = 0; - modifier = "None"; - key = "="; - function = "setimgsize"; - argument = "+10"; - }, - // =: Decrease image size by 10 - { mode = 0; - modifier = "None"; - key = "-"; - function = "setimgsize"; - argument = "-10"; - }, - // Shift+=: Increase image size by 100 - { mode = 0; - modifier = "Shift"; - key = "+"; // Note that + is used instead of = because Shift is held down. - function = "setimgsize"; - argument = "+100"; - }, - // Shift+-: Decrease image size by 100 - { mode = 0; - modifier = "Shift"; - key = "_"; // Note that _ is used instead of - because Shift is held down. - function = "setimgsize"; - argument = "-100"; - }, - // Shift+0: Set image size to the default - { mode = 0; - modifier = "Shift"; - key = ")"; // Note that ) is used instead of 0 because Shift is held down. - function = "defaultimg"; - argument = "0"; - }, - // o: Toggle image position - { mode = 0; - modifier = "None"; - key = "o"; - function = "setimgpos"; - argument = "+1"; - }, - // p: Paste from clipboard - { mode = 0; - modifier = "None"; - key = "p"; - function = "paste"; - argument = "2"; - }, - // Ctrl+1: Decrease image gaps by 1 - { mode = 0; - modifier = "Ctrl"; - key = "1"; - function = "setimggaps"; - argument = "-1"; - }, - // Ctrl+2: Increase image gaps by 1 - { mode = 0; - modifier = "Ctrl"; - key = "2"; - function = "setimggaps"; - argument = "+1"; - }, - // 1: Decrease image gaps by 10 - { mode = 0; - modifier = "None"; - key = "1"; - function = "setimggaps"; - argument = "-10"; - }, - // 2: Increase image gaps by 10 - { mode = 0; - modifier = "None"; - key = "2"; - function = "setimggaps"; - argument = "+10"; - }, - // Shift+1: Decrease image gaps by 100 - { mode = 0; - modifier = "Shift"; - key = "!"; // Note that ! is used instead of 1 because Shift is held down. - function = "setimggaps"; - argument = "-100"; - }, - // Shift+2: Increase image gaps by 100 - { mode = 0; - modifier = "Shift"; - key = "@"; // Note that @ is used instead of 2 because Shift is held down. - function = "setimggaps"; - argument = "+100"; - }, - // t: Toggle image - { mode = 0; - modifier = "None"; - key = "t"; - function = "toggleimg"; - argument = "0"; - }, - // f: Toggle image full screen mode - { mode = 0; - modifier = "None"; - key = "f"; - function = "togglefullimg"; - argument = "0"; - }, - // h: Flip image horizontally - { mode = 0; - modifier = "None"; - key = "h"; - function = "flipimg"; - argument = "1"; - }, - // v: Flip image vertically - { mode = 0; - modifier = "None"; - key = "v"; - function = "flipimg"; - argument = "0"; - }, - // k: Move up 1 item - { mode = 0; - modifier = "None"; - key = "k"; - function = "moveup"; - argument = "0"; - }, - // j: Move down 1 item - { mode = 0; - modifier = "None"; - key = "j"; - function = "movedown"; - argument = "0"; - }, - // h: Move left 1 item - { mode = 0; - modifier = "None"; - key = "h"; - function = "moveleft"; - argument = "0"; - }, - // l: Move right 1 item - { mode = 0; - modifier = "None"; - key = "l"; - function = "moveright"; - argument = "0"; - }, - // Ctrl+u: Move up 5 items - { mode = 0; - modifier = "Ctrl"; - key = "u"; - function = "moveup"; - argument = "5"; - }, - // Ctrl+d: Move down 5 items - { mode = 0; - modifier = "Ctrl"; - key = "d"; - function = "movedown"; - argument = "5"; - }, - // Ctrl+k: Increase lines by 1 - { mode = 0; - modifier = "Ctrl"; - key = "k"; - function = "setlines"; - argument = "+1"; - }, - // Ctrl+j: Decrease lines by 1 - { mode = 0; - modifier = "Ctrl"; - key = "j"; - function = "setlines"; - argument = "-1"; - }, - // Ctrl+Alt+Shift+k: Increase lines by 5 - { mode = 0; - modifier = "Ctrl+Alt+Shift"; - key = "k"; - function = "setlines"; - argument = "+5"; - }, - // Ctrl+Alt+Shift+j: Decrease lines by 5 - { mode = 0; - modifier = "Ctrl+Alt+Shift"; - key = "j"; - function = "setlines"; - argument = "-5"; - }, - // Ctrl+l: Increase columns by 1 - { mode = 0; - modifier = "Ctrl"; - key = "l"; - function = "setcolumns"; - argument = "+1"; - }, - // Ctrl+h: Decrease columns by 1 - { mode = 0; - modifier = "Ctrl"; - key = "h"; - function = "setcolumns"; - argument = "-1"; - }, - // Ctrl+Alt+Shift+h: Increase columns by 5 - { mode = 0; - modifier = "Ctrl+Alt+Shift"; - key = "h"; - function = "setcolumns"; - argument = "+5"; - }, - // Ctrl+Alt+Shift+l: Decrease columns by 5 - { mode = 0; - modifier = "Ctrl+Alt+Shift"; - key = "l"; - function = "setcolumns"; - argument = "-5"; - }, - // Ctrl+u: Toggle highlighting - { mode = 0; - modifier = "None"; - key = "u"; - function = "togglehighlight"; - argument = "0"; - }, - // Ctrl+h: Toggle viewing history buffer - { mode = 0; - modifier = "Ctrl+Shift"; - key = "h"; - function = "viewhist"; - argument = "0"; - }, - // d: Clear the input - { mode = 0; - modifier = "None"; - key = "d"; - function = "clear"; - argument = "0"; - }, - // Shift+d: Clear the input and enter insert mode - { mode = 0; - modifier = "Shift"; - key = "d"; - function = "clearins"; - argument = "0"; - }, - // Esc: Exit - { mode = 0; - modifier = "None"; - key = "Esc"; - function = "quit"; - argument = "0"; - }, - // Home: Move to the start - { mode = 0; - modifier = "None"; - key = "Home"; - function = "movestart"; - argument = "0"; - }, - // End: Move to the end - { mode = 0; - modifier = "None"; - key = "End"; - function = "moveend"; - argument = "0"; - }, - // g: Move to the start - { mode = 0; - modifier = "None"; - key = "g"; - function = "movestart"; - argument = "0"; - }, - // Shift+g: Move to the end - { mode = 0; - modifier = "Shift"; - key = "g"; - function = "moveend"; - argument = "0"; - }, - // Next: Move to the next entry (redo) - { mode = 0; - modifier = "None"; - key = "Next"; - function = "movenext"; - argument = "0"; - }, - // Prior: Move to the previous entry (undo) - { mode = 0; - modifier = "None"; - key = "Prior"; - function = "moveprev"; - argument = "0"; - }, - // Alt+p: Navigate to the previous entry in the history buffer - { mode = 0; - modifier = "Alt"; - key = "p"; - function = "navhistory"; - argument = "-1"; - }, - // Alt+n: Navigate to the next entry in the history buffer - { mode = 0; - modifier = "Alt"; - key = "n"; - function = "navhistory"; - argument = "+1"; - }, + keys = ( + { mode = -1; modifier = "None"; key = "Enter"; function = "selectitem"; argument = "+1"; }, // Enter: Select item + { mode = -1; modifier = "Shift"; key = "Enter"; function = "selectitem"; argument = "0"; }, // Shift+Enter: Select input + { mode = -1; modifier = "Ctrl"; key = "Enter"; function = "markitem"; argument = "0"; }, // Ctrl+Enter: Mark input + { mode = -1; modifier = "None"; key = "Tab"; function = "complete"; argument = "0"; }, // Tab: Tab complete + { mode = -1; modifier = "Ctrl"; key = "v"; function = "paste"; argument = "2"; }, // Ctrl+v: Paste from clipboard + { mode = -1; modifier = "Ctrl+Shift"; key = "v"; function = "paste"; argument = "1"; }, // Ctrl+Shift+v: Paste from selection + { mode = -1; modifier = "None"; key = "Backspace"; function = "backspace"; argument = "0"; }, // Backspace: Backspace + { mode = -1; modifier = "Ctrl"; key = "Backspace"; function = "deleteword"; argument = "0"; }, // Ctrl+Backspace: Delete word + { mode = -1; modifier = "Ctrl"; key = "Left"; function = "moveword"; argument = "-1"; }, // Ctrl+Left: Move caret (cursor) one word to the left + { mode = -1; modifier = "Ctrl"; key = "Right"; function = "moveword"; argument = "+1"; }, // Ctrl+Right: Move caret (cursor) one word to the right + { mode = -1; modifier = "None"; key = "Left"; function = "movecursor"; argument = "-1"; }, // Left: Move caret (cursor) one character to the left + { mode = -1; modifier = "None"; key = "Right"; function = "movecursor"; argument = "+1"; }, // Right: Move caret (cursor) one character to the right + { mode = -1; modifier = "Ctrl+Shift"; key = "p"; function = "setprofile"; argument = "0"; }, // Ctrl+Shift+p: Open profile menu + { mode = 1; modifier = "None"; key = "Esc"; function = "switchmode"; argument = "0"; }, // Escape: Switch mode + { mode = 0; modifier = "None"; key = "i"; function = "switchmode"; argument = "0"; }, // i: Switch mode + { mode = 0; modifier = "None"; key = "/"; function = "switchmode"; argument = "0"; }, // /: Switch mode + { mode = 0; modifier = "Ctrl"; key = "="; function = "setimgsize"; argument = "+1"; }, // Ctrl+=: Increase image size by 1 + { mode = 0; modifier = "Ctrl"; key = "-"; function = "setimgsize"; argument = "-1"; }, // Ctrl+-: Decrease image size by 1 + { mode = 0; modifier = "None"; key = "="; function = "setimgsize"; argument = "+10"; }, // -: Increase image size by 10 + { mode = 0; modifier = "None"; key = "-"; function = "setimgsize"; argument = "-10"; }, // =: Decrease image size by 10 + { mode = 0; modifier = "Shift"; key = "+"; function = "setimgsize"; argument = "+100"; }, // Shift+=: Increase image size by 100 + { mode = 0; modifier = "Shift"; key = "_"; function = "setimgsize"; argument = "-100"; }, // Shift+-: Decrease image size by 100 + { mode = 0; modifier = "Shift"; key = ")"; function = "defaultimg"; argument = "0"; }, // Shift+0: Set image size to the default + { mode = 0; modifier = "None"; key = "o"; function = "setimgpos"; argument = "+1"; }, // o: Toggle image position + { mode = 0; modifier = "None"; key = "p"; function = "paste"; argument = "2"; }, // p: Paste from clipboard + { mode = 0; modifier = "Ctrl"; key = "1"; function = "setimggaps"; argument = "-1"; }, // Ctrl+1: Decrease image gaps by 1 + { mode = 0; modifier = "Ctrl"; key = "2"; function = "setimggaps"; argument = "+1"; }, // Ctrl+2: Increase image gaps by 1 + { mode = 0; modifier = "None"; key = "1"; function = "setimggaps"; argument = "-10"; }, // 1: Decrease image gaps by 10 + { mode = 0; modifier = "None"; key = "2"; function = "setimggaps"; argument = "+10"; }, // 2: Increase image gaps by 10 + { mode = 0; modifier = "Shift"; key = "!"; function = "setimggaps"; argument = "-100"; }, // Shift+1: Decrease image gaps by 100 + { mode = 0; modifier = "Shift"; key = "@"; function = "setimggaps"; argument = "+100"; }, // Shift+2: Increase image gaps by 100 + { mode = 0; modifier = "None"; key = "t"; function = "toggleimg"; argument = "0"; }, // t: Toggle image + { mode = 0; modifier = "None"; key = "f"; function = "togglefullimg"; argument = "0"; }, // f: Toggle image full screen mode + { mode = 0; modifier = "None"; key = "h"; function = "flipimg"; argument = "1"; }, // h: Flip image horizontally + { mode = 0; modifier = "None"; key = "v"; function = "flipimg"; argument = "0"; }, // v: Flip image vertically + { mode = 0; modifier = "None"; key = "k"; function = "moveup"; argument = "0"; }, // k: Move up 1 item + { mode = 0; modifier = "None"; key = "j"; function = "movedown"; argument = "0"; }, // j: Move down 1 item + { mode = 0; modifier = "None"; key = "h"; function = "moveleft"; argument = "0"; }, // h: Move left 1 item + { mode = 0; modifier = "None"; key = "l"; function = "moveright"; argument = "0"; }, // l: Move right 1 item + { mode = 0; modifier = "Ctrl"; key = "u"; function = "moveup"; argument = "5"; }, // Ctrl+u: Move up 5 items + { mode = 0; modifier = "Ctrl"; key = "d"; function = "movedown"; argument = "5"; }, // Ctrl+d: Move down 5 items + { mode = 0; modifier = "Ctrl"; key = "k"; function = "setlines"; argument = "+1"; }, // Ctrl+k: Increase lines by 1 + { mode = 0; modifier = "Ctrl"; key = "j"; function = "setlines"; argument = "-1"; }, // Ctrl+j: Decrease lines by 1 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "k"; function = "setlines"; argument = "+5"; }, // Ctrl+Alt+Shift+k: Increase lines by 5 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "j"; function = "setlines"; argument = "-5"; }, // Ctrl+Alt+Shift+j: Decrease lines by 5 + { mode = 0; modifier = "Ctrl"; key = "l"; function = "setcolumns"; argument = "+1"; }, // Ctrl+l: Increase columns by 1 + { mode = 0; modifier = "Ctrl"; key = "h"; function = "setcolumns"; argument = "-1"; }, // Ctrl+h: Decrease columns by 1 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "h"; function = "setcolumns"; argument = "+5"; }, // Ctrl+Alt+Shift+h: Increase columns by 5 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "l"; function = "setcolumns"; argument = "-5"; }, // Ctrl+Alt+Shift+l: Decrease columns by 5 + { mode = 0; modifier = "None"; key = "u"; function = "togglehighlight"; argument = "0"; }, // Ctrl+u: Toggle highlighting + { mode = 0; modifier = "Ctrl+Shift"; key = "h"; function = "viewhist"; argument = "0"; }, // Ctrl+h: Toggle viewing history buffer + { mode = 0; modifier = "None"; key = "d"; function = "clear"; argument = "0"; }, // d: Clear the input + { mode = 0; modifier = "Shift"; key = "d"; function = "clearins"; argument = "0"; }, // Shift+d: Clear the input and enter insert mode + { mode = 0; modifier = "None"; key = "Esc"; function = "quit"; argument = "0"; }, // Esc: Exit + { mode = 0; modifier = "None"; key = "Home"; function = "movestart"; argument = "0"; }, // Home: Move to the start + { mode = 0; modifier = "None"; key = "End"; function = "moveend"; argument = "0"; }, // End: Move to the end + { mode = 0; modifier = "None"; key = "g"; function = "movestart"; argument = "0"; }, // g: Move to the start + { mode = 0; modifier = "Shift"; key = "g"; function = "moveend"; argument = "0"; }, // Shift+g: Move to the end + { mode = 0; modifier = "None"; key = "Next"; function = "movenext"; argument = "0"; }, // Next: Move to the next entry (redo) + { mode = 0; modifier = "None"; key = "Prior"; function = "moveprev"; argument = "0"; }, // Prior: Move to the previous entry (undo) + { mode = 0; modifier = "Alt"; key = "p"; function = "navhistory"; argument = "-1"; }, // Alt+p: Navigate to the previous entry in the history buffer + { mode = 0; modifier = "Alt"; key = "n"; function = "navhistory"; argument = "+1"; }, // Alt+n: Navigate to the next entry in the history buffer - { ignoreglobalkeys = 1; // Ignore hardcoded keybinds (0/1) - } ), + { ignoreglobalkeys = 1; } ), // Ignore hardcoded keybinds (0/1) };