branch: externals/ergoemacs-mode commit dc2f666db5ae9f7a65a7cb8ca0f36ce5a82f4338 Author: Marlon Richert <marlonrich...@users.noreply.github.com> Commit: Marlon Richert <marlonrich...@users.noreply.github.com>
Add info on how to get system-wide Ergoemacs bindings in macOS Also clean up and correctly renumber the section headings in ergoemacs-mode.info --- ergoemacs-mode.info | 106 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 76 insertions(+), 30 deletions(-) diff --git a/ergoemacs-mode.info b/ergoemacs-mode.info index 32e637f..da0e500 100644 --- a/ergoemacs-mode.info +++ b/ergoemacs-mode.info @@ -379,7 +379,14 @@ anything that enters the minibuffer removes the movement mode. - Any undefined key in the keymap (like 1) would exit the mode and insert the character - Shift and the key is the unshifted command. Therefore [Menu] [i] [i] [Shift+k] would be Page Up followed by down one -character. ## Layouts Supported ## Tips for adopting ErgoEmacs +character. + +1.5 Layouts Supported +===================== + +1.6 Tips for adopting ErgoEmacs +=============================== + Keybindings If you are a long time emacs user, you may find it painful to adopt this setup. @@ -390,7 +397,7 @@ changing muscle memory. File: ergoemacs-mode.info, Node: Where Did My Command Go?, Next: Shortcut To Open Cheatsheet, Prev: Ergoemacs Key Chord Reduction, Up: Banish Key Chords -1.4.4 Where Did My Command Go? +1.6.1 Where Did My Command Go? ------------------------------ The ergonomic-mode minor mode features the command @@ -401,16 +408,24 @@ Emacs, and the new shortcut for it under ErgoEmacs?. File: ergoemacs-mode.info, Node: Shortcut To Open Cheatsheet, Prev: Where Did My Command Go?, Up: Banish Key Chords -1.4.5 Shortcut To Open Cheatsheet +1.6.2 Shortcut To Open Cheatsheet --------------------------------- You can open a cheatsheet by pressing [Control+h] [']. On the first run, this will create a svg and (possibly) create a png based on the svg (if `ergoemacs-inkscape' points to the inkscape executable). Once these are created, the cheatsheet will be opened displaying all the -keys based on your layout. ### Gradual Adoption for an Emacs User -Here's some tips that may help you adopt. #### Level 1 If you find it -too painful to switch, don't use the whole package. Instead, start off +keys based on your layout. + +1.6.3 Gradual Adoption for an Emacs User +---------------------------------------- + +Here's some tips that may help you adopt. + +1.6.3.1 Level 1 +............... + +If you find it too painful to switch, don't use the whole package. Instead, start off with just the arrow key movements. (setq ergoemacs-variant "lvl1") (ergoemacs-mode 1) @@ -437,7 +452,7 @@ adopt. File: ergoemacs-mode.info, Node: Level 2, Next: Level 3, Up: Shortcut To Open Cheatsheet -1.4.5.1 Level 2 +1.6.3.2 Level 2 ............... Adding keys for moving around words and deleting words. @@ -447,7 +462,7 @@ Adding keys for moving around words and deleting words. File: ergoemacs-mode.info, Node: Level 3, Next: Full Ergoemacs Keys, Prev: Level 2, Up: Shortcut To Open Cheatsheet -1.4.5.2 Level 3 +1.6.3.3 Level 3 ............... Full ergoemacs keyset without the unchorded keys. @@ -457,8 +472,8 @@ Full ergoemacs keyset without the unchorded keys. File: ergoemacs-mode.info, Node: Full Ergoemacs Keys, Next: Guru, Prev: Level 3, Up: Shortcut To Open Cheatsheet -1.4.5.3 Full Ergoemacs Keys -........................... +1.6.3.4 Full Ergoemacs Keys +............................ Try to use the full ergoemacs mode. @@ -467,8 +482,8 @@ Try to use the full ergoemacs mode. File: ergoemacs-mode.info, Node: Guru, Next: Master, Prev: Full Ergoemacs Keys, Up: Shortcut To Open Cheatsheet -1.4.5.4 Guru -............ +1.6.3.5 Guru +............. The guru variant takes away the arrow keys and page up/page down keys. @@ -477,7 +492,7 @@ The guru variant takes away the arrow keys and page up/page down keys. File: ergoemacs-mode.info, Node: Master, Prev: Guru, Up: Shortcut To Open Cheatsheet -1.4.5.5 Master +1.6.3.6 Master .............. The Master variant takes away the backspace. This key is not @@ -490,7 +505,7 @@ everywhere. File: ergoemacs-mode.info, Node: Changing key layouts or adding variants, Next: Ergoemacs Keys System wide, Prev: Banish Key Chords, Up: Ergoemacs Keybindings -1.5 Changing key layouts or adding variants +1.7 Changing key layouts or adding variants =========================================== * Menu: @@ -500,17 +515,25 @@ File: ergoemacs-mode.info, Node: Changing key layouts or adding variants, Next File: ergoemacs-mode.info, Node: Globally defined keys, Up: Changing key layouts or adding variants -1.5.1 Globally defined keys +1.7.1 Globally defined keys --------------------------- These keys are defined on the global keymap and should be retained regardless of the variant or layout used. However, these keys will not show up on keyboard documentation generated by ergoemacs. Additionally, -these keys may be masked or remapped by other programs. ### Ergoemacs -defined keys These keys are defined in the ergoemacs-keymap. When the +these keys may be masked or remapped by other programs. + +1.7.2 Ergoemacs defined keys +---------------------------- + +These keys are defined in the ergoemacs-keymap. When the layout changes by changing options, these keys are lost. However, you -may create your own variant to allow these keys to be saved. #### -Adding a ergonomic key Ergonomic keys can be added by: +may create your own variant to allow these keys to be saved. + +1.7.2.1 Adding a ergonomic key +.............................. + +Ergonomic keys can be added by: (ergoemacs-key "M-a" 'execute-extended-command "Execute") @@ -519,7 +542,12 @@ layout. This only applies to the currently selected keyboard variant. Note the last parameter is optional and allows Ergoemacs to document that this is an "Execute" command when generating keyboard layout -diagrams. #### Adding a fixed key Fixed keys can be added by: +diagrams. + +1.7.2.2 Adding a fixed key +.......................... + +Fixed keys can be added by: (ergoemacs-fixed-key "C-o" 'ido-find-file "Open File") @@ -536,7 +564,7 @@ that this is an "Open" command when generating keyboard layout diagrams. File: ergoemacs-mode.info, Node: Adding an ergonomic key map with fixed mappings, Next: Creating a keyboard variant, Up: Globally defined keys -1.5.1.1 Adding an ergonomic key map with fixed mappings +1.7.2.3 Adding an ergonomic key map with fixed mappings ....................................................... When you want to add an ergonomic keymap with fixed mappings such as @@ -550,13 +578,13 @@ save buffer File: ergoemacs-mode.info, Node: Creating a keyboard variant, Prev: Adding an ergonomic key map with fixed mappings, Up: Globally defined keys -1.5.1.2 Creating a keyboard variant +1.7.2.4 Creating a keyboard variant ................................... File: ergoemacs-mode.info, Node: Ergoemacs Keys System wide, Prev: Changing key layouts or adding variants, Up: Ergoemacs Keybindings -1.6 Ergoemacs Keys System wide +1.8 Ergoemacs Keys System wide ============================== * Menu: @@ -569,19 +597,33 @@ File: ergoemacs-mode.info, Node: Ergoemacs Keys System wide, Prev: Changing ke File: ergoemacs-mode.info, Node: Bash, Next: Windows, Up: Ergoemacs Keys System wide -1.6.1 Bash +1.8.1 Bash ---------- File: ergoemacs-mode.info, Node: Windows, Next: Extras, Prev: Bash, Up: Ergoemacs Keys System wide -1.6.2 Windows +1.8.2 Windows ------------- In windows some of the ergoemacs keys are implemented system wide by assuming apps follow the CUA-style keys like CTRL-f for find, CTRL-h for replace. This also optionally implements: - CapsLock as Menu in -emacs ### Mac OS X ## Developer information ### Layouts All the layouts +emacs + +1.8.2 macOS +----------- +[Ergoemacs for Karabiner-Elements](https://twitter.com/MarlonRichert/status/1240279799484071936) +implements system-wide support for [levels 1 and 2](#toc20) of Ergoemacs (plus some additional keys from +level 3). + +1.9 Developer information +========================= + +1.9.1 Layouts +------------- + +All the layouts in ergoemacs are easy to generate. To add your own personal layout you just need to match the keybindings for your in a layout variable from `ergoemacs-layout-XXX'. For the US and UK layouts, the defining @@ -610,14 +652,18 @@ and shifted states of he keyboard. After listing the keyboard descriptions it provides a description of the layout which is used for the customization variable `ergoemacs-keyboard-layout'. By simply defining your layout before ergoemacs-mode is loaded, you add it to the -ergoemacs-keyboard-layout variable with its description. ### -Customizing/Saving the variables You can customize the ergoemacs +ergoemacs-keyboard-layout variable with its description. + +1.9.2 Customizing/Saving the variables +-------------------------------------- + +You can customize the ergoemacs keybindings by typing M-x customize-group ergoemacs-mode File: ergoemacs-mode.info, Node: Extras, Next: Updating Ergoemacs for the latest version of emacs, Prev: Windows, Up: Ergoemacs Keys System wide -1.6.3 Extras +1.9.3 Extras ------------ To generate keyboard binding diagrams and scripts that allow you to use @@ -633,7 +679,7 @@ layout variant. File: ergoemacs-mode.info, Node: Updating Ergoemacs for the latest version of emacs, Prev: Extras, Up: Ergoemacs Keys System wide -1.6.4 Updating Ergoemacs for the latest version of emacs +1.9.4 Updating Ergoemacs for the latest version of emacs -------------------------------------------------------- To tell if a key was a globally defined emacs key, ergoemacs needs to