Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add info on how to get system-wide Ergoemacs bindings in macOS #488

Merged
merged 1 commit into from
Mar 19, 2020
Merged
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
106 changes: 76 additions & 30 deletions ergoemacs-mode.info
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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
Expand All @@ -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)
Expand All @@ -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.
Expand All @@ -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.
Expand All @@ -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.

Expand All @@ -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.

Expand All @@ -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
Expand All @@ -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:
Expand All @@ -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")

Expand All @@ -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")

Expand All @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down