emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ergoemacs-mode a38e4f3 275/325: Add option for keeping


From: Stefan Monnier
Subject: [elpa] externals/ergoemacs-mode a38e4f3 275/325: Add option for keeping emacs keys that are not overwritten by ergoemacs
Date: Sat, 23 Oct 2021 18:49:10 -0400 (EDT)

branch: externals/ergoemacs-mode
commit a38e4f354d4ef8d3791c932fd3378b620a124183
Author: Matthew Fidler <514778+mattfidler@users.noreply.github.com>
Commit: Matthew Fidler <514778+mattfidler@users.noreply.github.com>

    Add option for keeping emacs keys that are not overwritten by ergoemacs
    
    Issue #491
---
 ergoemacs-mode.el   |  5 +++
 ergoemacs-themes.el | 93 +++++++++++++++++++++++++++--------------------------
 2 files changed, 52 insertions(+), 46 deletions(-)

diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index 8568e7f..f8ced16 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -85,6 +85,11 @@ Added beginning-of-buffer Alt+n (QWERTY notation) and 
end-of-buffer Alt+Shift+n"
   :initialize #'custom-initialize-default
   :group 'ergoemacs-display)
 
+(defun ergoemacs-mode-unbind-emacs-keys t
+  "Unbind emacs keys."
+  :type 'boolean
+  :group 'ergoemacs-mode)
+
 (defcustom ergoemacs-theme nil
   "Ergoemacs Keyboard Layout Themes."
   :type '(choice
diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index da73750..c8a2965 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -270,52 +270,53 @@ by the emulation map."
 (defun ergoemacs-unset-keys (keymap)
   "Unset all of the standard keys at once.
 Call this before calling any other ergoemacs-set-* function"
-  (define-key keymap (kbd "C-x C-f") 'undefined)
-  (define-key keymap (kbd "C-x C-s") 'undefined)
-  (define-key keymap (kbd "C-x C-w") 'undefined)
-  (define-key keymap (kbd "C-x h") 'undefined)
-  (define-key keymap (kbd "C-x k") 'undefined)
-  (define-key keymap (kbd "C-b") 'undefined)
-  (define-key keymap (kbd "C-p") 'undefined)
-  (define-key keymap (kbd "C-n") 'undefined)
-  (define-key keymap (kbd "C-d") 'undefined)
-  (define-key keymap (kbd "M-b") 'undefined)
-  (define-key keymap (kbd "M-f") 'undefined)
-  (define-key keymap (kbd "M-d") 'undefined)
-
-  (define-key keymap (kbd "C-w") 'undefined)
-  (define-key keymap (kbd "M-w") 'undefined)
-  (define-key keymap (kbd "C-y") 'undefined)
-  (define-key keymap (kbd "M-y") 'undefined)
-  (define-key keymap (kbd "C-_") 'undefined)
-  (define-key keymap (kbd "C-/") 'undefined)
-  (define-key keymap (kbd "C-x u") 'undefined)
-
-  (define-key keymap (kbd "C-s") 'undefined)
-  (define-key keymap (kbd "C-r") 'undefined)
-  (define-key keymap (kbd "M-%") 'undefined)
-  
-  (define-key keymap (kbd "M-{") 'undefined)
-  (define-key keymap (kbd "M-}") 'undefined)
-  (define-key keymap (kbd "C-a") 'undefined)
-  (define-key keymap (kbd "C-e") 'undefined)
-
-  (define-key keymap (kbd "M-v") 'undefined)
-  (define-key keymap (kbd "C-v") 'undefined)
-
-  (define-key keymap (kbd "M->") 'undefined)
-  (define-key keymap (kbd "M-<") 'undefined)
-
-  (define-key keymap (kbd "C-x 1") 'undefined)
-  (define-key keymap (kbd "C-x 0") 'undefined)
-  (define-key keymap (kbd "C-x 3") 'undefined)
-  (define-key keymap (kbd "C-x 2") 'undefined)
-
-  (define-key keymap (kbd "M-x") 'undefined)
-  (define-key keymap (kbd "M-!") 'undefined)
-  (define-key keymap (kbd "C-l") 'undefined)
-  (define-key keymap (kbd "C-k") 'undefined)
-  (define-key keymap (kbd "M-;") 'undefined))
+  (when ergoemacs-mode-unbind-emacs-keys
+    (define-key keymap (kbd "C-x C-f") 'undefined)
+    (define-key keymap (kbd "C-x C-s") 'undefined)
+    (define-key keymap (kbd "C-x C-w") 'undefined)
+    (define-key keymap (kbd "C-x h") 'undefined)
+    (define-key keymap (kbd "C-x k") 'undefined)
+    (define-key keymap (kbd "C-b") 'undefined)
+    (define-key keymap (kbd "C-p") 'undefined)
+    (define-key keymap (kbd "C-n") 'undefined)
+    (define-key keymap (kbd "C-d") 'undefined)
+    (define-key keymap (kbd "M-b") 'undefined)
+    (define-key keymap (kbd "M-f") 'undefined)
+    (define-key keymap (kbd "M-d") 'undefined)
+
+    (define-key keymap (kbd "C-w") 'undefined)
+    (define-key keymap (kbd "M-w") 'undefined)
+    (define-key keymap (kbd "C-y") 'undefined)
+    (define-key keymap (kbd "M-y") 'undefined)
+    (define-key keymap (kbd "C-_") 'undefined)
+    (define-key keymap (kbd "C-/") 'undefined)
+    (define-key keymap (kbd "C-x u") 'undefined)
+
+    (define-key keymap (kbd "C-s") 'undefined)
+    (define-key keymap (kbd "C-r") 'undefined)
+    (define-key keymap (kbd "M-%") 'undefined)
+    
+    (define-key keymap (kbd "M-{") 'undefined)
+    (define-key keymap (kbd "M-}") 'undefined)
+    (define-key keymap (kbd "C-a") 'undefined)
+    (define-key keymap (kbd "C-e") 'undefined)
+
+    (define-key keymap (kbd "M-v") 'undefined)
+    (define-key keymap (kbd "C-v") 'undefined)
+
+    (define-key keymap (kbd "M->") 'undefined)
+    (define-key keymap (kbd "M-<") 'undefined)
+
+    (define-key keymap (kbd "C-x 1") 'undefined)
+    (define-key keymap (kbd "C-x 0") 'undefined)
+    (define-key keymap (kbd "C-x 3") 'undefined)
+    (define-key keymap (kbd "C-x 2") 'undefined)
+
+    (define-key keymap (kbd "M-x") 'undefined)
+    (define-key keymap (kbd "M-!") 'undefined)
+    (define-key keymap (kbd "C-l") 'undefined)
+    (define-key keymap (kbd "C-k") 'undefined)
+    (define-key keymap (kbd "M-;") 'undefined)))
 
 ;;; Fixed components
 (defun ergoemacs-set-standard-fixed (keymap)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]