diff options
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/term/rxvt.el | 160 | ||||
| -rw-r--r-- | lisp/term/xterm.el | 39 |
3 files changed, 126 insertions, 80 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c53e17cce31..70b1e55bb70 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2007-09-12 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * term/xterm.el (xterm-function-map): Add bindings for M-S- and | ||
| 4 | C-M-S- keys. | ||
| 5 | |||
| 6 | * term/rxvt.el (rxvt-function-map): Initialize in the declaration. | ||
| 7 | |||
| 1 | 2007-09-12 Micha,Ak(Bl Cadilhac <michael@cadilhac.name> | 8 | 2007-09-12 Micha,Ak(Bl Cadilhac <michael@cadilhac.name> |
| 2 | 9 | ||
| 3 | * lisp/net/browse-url.el (browse-url-encode-url): Fix an infinite loop. | 10 | * lisp/net/browse-url.el (browse-url-encode-url): Fix an infinite loop. |
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el index d0411161773..7eb175c7c98 100644 --- a/lisp/term/rxvt.el +++ b/lisp/term/rxvt.el | |||
| @@ -26,91 +26,93 @@ | |||
| 26 | 26 | ||
| 27 | ;;; Code: | 27 | ;;; Code: |
| 28 | 28 | ||
| 29 | (defvar rxvt-function-map (make-sparse-keymap) | 29 | (defvar rxvt-function-map |
| 30 | "Function key overrides for rxvt.") | 30 | (let ((map (make-sparse-keymap))) |
| 31 | 31 | ||
| 32 | ;; Set up function-key-map entries that termcap and terminfo don't know. | 32 | ;; Set up function-key-map entries that termcap and terminfo don't know. |
| 33 | (define-key rxvt-function-map "\e[A" [up]) | 33 | (define-key map "\e[A" [up]) |
| 34 | (define-key rxvt-function-map "\e[B" [down]) | 34 | (define-key map "\e[B" [down]) |
| 35 | (define-key rxvt-function-map "\e[C" [right]) | 35 | (define-key map "\e[C" [right]) |
| 36 | (define-key rxvt-function-map "\e[D" [left]) | 36 | (define-key map "\e[D" [left]) |
| 37 | (define-key rxvt-function-map "\e[2~" [insert]) | 37 | (define-key map "\e[2~" [insert]) |
| 38 | (define-key rxvt-function-map "\e[3~" [delete]) | 38 | (define-key map "\e[3~" [delete]) |
| 39 | (define-key rxvt-function-map "\e[4~" [select]) | 39 | (define-key map "\e[4~" [select]) |
| 40 | (define-key rxvt-function-map "\e[5~" [prior]) | 40 | (define-key map "\e[5~" [prior]) |
| 41 | (define-key rxvt-function-map "\e[6~" [next]) | 41 | (define-key map "\e[6~" [next]) |
| 42 | (define-key rxvt-function-map "\e[7~" [home]) | 42 | (define-key map "\e[7~" [home]) |
| 43 | (define-key rxvt-function-map "\e[8~" [end]) | 43 | (define-key map "\e[8~" [end]) |
| 44 | (define-key rxvt-function-map "\e[11~" [f1]) | 44 | (define-key map "\e[11~" [f1]) |
| 45 | (define-key rxvt-function-map "\e[12~" [f2]) | 45 | (define-key map "\e[12~" [f2]) |
| 46 | (define-key rxvt-function-map "\e[13~" [f3]) | 46 | (define-key map "\e[13~" [f3]) |
| 47 | (define-key rxvt-function-map "\e[14~" [f4]) | 47 | (define-key map "\e[14~" [f4]) |
| 48 | (define-key rxvt-function-map "\e[15~" [f5]) | 48 | (define-key map "\e[15~" [f5]) |
| 49 | (define-key rxvt-function-map "\e[17~" [f6]) | 49 | (define-key map "\e[17~" [f6]) |
| 50 | (define-key rxvt-function-map "\e[18~" [f7]) | 50 | (define-key map "\e[18~" [f7]) |
| 51 | (define-key rxvt-function-map "\e[19~" [f8]) | 51 | (define-key map "\e[19~" [f8]) |
| 52 | (define-key rxvt-function-map "\e[20~" [f9]) | 52 | (define-key map "\e[20~" [f9]) |
| 53 | (define-key rxvt-function-map "\e[21~" [f10]) | 53 | (define-key map "\e[21~" [f10]) |
| 54 | ;; The strings emitted by f11 and f12 are the same as the strings | 54 | ;; The strings emitted by f11 and f12 are the same as the strings |
| 55 | ;; emitted by S-f1 and S-f2, so don't define f11 and f12. | 55 | ;; emitted by S-f1 and S-f2, so don't define f11 and f12. |
| 56 | ;; (define-key rxvt-function-map "\e[23~" [f11]) | 56 | ;; (define-key rxvt-function-map "\e[23~" [f11]) |
| 57 | ;; (define-key rxvt-function-map "\e[24~" [f12]) | 57 | ;; (define-key rxvt-function-map "\e[24~" [f12]) |
| 58 | (define-key rxvt-function-map "\e[29~" [print]) | 58 | (define-key map "\e[29~" [print]) |
| 59 | 59 | ||
| 60 | (define-key rxvt-function-map "\e[11^" [C-f1]) | 60 | (define-key map "\e[11^" [C-f1]) |
| 61 | (define-key rxvt-function-map "\e[12^" [C-f2]) | 61 | (define-key map "\e[12^" [C-f2]) |
| 62 | (define-key rxvt-function-map "\e[13^" [C-f3]) | 62 | (define-key map "\e[13^" [C-f3]) |
| 63 | (define-key rxvt-function-map "\e[14^" [C-f4]) | 63 | (define-key map "\e[14^" [C-f4]) |
| 64 | (define-key rxvt-function-map "\e[15^" [C-f5]) | 64 | (define-key map "\e[15^" [C-f5]) |
| 65 | (define-key rxvt-function-map "\e[17^" [C-f6]) | 65 | (define-key map "\e[17^" [C-f6]) |
| 66 | (define-key rxvt-function-map "\e[18^" [C-f7]) | 66 | (define-key map "\e[18^" [C-f7]) |
| 67 | (define-key rxvt-function-map "\e[19^" [C-f8]) | 67 | (define-key map "\e[19^" [C-f8]) |
| 68 | (define-key rxvt-function-map "\e[20^" [C-f9]) | 68 | (define-key map "\e[20^" [C-f9]) |
| 69 | (define-key rxvt-function-map "\e[21^" [C-f10]) | 69 | (define-key map "\e[21^" [C-f10]) |
| 70 | 70 | ||
| 71 | (define-key rxvt-function-map "\e[23~" [S-f1]) | 71 | (define-key map "\e[23~" [S-f1]) |
| 72 | (define-key rxvt-function-map "\e[24~" [S-f2]) | 72 | (define-key map "\e[24~" [S-f2]) |
| 73 | (define-key rxvt-function-map "\e[25~" [S-f3]) | 73 | (define-key map "\e[25~" [S-f3]) |
| 74 | (define-key rxvt-function-map "\e[26~" [S-f4]) | 74 | (define-key map "\e[26~" [S-f4]) |
| 75 | (define-key rxvt-function-map "\e[28~" [S-f5]) | 75 | (define-key map "\e[28~" [S-f5]) |
| 76 | (define-key rxvt-function-map "\e[29~" [S-f6]) | 76 | (define-key map "\e[29~" [S-f6]) |
| 77 | (define-key rxvt-function-map "\e[31~" [S-f7]) | 77 | (define-key map "\e[31~" [S-f7]) |
| 78 | (define-key rxvt-function-map "\e[32~" [S-f8]) | 78 | (define-key map "\e[32~" [S-f8]) |
| 79 | (define-key rxvt-function-map "\e[33~" [S-f9]) | 79 | (define-key map "\e[33~" [S-f9]) |
| 80 | (define-key rxvt-function-map "\e[34~" [S-f10]) | 80 | (define-key map "\e[34~" [S-f10]) |
| 81 | 81 | ||
| 82 | (define-key rxvt-function-map "\e[23^" [C-S-f1]) | 82 | (define-key map "\e[23^" [C-S-f1]) |
| 83 | (define-key rxvt-function-map "\e[24^" [C-S-f2]) | 83 | (define-key map "\e[24^" [C-S-f2]) |
| 84 | (define-key rxvt-function-map "\e[25^" [C-S-f3]) | 84 | (define-key map "\e[25^" [C-S-f3]) |
| 85 | (define-key rxvt-function-map "\e[26^" [C-S-f4]) | 85 | (define-key map "\e[26^" [C-S-f4]) |
| 86 | (define-key rxvt-function-map "\e[28^" [C-S-f5]) | 86 | (define-key map "\e[28^" [C-S-f5]) |
| 87 | (define-key rxvt-function-map "\e[29^" [C-S-f6]) | 87 | (define-key map "\e[29^" [C-S-f6]) |
| 88 | (define-key rxvt-function-map "\e[31^" [C-S-f7]) | 88 | (define-key map "\e[31^" [C-S-f7]) |
| 89 | (define-key rxvt-function-map "\e[32^" [C-S-f8]) | 89 | (define-key map "\e[32^" [C-S-f8]) |
| 90 | (define-key rxvt-function-map "\e[33^" [C-S-f9]) | 90 | (define-key map "\e[33^" [C-S-f9]) |
| 91 | (define-key rxvt-function-map "\e[34^" [C-S-f10]) | 91 | (define-key map "\e[34^" [C-S-f10]) |
| 92 | 92 | ||
| 93 | (define-key rxvt-function-map "\e[2^" [C-insert]) | 93 | (define-key map "\e[2^" [C-insert]) |
| 94 | (define-key rxvt-function-map "\e[3^" [C-delete]) | 94 | (define-key map "\e[3^" [C-delete]) |
| 95 | (define-key rxvt-function-map "\e[5^" [C-prior]) | 95 | (define-key map "\e[5^" [C-prior]) |
| 96 | (define-key rxvt-function-map "\e[6^" [C-next]) | 96 | (define-key map "\e[6^" [C-next]) |
| 97 | (define-key rxvt-function-map "\e[7^" [C-home]) | 97 | (define-key map "\e[7^" [C-home]) |
| 98 | (define-key rxvt-function-map "\e[8^" [C-end]) | 98 | (define-key map "\e[8^" [C-end]) |
| 99 | (define-key rxvt-function-map "\eOd" [C-left]) | 99 | (define-key map "\eOd" [C-left]) |
| 100 | (define-key rxvt-function-map "\eOc" [C-right]) | 100 | (define-key map "\eOc" [C-right]) |
| 101 | (define-key rxvt-function-map "\eOa" [C-up]) | 101 | (define-key map "\eOa" [C-up]) |
| 102 | (define-key rxvt-function-map "\eOb" [C-down]) | 102 | (define-key map "\eOb" [C-down]) |
| 103 | 103 | ||
| 104 | (define-key rxvt-function-map "\e[2;2~" [S-insert]) | 104 | (define-key map "\e[2;2~" [S-insert]) |
| 105 | (define-key rxvt-function-map "\e[3$" [S-delete]) | 105 | (define-key map "\e[3$" [S-delete]) |
| 106 | (define-key rxvt-function-map "\e[5$" [S-prior]) | 106 | (define-key map "\e[5$" [S-prior]) |
| 107 | (define-key rxvt-function-map "\e[6$" [S-next]) | 107 | (define-key map "\e[6$" [S-next]) |
| 108 | (define-key rxvt-function-map "\e[7$" [S-home]) | 108 | (define-key map "\e[7$" [S-home]) |
| 109 | (define-key rxvt-function-map "\e[8$" [S-end]) | 109 | (define-key map "\e[8$" [S-end]) |
| 110 | (define-key rxvt-function-map "\e[d" [S-left]) | 110 | (define-key map "\e[d" [S-left]) |
| 111 | (define-key rxvt-function-map "\e[c" [S-right]) | 111 | (define-key map "\e[c" [S-right]) |
| 112 | (define-key rxvt-function-map "\e[a" [S-up]) | 112 | (define-key map "\e[a" [S-up]) |
| 113 | (define-key rxvt-function-map "\e[b" [S-down]) | 113 | (define-key map "\e[b" [S-down]) |
| 114 | map) | ||
| 115 | "Function key overrides for rxvt.") | ||
| 114 | 116 | ||
| 115 | (defun terminal-init-rxvt () | 117 | (defun terminal-init-rxvt () |
| 116 | "Terminal initialization function for rxvt." | 118 | "Terminal initialization function for rxvt." |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index da105d4c00b..c5f6ba665dd 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -100,6 +100,19 @@ | |||
| 100 | (define-key map "\e[23;3~" [A-f11]) | 100 | (define-key map "\e[23;3~" [A-f11]) |
| 101 | (define-key map "\e[24;3~" [A-f12]) | 101 | (define-key map "\e[24;3~" [A-f12]) |
| 102 | 102 | ||
| 103 | (define-key map "\eO4P" [M-S-f1]) | ||
| 104 | (define-key map "\eO4Q" [M-S-f2]) | ||
| 105 | (define-key map "\eO4R" [M-S-f3]) | ||
| 106 | (define-key map "\eO4S" [M-S-f4]) | ||
| 107 | (define-key map "\e[15;4~" [M-S-f5]) | ||
| 108 | (define-key map "\e[17;4~" [M-S-f6]) | ||
| 109 | (define-key map "\e[18;4~" [M-S-f7]) | ||
| 110 | (define-key map "\e[19;4~" [M-S-f8]) | ||
| 111 | (define-key map "\e[20;4~" [M-S-f9]) | ||
| 112 | (define-key map "\e[21;4~" [M-S-f10]) | ||
| 113 | (define-key map "\e[23;4~" [M-S-f11]) | ||
| 114 | (define-key map "\e[24;4~" [M-S-f12]) | ||
| 115 | |||
| 103 | (define-key map "\eOA" [up]) | 116 | (define-key map "\eOA" [up]) |
| 104 | (define-key map "\eOB" [down]) | 117 | (define-key map "\eOB" [down]) |
| 105 | (define-key map "\eOC" [right]) | 118 | (define-key map "\eOC" [right]) |
| @@ -114,6 +127,13 @@ | |||
| 114 | (define-key map "\e[1;2F" [S-end]) | 127 | (define-key map "\e[1;2F" [S-end]) |
| 115 | (define-key map "\e[1;2H" [S-home]) | 128 | (define-key map "\e[1;2H" [S-home]) |
| 116 | 129 | ||
| 130 | (define-key map "\e[1;4A" [M-S-up]) | ||
| 131 | (define-key map "\e[1;4B" [M-S-down]) | ||
| 132 | (define-key map "\e[1;4C" [M-S-right]) | ||
| 133 | (define-key map "\e[1;4D" [M-S-left]) | ||
| 134 | (define-key map "\e[1;4F" [M-S-end]) | ||
| 135 | (define-key map "\e[1;4H" [M-S-home]) | ||
| 136 | |||
| 117 | (define-key map "\e[1;5A" [C-up]) | 137 | (define-key map "\e[1;5A" [C-up]) |
| 118 | (define-key map "\e[1;5B" [C-down]) | 138 | (define-key map "\e[1;5B" [C-down]) |
| 119 | (define-key map "\e[1;5C" [C-right]) | 139 | (define-key map "\e[1;5C" [C-right]) |
| @@ -128,6 +148,13 @@ | |||
| 128 | (define-key map "\e[1;6F" [C-S-end]) | 148 | (define-key map "\e[1;6F" [C-S-end]) |
| 129 | (define-key map "\e[1;6H" [C-S-home]) | 149 | (define-key map "\e[1;6H" [C-S-home]) |
| 130 | 150 | ||
| 151 | (define-key map "\e[1;8A" [C-M-S-up]) | ||
| 152 | (define-key map "\e[1;8B" [C-M-S-down]) | ||
| 153 | (define-key map "\e[1;8C" [C-M-S-right]) | ||
| 154 | (define-key map "\e[1;8D" [C-M-S-left]) | ||
| 155 | (define-key map "\e[1;8F" [C-M-S-end]) | ||
| 156 | (define-key map "\e[1;8H" [C-M-S-home]) | ||
| 157 | |||
| 131 | (define-key map "\e[1;3A" [A-up]) | 158 | (define-key map "\e[1;3A" [A-up]) |
| 132 | (define-key map "\e[1;3B" [A-down]) | 159 | (define-key map "\e[1;3B" [A-down]) |
| 133 | (define-key map "\e[1;3C" [A-right]) | 160 | (define-key map "\e[1;3C" [A-right]) |
| @@ -145,6 +172,11 @@ | |||
| 145 | (define-key map "\e[5;2~" [S-prior]) | 172 | (define-key map "\e[5;2~" [S-prior]) |
| 146 | (define-key map "\e[6;2~" [S-next]) | 173 | (define-key map "\e[6;2~" [S-next]) |
| 147 | 174 | ||
| 175 | (define-key map "\e[2;4~" [M-S-insert]) | ||
| 176 | (define-key map "\e[3;4~" [M-S-delete]) | ||
| 177 | (define-key map "\e[5;4~" [M-S-prior]) | ||
| 178 | (define-key map "\e[6;4~" [M-S-next]) | ||
| 179 | |||
| 148 | (define-key map "\e[2;5~" [C-insert]) | 180 | (define-key map "\e[2;5~" [C-insert]) |
| 149 | (define-key map "\e[3;5~" [C-delete]) | 181 | (define-key map "\e[3;5~" [C-delete]) |
| 150 | (define-key map "\e[5;5~" [C-prior]) | 182 | (define-key map "\e[5;5~" [C-prior]) |
| @@ -155,6 +187,11 @@ | |||
| 155 | (define-key map "\e[5;6~" [C-S-prior]) | 187 | (define-key map "\e[5;6~" [C-S-prior]) |
| 156 | (define-key map "\e[6;6~" [C-S-next]) | 188 | (define-key map "\e[6;6~" [C-S-next]) |
| 157 | 189 | ||
| 190 | (define-key map "\e[2;8~" [C-M-S-insert]) | ||
| 191 | (define-key map "\e[3;8~" [C-M-S-delete]) | ||
| 192 | (define-key map "\e[5;8~" [C-M-S-prior]) | ||
| 193 | (define-key map "\e[6;8~" [C-M-S-next]) | ||
| 194 | |||
| 158 | (define-key map "\e[2;3~" [A-insert]) | 195 | (define-key map "\e[2;3~" [A-insert]) |
| 159 | (define-key map "\e[3;3~" [A-delete]) | 196 | (define-key map "\e[3;3~" [A-delete]) |
| 160 | (define-key map "\e[5;3~" [A-prior]) | 197 | (define-key map "\e[5;3~" [A-prior]) |
| @@ -204,7 +241,7 @@ | |||
| 204 | (define-key map "\e[27;6;37~" [?\C-%]) | 241 | (define-key map "\e[27;6;37~" [?\C-%]) |
| 205 | (define-key map "\e[27;6;38~" [?\C-&]) | 242 | (define-key map "\e[27;6;38~" [?\C-&]) |
| 206 | (define-key map "\e[27;6;40~" [?\C-(]) | 243 | (define-key map "\e[27;6;40~" [?\C-(]) |
| 207 | (define-key map "\e[27;6;41~" [?\C-)]) | 244 | (define-key map "\e[27;6;41~" [?\C-)]) |
| 208 | (define-key map "\e[27;6;42~" [?\C-*]) | 245 | (define-key map "\e[27;6;42~" [?\C-*]) |
| 209 | (define-key map "\e[27;6;43~" [?\C-+]) | 246 | (define-key map "\e[27;6;43~" [?\C-+]) |
| 210 | (define-key map "\e[27;6;58~" [?\C-:]) | 247 | (define-key map "\e[27;6;58~" [?\C-:]) |