diff options
| author | Dan Nicolaescu | 2005-04-26 05:56:22 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 2005-04-26 05:56:22 +0000 |
| commit | 35b1b8abe3d3833ecb4b4cee75b7340ffb707d65 (patch) | |
| tree | c2652220dd9d757b949ef4935826000fc0e946e4 | |
| parent | bc10bcbd5d4d12a67ba4d868c588b49db4ea90fa (diff) | |
| download | emacs-35b1b8abe3d3833ecb4b4cee75b7340ffb707d65.tar.gz emacs-35b1b8abe3d3833ecb4b4cee75b7340ffb707d65.zip | |
* NEWS: Mention xterm key bindings.
* term/xterm.el (function-key-map): Fix strings for
{C,S,A,C-S}-f[1-4]. Use substitute-key-definition to bind
{C,S,A,C-S}-{f1-f12}.
| -rw-r--r-- | etc/ChangeLog | 2 | ||||
| -rw-r--r-- | etc/NEWS | 7 | ||||
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/term/xterm.el | 97 |
4 files changed, 96 insertions, 16 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index b7a470f9618..0117b1a949d 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2005-04-25 Dan Nicolaescu <dann@ics.uci.edu> | 1 | 2005-04-25 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 2 | ||
| 3 | * NEWS: Mention xterm key bindings. | ||
| 4 | |||
| 3 | * e/eterm.ti: Add a comment. | 5 | * e/eterm.ti: Add a comment. |
| 4 | * e/eterm: Regenerate. | 6 | * e/eterm: Regenerate. |
| 5 | 7 | ||
| @@ -107,6 +107,13 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | |||
| 107 | 107 | ||
| 108 | * Changes in Emacs 22.1 | 108 | * Changes in Emacs 22.1 |
| 109 | 109 | ||
| 110 | ** Improved key bindings support when running in an xterm. | ||
| 111 | When emacs is running in an xterm more key bindings are available. The | ||
| 112 | following should work: | ||
| 113 | {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. | ||
| 114 | These key bindings work on xterm from X.org 6.8, they might not work on | ||
| 115 | some older versions of xterm, or on some proprietary versions. | ||
| 116 | |||
| 110 | ** Improved Thai support. A new minor mode `thai-word-mode' (which is | 117 | ** Improved Thai support. A new minor mode `thai-word-mode' (which is |
| 111 | automatically activated if you select Thai as a language | 118 | automatically activated if you select Thai as a language |
| 112 | environment) changes key bindings of most word-oriented commands to | 119 | environment) changes key bindings of most word-oriented commands to |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bd04dfb19fc..1e08f220182 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2005-04-25 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * term/xterm.el (function-key-map): Fix strings for | ||
| 4 | {C,S,A,C-S}-f[1-4]. Use substitute-key-definition to bind | ||
| 5 | {C,S,A,C-S}-{f1-f12}. | ||
| 6 | |||
| 1 | 2005-04-26 Kenichi Handa <handa@m17n.org> | 7 | 2005-04-26 Kenichi Handa <handa@m17n.org> |
| 2 | 8 | ||
| 3 | * international/mule-cmds.el (select-safe-coding-system): Fix | 9 | * international/mule-cmds.el (select-safe-coding-system): Fix |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index 23a25dee827..389611c0a49 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -51,10 +51,15 @@ | |||
| 51 | (define-key map "\e[24~" [f12]) | 51 | (define-key map "\e[24~" [f12]) |
| 52 | (define-key map "\e[29~" [print]) | 52 | (define-key map "\e[29~" [print]) |
| 53 | 53 | ||
| 54 | (define-key map "\e[11;2~" [S-f1]) | 54 | (define-key map "\eOP" [f1]) |
| 55 | (define-key map "\e[12;2~" [S-f2]) | 55 | (define-key map "\eOQ" [f2]) |
| 56 | (define-key map "\e[13;2~" [S-f3]) | 56 | (define-key map "\eOR" [f3]) |
| 57 | (define-key map "\e[14;2~" [S-f4]) | 57 | (define-key map "\eOS" [f4]) |
| 58 | |||
| 59 | (define-key map "\eO2P" [S-f1]) | ||
| 60 | (define-key map "\eO2Q" [S-f2]) | ||
| 61 | (define-key map "\eO2R" [S-f3]) | ||
| 62 | (define-key map "\eO2S" [S-f4]) | ||
| 58 | (define-key map "\e[15;2~" [S-f5]) | 63 | (define-key map "\e[15;2~" [S-f5]) |
| 59 | (define-key map "\e[17;2~" [S-f6]) | 64 | (define-key map "\e[17;2~" [S-f6]) |
| 60 | (define-key map "\e[18;2~" [S-f7]) | 65 | (define-key map "\e[18;2~" [S-f7]) |
| @@ -64,10 +69,10 @@ | |||
| 64 | (define-key map "\e[23;2~" [S-f11]) | 69 | (define-key map "\e[23;2~" [S-f11]) |
| 65 | (define-key map "\e[24;2~" [S-f12]) | 70 | (define-key map "\e[24;2~" [S-f12]) |
| 66 | 71 | ||
| 67 | (define-key map "\e[11;5~" [C-f1]) | 72 | (define-key map "\eO5P" [C-f1]) |
| 68 | (define-key map "\e[12;5~" [C-f2]) | 73 | (define-key map "\eO5Q" [C-f2]) |
| 69 | (define-key map "\e[13;5~" [C-f3]) | 74 | (define-key map "\eO5R" [C-f3]) |
| 70 | (define-key map "\e[14;5~" [C-f4]) | 75 | (define-key map "\eO5S" [C-f4]) |
| 71 | (define-key map "\e[15;5~" [C-f5]) | 76 | (define-key map "\e[15;5~" [C-f5]) |
| 72 | (define-key map "\e[17;5~" [C-f6]) | 77 | (define-key map "\e[17;5~" [C-f6]) |
| 73 | (define-key map "\e[18;5~" [C-f7]) | 78 | (define-key map "\e[18;5~" [C-f7]) |
| @@ -77,10 +82,10 @@ | |||
| 77 | (define-key map "\e[23;5~" [C-f11]) | 82 | (define-key map "\e[23;5~" [C-f11]) |
| 78 | (define-key map "\e[24;5~" [C-f12]) | 83 | (define-key map "\e[24;5~" [C-f12]) |
| 79 | 84 | ||
| 80 | (define-key map "\e[11;6~" [C-S-f1]) | 85 | (define-key map "\eO6P" [C-S-f1]) |
| 81 | (define-key map "\e[12;6~" [C-S-f2]) | 86 | (define-key map "\eO6Q" [C-S-f2]) |
| 82 | (define-key map "\e[13;6~" [C-S-f3]) | 87 | (define-key map "\eO6R" [C-S-f3]) |
| 83 | (define-key map "\e[14;6~" [C-S-f4]) | 88 | (define-key map "\eO6S" [C-S-f4]) |
| 84 | (define-key map "\e[15;6~" [C-S-f5]) | 89 | (define-key map "\e[15;6~" [C-S-f5]) |
| 85 | (define-key map "\e[17;6~" [C-S-f6]) | 90 | (define-key map "\e[17;6~" [C-S-f6]) |
| 86 | (define-key map "\e[18;6~" [C-S-f7]) | 91 | (define-key map "\e[18;6~" [C-S-f7]) |
| @@ -90,10 +95,10 @@ | |||
| 90 | (define-key map "\e[23;6~" [C-S-f11]) | 95 | (define-key map "\e[23;6~" [C-S-f11]) |
| 91 | (define-key map "\e[24;6~" [C-S-f12]) | 96 | (define-key map "\e[24;6~" [C-S-f12]) |
| 92 | 97 | ||
| 93 | (define-key map "\e[11;3~" [A-f1]) | 98 | (define-key map "\eO3P" [A-f1]) |
| 94 | (define-key map "\e[12;3~" [A-f2]) | 99 | (define-key map "\eO3Q" [A-f2]) |
| 95 | (define-key map "\e[13;3~" [A-f3]) | 100 | (define-key map "\eO3R" [A-f3]) |
| 96 | (define-key map "\e[14;3~" [A-f4]) | 101 | (define-key map "\eO3S" [A-f4]) |
| 97 | (define-key map "\e[15;3~" [A-f5]) | 102 | (define-key map "\e[15;3~" [A-f5]) |
| 98 | (define-key map "\e[17;3~" [A-f6]) | 103 | (define-key map "\e[17;3~" [A-f6]) |
| 99 | (define-key map "\e[18;3~" [A-f7]) | 104 | (define-key map "\e[18;3~" [A-f7]) |
| @@ -178,6 +183,66 @@ | |||
| 178 | (set-keymap-parent map (keymap-parent function-key-map)) | 183 | (set-keymap-parent map (keymap-parent function-key-map)) |
| 179 | (set-keymap-parent function-key-map map)) | 184 | (set-keymap-parent function-key-map map)) |
| 180 | 185 | ||
| 186 | ;;; The terminal intialization C code file might have initialized | ||
| 187 | ;;; function keys F13->F60 from the termcap/terminfo information. On | ||
| 188 | ;;; a PC-style keyboard these keys correspond to | ||
| 189 | ;;; MODIFIER-FUNCTION_KEY, where modifier is S-, C, A-, C-S-. The | ||
| 190 | ;;; code here subsitutes the corresponding defintions in | ||
| 191 | ;;; function-key-map. This substitution is needed because if a key | ||
| 192 | ;;; definition if found in function-key-map, there are no further | ||
| 193 | ;;; lookups in other keymaps. | ||
| 194 | (substitute-key-definition [f13] [S-f1] function-key-map) | ||
| 195 | (substitute-key-definition [f14] [S-f2] function-key-map) | ||
| 196 | (substitute-key-definition [f15] [S-f3] function-key-map) | ||
| 197 | (substitute-key-definition [f16] [S-f4] function-key-map) | ||
| 198 | (substitute-key-definition [f17] [S-f5] function-key-map) | ||
| 199 | (substitute-key-definition [f18] [S-f6] function-key-map) | ||
| 200 | (substitute-key-definition [f19] [S-f7] function-key-map) | ||
| 201 | (substitute-key-definition [f20] [S-f8] function-key-map) | ||
| 202 | (substitute-key-definition [f21] [S-f9] function-key-map) | ||
| 203 | (substitute-key-definition [f22] [S-f10] function-key-map) | ||
| 204 | (substitute-key-definition [f23] [S-f11] function-key-map) | ||
| 205 | (substitute-key-definition [f24] [S-f12] function-key-map) | ||
| 206 | |||
| 207 | (substitute-key-definition [f25] [C-f1] function-key-map) | ||
| 208 | (substitute-key-definition [f26] [C-f2] function-key-map) | ||
| 209 | (substitute-key-definition [f27] [C-f3] function-key-map) | ||
| 210 | (substitute-key-definition [f28] [C-f4] function-key-map) | ||
| 211 | (substitute-key-definition [f29] [C-f5] function-key-map) | ||
| 212 | (substitute-key-definition [f30] [C-f6] function-key-map) | ||
| 213 | (substitute-key-definition [f31] [C-f7] function-key-map) | ||
| 214 | (substitute-key-definition [f32] [C-f8] function-key-map) | ||
| 215 | (substitute-key-definition [f33] [C-f9] function-key-map) | ||
| 216 | (substitute-key-definition [f34] [C-f10] function-key-map) | ||
| 217 | (substitute-key-definition [f35] [C-f11] function-key-map) | ||
| 218 | (substitute-key-definition [f36] [C-f12] function-key-map) | ||
| 219 | |||
| 220 | (substitute-key-definition [f37] [C-S-f1] function-key-map) | ||
| 221 | (substitute-key-definition [f38] [C-S-f2] function-key-map) | ||
| 222 | (substitute-key-definition [f39] [C-S-f3] function-key-map) | ||
| 223 | (substitute-key-definition [f40] [C-S-f4] function-key-map) | ||
| 224 | (substitute-key-definition [f41] [C-S-f5] function-key-map) | ||
| 225 | (substitute-key-definition [f42] [C-S-f6] function-key-map) | ||
| 226 | (substitute-key-definition [f43] [C-S-f7] function-key-map) | ||
| 227 | (substitute-key-definition [f44] [C-S-f8] function-key-map) | ||
| 228 | (substitute-key-definition [f45] [C-S-f9] function-key-map) | ||
| 229 | (substitute-key-definition [f46] [C-S-f10] function-key-map) | ||
| 230 | (substitute-key-definition [f47] [C-S-f11] function-key-map) | ||
| 231 | (substitute-key-definition [f48] [C-S-f12] function-key-map) | ||
| 232 | |||
| 233 | (substitute-key-definition [f49] [A-f1] function-key-map) | ||
| 234 | (substitute-key-definition [f50] [A-f2] function-key-map) | ||
| 235 | (substitute-key-definition [f51] [A-f3] function-key-map) | ||
| 236 | (substitute-key-definition [f52] [A-f4] function-key-map) | ||
| 237 | (substitute-key-definition [f53] [A-f5] function-key-map) | ||
| 238 | (substitute-key-definition [f54] [A-f6] function-key-map) | ||
| 239 | (substitute-key-definition [f55] [A-f7] function-key-map) | ||
| 240 | (substitute-key-definition [f56] [A-f8] function-key-map) | ||
| 241 | (substitute-key-definition [f57] [A-f9] function-key-map) | ||
| 242 | (substitute-key-definition [f58] [A-f10] function-key-map) | ||
| 243 | (substitute-key-definition [f59] [A-f11] function-key-map) | ||
| 244 | (substitute-key-definition [f60] [A-f12] function-key-map) | ||
| 245 | |||
| 181 | ;; Set up colors, for those versions of xterm that support it. | 246 | ;; Set up colors, for those versions of xterm that support it. |
| 182 | (defvar xterm-standard-colors | 247 | (defvar xterm-standard-colors |
| 183 | ;; The names in the comments taken from XTerm-col.ad in the xterm | 248 | ;; The names in the comments taken from XTerm-col.ad in the xterm |