summaryrefslogtreecommitdiff
path: root/archive
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-04-12 08:03:49 -0700
committerSean Whitton <spwhitton@spwhitton.name>2018-04-12 08:03:49 -0700
commit4edff5970babdc847b1d31bbc57d95ecacb9fa3e (patch)
treea309fa7da92b5888e826334d4098dff9619ed163 /archive
parente8d0f3d8377d18db783d37b728bb55570595d9c5 (diff)
downloaddotfiles-4edff5970babdc847b1d31bbc57d95ecacb9fa3e.tar.gz
see what happens if we archive init-term.el
Diffstat (limited to 'archive')
-rw-r--r--archive/.emacs.d/init-term.el78
1 files changed, 78 insertions, 0 deletions
diff --git a/archive/.emacs.d/init-term.el b/archive/.emacs.d/init-term.el
new file mode 100644
index 00000000..1a98e565
--- /dev/null
+++ b/archive/.emacs.d/init-term.el
@@ -0,0 +1,78 @@
+;;; From the tmux FAQ: should allow some modified keys to pass through
+;;; to Emacs
+
+(defadvice terminal-init-screen
+ ;; The advice is named `tmux', and is run before `terminal-init-screen' runs.
+ (before tmux activate)
+ ;; Docstring. This describes the advice and is made available inside emacs;
+ ;; for example when doing C-h f terminal-init-screen RET
+ "Apply xterm keymap, allowing use of keys passed through tmux."
+ ;; This is the elisp code that is run before `terminal-init-screen'.
+ (if (getenv "TMUX")
+ (let ((map (copy-keymap xterm-function-map)))
+ (set-keymap-parent map (keymap-parent input-decode-map))
+ (set-keymap-parent input-decode-map map))))
+
+;;; From the Emacswiki: should allow some more modified keys to work
+;;; in Emacs over ssh via PuTTY
+
+(if (eq system-uses-terminfo t)
+ (progn ;; PuTTY hack - needs to be in SCO mode
+ (define-key key-translation-map [\e] [\M])
+ (define-key input-decode-map "\e[H" [home])
+ (define-key input-decode-map "\e[F" [end])
+ (define-key input-decode-map "\e[D" [S-left])
+ (define-key input-decode-map "\e[C" [S-right])
+ (define-key input-decode-map "\e[A" [S-up])
+ (define-key input-decode-map "\e[B" [S-down])
+ (define-key input-decode-map "\e[C" [S-right])
+ (define-key input-decode-map "\e[I" [prior])
+ (define-key input-decode-map "\e[G" [next])
+ (define-key input-decode-map "\e[M" [f1])
+ (define-key input-decode-map "\e[Y" [S-f1])
+ (define-key input-decode-map "\e[k" [C-f1])
+ (define-key input-decode-map "\e\e[M" [M-f1])
+ (define-key input-decode-map "\e[N" [f2])
+ (define-key input-decode-map "\e[Z" [S-f2])
+ (define-key input-decode-map "\e[l" [C-f2])
+ (define-key input-decode-map "\e\e[N" [M-f2])
+ (define-key input-decode-map "\e[O" [f3])
+ (define-key input-decode-map "\e[a" [S-f3])
+ (define-key input-decode-map "\e[m" [C-f3])
+ (define-key input-decode-map "\e\e[O" [M-f3])
+ (define-key input-decode-map "\e[P" [f4])
+ (define-key input-decode-map "\e[b" [S-f4])
+ (define-key input-decode-map "\e[n" [C-f4])
+ (define-key input-decode-map "\e\e[P" [M-f4])
+ (define-key input-decode-map "\e[Q" [f5])
+ (define-key input-decode-map "\e[c" [S-f5])
+ (define-key input-decode-map "\e[o" [C-f5])
+ (define-key input-decode-map "\e\e[Q" [M-f5])
+ (define-key input-decode-map "\e[R" [f6])
+ (define-key input-decode-map "\e[d" [S-f6])
+ (define-key input-decode-map "\e[p" [C-f6])
+ (define-key input-decode-map "\e\e[R" [M-f6])
+ (define-key input-decode-map "\e[S" [f7])
+ (define-key input-decode-map "\e[e" [S-f7])
+ (define-key input-decode-map "\e[q" [C-f7])
+ (define-key input-decode-map "\e\e[S" [M-f7])
+ (define-key input-decode-map "\e[T" [f8])
+ (define-key input-decode-map "\e[f" [S-f8])
+ (define-key input-decode-map "\e[r" [C-f8])
+ (define-key input-decode-map "\e\e[T" [M-f8])
+ (define-key input-decode-map "\e[U" [f9])
+ (define-key input-decode-map "\e[g" [S-f9])
+ (define-key input-decode-map "\e[s" [C-f9])
+ (define-key input-decode-map "\e\e[U" [M-f9])
+ (define-key input-decode-map "\e[V" [f10])
+ (define-key input-decode-map "\e[h" [S-f10])
+ (define-key input-decode-map "\e[_" [C-f10])
+ (define-key input-decode-map "\e\e[V" [M-f10])
+ (define-key input-decode-map "\e[W" [f11])
+ (define-key input-decode-map "\e[i" [S-f11])
+ (define-key input-decode-map "\e[u" [C-f11])
+ (define-key input-decode-map "\e\e[W" [M-f11])
+ (define-key input-decode-map "\e[X" [f12])
+ (define-key input-decode-map "\e[j" [S-f12])
+ (define-key input-decode-map "\e[v" [C-f12])
+ (define-key input-decode-map "\e\e[X" [M-f12])))