summaryrefslogtreecommitdiffstats
path: root/Tools/idle/Bindings.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/idle/Bindings.py')
-rw-r--r--Tools/idle/Bindings.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/Tools/idle/Bindings.py b/Tools/idle/Bindings.py
new file mode 100644
index 0000000..9e2e791
--- /dev/null
+++ b/Tools/idle/Bindings.py
@@ -0,0 +1,92 @@
+# The first item of each tuple is the virtual event;
+# each of the remaining items is an actual key binding for the event.
+# (This conveniently forms an argument list for event_add().)
+
+win_bindings = [
+ ("<<beginning-of-line>>", "<Control-a>", "<Home>"),
+
+ ("<<expand-word>>", "<Meta-slash>", "<Alt-slash>"),
+
+ ("<<newline-and-indent>>", "<Key-Return>", "<KP_Enter>"),
+ ("<<plain-newline-and-indent>>", "<Control-j>"),
+
+ ("<<interrupt-execution>>", "<Control-c>"),
+ ("<<end-of-file>>", "<Control-d>"),
+
+ ("<<dedent-region>>", "<Control-bracketleft>"),
+ ("<<indent-region>>", "<Control-bracketright>"),
+
+ ("<<comment-region>>", "<Meta-Key-3>", "<Alt-Key-3>"),
+ ("<<uncomment-region>>", "<Meta-Key-4>", "<Alt-Key-4>"),
+
+ ("<<history-previous>>", "<Meta-p>", "<Alt-p>"),
+ ("<<history-next>>", "<Meta-n>", "<Alt-n>"),
+
+ ("<<toggle-auto-coloring>>", "<Control-slash>"),
+
+ ("<<close-all-windows>>", "<Control-q>"),
+ ("<<open-new-window>>", "<Control-n>"),
+ ("<<open-window-from-file>>", "<Control-o>"),
+ ("<<save-window>>", "<Control-s>"),
+ ("<<save-window-as-file>>", "<Control-w>"),
+ ("<<save-copy-of-window-as-file>>", "<Meta-w>"),
+
+ ("<<find>>", "<Control-f>"),
+ ("<<find-next>>", "<F3>"),
+ ("<<find-same>>", "<Control-F3>"),
+ ("<<goto-line>>", "<Alt-g>", "<Meta-g>"),
+
+ ("<<undo>>", "<Control-z>"),
+ ("<<redo>>", "<Control-y>"),
+ ("<<dump-undo-state>>", "<Control-backslash>"),
+]
+
+emacs_bindings = [
+ ("<<beginning-of-line>>", "<Control-a>", "<Home>"),
+ ("<<center-insert>>", "<Control-l>"),
+
+ ("<<expand-word>>", "<Meta-slash>", "<Alt-slash>"),
+
+ ("<<newline-and-indent>>", "<Key-Return>", "<KP_Enter>"),
+ ("<<plain-newline-and-indent>>", "<Control-j>"),
+
+ ("<<interrupt-execution>>", "<Control-c>"),
+ ("<<end-of-file>>", "<Control-d>"),
+
+ ("<<dedent-region>>",
+ "<Meta-bracketleft>", "<Alt-bracketleft>", "<Control-bracketleft>"),
+ ("<<indent-region>>",
+ "<Meta-bracketright>", "<Alt-bracketright>", "<Control-bracketright>"),
+
+ ("<<comment-region>>", "<Meta-Key-3>", "<Alt-Key-3>"),
+ ("<<uncomment-region>>", "<Meta-Key-4>", "<Alt-Key-4>"),
+
+ ("<<history-previous>>", "<Meta-p>", "<Alt-p>"),
+ ("<<history-next>>", "<Meta-n>", "<Alt-n>"),
+
+ ("<<toggle-auto-coloring>>", "<Control-slash>"),
+
+ ("<<close-all-windows>>", "<Control-x><Control-c>"),
+ ("<<close-window>>", "<Control-x><Control-0>"),
+ ("<<open-new-window>>", "<Control-x><Control-n>"),
+ ("<<open-window-from-file>>", "<Control-x><Control-f>"),
+ ("<<save-window>>", "<Control-x><Control-s>"),
+ ("<<save-window-as-file>>", "<Control-x><Control-w>"),
+ ("<<save-copy-of-window-as-file>>", "<Control-x><w>"),
+
+ ("<<find>>", "<Control-u><Control-u><Control-s>"),
+ ("<<find-next>>", "<Control-u><Control-s>"),
+ ("<<find-same>>", "<Control-s>"),
+ ("<<goto-line>>", "<Alt-g>", "<Meta-g>"),
+
+ ("<<undo>>", "<Control-z>"),
+ ("<<redo>>", "<Alt-z>", "<Meta-z>"),
+ ("<<dump-undo-state>>", "<Control-backslash>"),
+]
+
+default_bindings = emacs_bindings
+
+def apply_bindings(text, bindings=default_bindings):
+ event_add = text.event_add
+ for args in bindings:
+ apply(event_add, args)