| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
(defun terminal-init-xterm () |
|---|
| 31 |
"Terminal initialization function for xterm." |
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 |
(if (and (getenv "COLORTERM") |
|---|
| 36 |
(string-match "\\`rxvt" (getenv "COLORTERM"))) |
|---|
| 37 |
(progn |
|---|
| 38 |
(eval-and-compile (load "term/rxvt")) |
|---|
| 39 |
(terminal-init-rxvt)) |
|---|
| 40 |
|
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 |
|
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 |
(substitute-key-definition [f13] [S-f1] function-key-map) |
|---|
| 50 |
(substitute-key-definition [f14] [S-f2] function-key-map) |
|---|
| 51 |
(substitute-key-definition [f15] [S-f3] function-key-map) |
|---|
| 52 |
(substitute-key-definition [f16] [S-f4] function-key-map) |
|---|
| 53 |
(substitute-key-definition [f17] [S-f5] function-key-map) |
|---|
| 54 |
(substitute-key-definition [f18] [S-f6] function-key-map) |
|---|
| 55 |
(substitute-key-definition [f19] [S-f7] function-key-map) |
|---|
| 56 |
(substitute-key-definition [f20] [S-f8] function-key-map) |
|---|
| 57 |
(substitute-key-definition [f21] [S-f9] function-key-map) |
|---|
| 58 |
(substitute-key-definition [f22] [S-f10] function-key-map) |
|---|
| 59 |
(substitute-key-definition [f23] [S-f11] function-key-map) |
|---|
| 60 |
(substitute-key-definition [f24] [S-f12] function-key-map) |
|---|
| 61 |
|
|---|
| 62 |
(substitute-key-definition [f25] [C-f1] function-key-map) |
|---|
| 63 |
(substitute-key-definition [f26] [C-f2] function-key-map) |
|---|
| 64 |
(substitute-key-definition [f27] [C-f3] function-key-map) |
|---|
| 65 |
(substitute-key-definition [f28] [C-f4] function-key-map) |
|---|
| 66 |
(substitute-key-definition [f29] [C-f5] function-key-map) |
|---|
| 67 |
(substitute-key-definition [f30] [C-f6] function-key-map) |
|---|
| 68 |
(substitute-key-definition [f31] [C-f7] function-key-map) |
|---|
| 69 |
(substitute-key-definition [f32] [C-f8] function-key-map) |
|---|
| 70 |
(substitute-key-definition [f33] [C-f9] function-key-map) |
|---|
| 71 |
(substitute-key-definition [f34] [C-f10] function-key-map) |
|---|
| 72 |
(substitute-key-definition [f35] [C-f11] function-key-map) |
|---|
| 73 |
(substitute-key-definition [f36] [C-f12] function-key-map) |
|---|
| 74 |
|
|---|
| 75 |
(substitute-key-definition [f37] [C-S-f1] function-key-map) |
|---|
| 76 |
(substitute-key-definition [f38] [C-S-f2] function-key-map) |
|---|
| 77 |
(substitute-key-definition [f39] [C-S-f3] function-key-map) |
|---|
| 78 |
(substitute-key-definition [f40] [C-S-f4] function-key-map) |
|---|
| 79 |
(substitute-key-definition [f41] [C-S-f5] function-key-map) |
|---|
| 80 |
(substitute-key-definition [f42] [C-S-f6] function-key-map) |
|---|
| 81 |
(substitute-key-definition [f43] [C-S-f7] function-key-map) |
|---|
| 82 |
(substitute-key-definition [f44] [C-S-f8] function-key-map) |
|---|
| 83 |
(substitute-key-definition [f45] [C-S-f9] function-key-map) |
|---|
| 84 |
(substitute-key-definition [f46] [C-S-f10] function-key-map) |
|---|
| 85 |
(substitute-key-definition [f47] [C-S-f11] function-key-map) |
|---|
| 86 |
(substitute-key-definition [f48] [C-S-f12] function-key-map) |
|---|
| 87 |
|
|---|
| 88 |
(substitute-key-definition [f49] [A-f1] function-key-map) |
|---|
| 89 |
(substitute-key-definition [f50] [A-f2] function-key-map) |
|---|
| 90 |
(substitute-key-definition [f51] [A-f3] function-key-map) |
|---|
| 91 |
(substitute-key-definition [f52] [A-f4] function-key-map) |
|---|
| 92 |
(substitute-key-definition [f53] [A-f5] function-key-map) |
|---|
| 93 |
(substitute-key-definition [f54] [A-f6] function-key-map) |
|---|
| 94 |
(substitute-key-definition [f55] [A-f7] function-key-map) |
|---|
| 95 |
(substitute-key-definition [f56] [A-f8] function-key-map) |
|---|
| 96 |
(substitute-key-definition [f57] [A-f9] function-key-map) |
|---|
| 97 |
(substitute-key-definition [f58] [A-f10] function-key-map) |
|---|
| 98 |
(substitute-key-definition [f59] [A-f11] function-key-map) |
|---|
| 99 |
(substitute-key-definition [f60] [A-f12] function-key-map) |
|---|
| 100 |
|
|---|
| 101 |
(let ((map (make-sparse-keymap))) |
|---|
| 102 |
|
|---|
| 103 |
(define-key map "\eOP" [f1]) |
|---|
| 104 |
(define-key map "\eOQ" [f2]) |
|---|
| 105 |
(define-key map "\eOR" [f3]) |
|---|
| 106 |
(define-key map "\eOS" [f4]) |
|---|
| 107 |
(define-key map "\e[15~" [f5]) |
|---|
| 108 |
(define-key map "\e[17~" [f6]) |
|---|
| 109 |
(define-key map "\e[18~" [f7]) |
|---|
| 110 |
(define-key map "\e[19~" [f8]) |
|---|
| 111 |
(define-key map "\e[20~" [f9]) |
|---|
| 112 |
(define-key map "\e[21~" [f10]) |
|---|
| 113 |
(define-key map "\e[23~" [f11]) |
|---|
| 114 |
(define-key map "\e[24~" [f12]) |
|---|
| 115 |
|
|---|
| 116 |
(define-key map "\eO2P" [S-f1]) |
|---|
| 117 |
(define-key map "\eO2Q" [S-f2]) |
|---|
| 118 |
(define-key map "\eO2R" [S-f3]) |
|---|
| 119 |
(define-key map "\eO2S" [S-f4]) |
|---|
| 120 |
(define-key map "\e[1;2P" [S-f1]) |
|---|
| 121 |
(define-key map "\e[1;2Q" [S-f2]) |
|---|
| 122 |
(define-key map "\e[1;2R" [S-f3]) |
|---|
| 123 |
(define-key map "\e[1;2S" [S-f4]) |
|---|
| 124 |
(define-key map "\e[15;2~" [S-f5]) |
|---|
| 125 |
(define-key map "\e[17;2~" [S-f6]) |
|---|
| 126 |
(define-key map "\e[18;2~" [S-f7]) |
|---|
| 127 |
(define-key map "\e[19;2~" [S-f8]) |
|---|
| 128 |
(define-key map "\e[20;2~" [S-f9]) |
|---|
| 129 |
(define-key map "\e[21;2~" [S-f10]) |
|---|
| 130 |
(define-key map "\e[23;2~" [S-f11]) |
|---|
| 131 |
(define-key map "\e[24;2~" [S-f12]) |
|---|
| 132 |
|
|---|
| 133 |
(define-key map "\eO5P" [C-f1]) |
|---|
| 134 |
(define-key map "\eO5Q" [C-f2]) |
|---|
| 135 |
(define-key map "\eO5R" [C-f3]) |
|---|
| 136 |
(define-key map "\eO5S" [C-f4]) |
|---|
| 137 |
(define-key map "\e[15;5~" [C-f5]) |
|---|
| 138 |
(define-key map "\e[17;5~" [C-f6]) |
|---|
| 139 |
(define-key map "\e[18;5~" [C-f7]) |
|---|
| 140 |
(define-key map "\e[19;5~" [C-f8]) |
|---|
| 141 |
(define-key map "\e[20;5~" [C-f9]) |
|---|
| 142 |
(define-key map "\e[21;5~" [C-f10]) |
|---|
| 143 |
(define-key map "\e[23;5~" [C-f11]) |
|---|
| 144 |
(define-key map "\e[24;5~" [C-f12]) |
|---|
| 145 |
|
|---|
| 146 |
(define-key map "\eO6P" [C-S-f1]) |
|---|
| 147 |
(define-key map "\eO6Q" [C-S-f2]) |
|---|
| 148 |
(define-key map "\eO6R" [C-S-f3]) |
|---|
| 149 |
(define-key map "\eO6S" [C-S-f4]) |
|---|
| 150 |
(define-key map "\e[15;6~" [C-S-f5]) |
|---|
| 151 |
(define-key map "\e[17;6~" [C-S-f6]) |
|---|
| 152 |
(define-key map "\e[18;6~" [C-S-f7]) |
|---|
| 153 |
(define-key map "\e[19;6~" [C-S-f8]) |
|---|
| 154 |
(define-key map "\e[20;6~" [C-S-f9]) |
|---|
| 155 |
(define-key map "\e[21;6~" [C-S-f10]) |
|---|
| 156 |
(define-key map "\e[23;6~" [C-S-f11]) |
|---|
| 157 |
(define-key map "\e[24;6~" [C-S-f12]) |
|---|
| 158 |
|
|---|
| 159 |
(define-key map "\eO3P" [A-f1]) |
|---|
| 160 |
(define-key map "\eO3Q" [A-f2]) |
|---|
| 161 |
(define-key map "\eO3R" [A-f3]) |
|---|
| 162 |
(define-key map "\eO3S" [A-f4]) |
|---|
| 163 |
(define-key map "\e[15;3~" [A-f5]) |
|---|
| 164 |
(define-key map "\e[17;3~" [A-f6]) |
|---|
| 165 |
(define-key map "\e[18;3~" [A-f7]) |
|---|
| 166 |
(define-key map "\e[19;3~" [A-f8]) |
|---|
| 167 |
(define-key map "\e[20;3~" [A-f9]) |
|---|
| 168 |
(define-key map "\e[21;3~" [A-f10]) |
|---|
| 169 |
(define-key map "\e[23;3~" [A-f11]) |
|---|
| 170 |
(define-key map "\e[24;3~" [A-f12]) |
|---|
| 171 |
|
|---|
| 172 |
(define-key map "\eO4P" [M-S-f1]) |
|---|
| 173 |
(define-key map "\eO4Q" [M-S-f2]) |
|---|
| 174 |
(define-key map "\eO4R" [M-S-f3]) |
|---|
| 175 |
(define-key map "\eO4S" [M-S-f4]) |
|---|
| 176 |
(define-key map "\e[15;4~" [M-S-f5]) |
|---|
| 177 |
(define-key map "\e[17;4~" [M-S-f6]) |
|---|
| 178 |
(define-key map "\e[18;4~" [M-S-f7]) |
|---|
| 179 |
(define-key map "\e[19;4~" [M-S-f8]) |
|---|
| 180 |
(define-key map "\e[20;4~" [M-S-f9]) |
|---|
| 181 |
(define-key map "\e[21;4~" [M-S-f10]) |
|---|
| 182 |
(define-key map "\e[23;4~" [M-S-f11]) |
|---|
| 183 |
(define-key map "\e[24;4~" [M-S-f12]) |
|---|
| 184 |
|
|---|
| 185 |
(define-key map "\eOA" [up]) |
|---|
| 186 |
(define-key map "\eOB" [down]) |
|---|
| 187 |
(define-key map "\eOC" [right]) |
|---|
| 188 |
(define-key map "\eOD" [left]) |
|---|
| 189 |
(define-key map "\eOF" [end]) |
|---|
| 190 |
(define-key map "\eOH" [home]) |
|---|
| 191 |
|
|---|
| 192 |
(define-key map "\e[1;2A" [S-up]) |
|---|
| 193 |
(define-key map "\e[1;2B" [S-down]) |
|---|
| 194 |
(define-key map "\e[1;2C" [S-right]) |
|---|
| 195 |
(define-key map "\e[1;2D" [S-left]) |
|---|
| 196 |
(define-key map "\e[1;2F" [S-end]) |
|---|
| 197 |
(define-key map "\e[1;2H" [S-home]) |
|---|
| 198 |
|
|---|
| 199 |
(define-key map "\e[1;4A" [M-S-up]) |
|---|
| 200 |
(define-key map "\e[1;4B" [M-S-down]) |
|---|
| 201 |
(define-key map "\e[1;4C" [M-S-right]) |
|---|
| 202 |
(define-key map "\e[1;4D" [M-S-left]) |
|---|
| 203 |
(define-key map "\e[1;4F" [M-S-end]) |
|---|
| 204 |
(define-key map "\e[1;4H" [M-S-home]) |
|---|
| 205 |
|
|---|
| 206 |
(define-key map "\e[1;5A" [C-up]) |
|---|
| 207 |
(define-key map "\e[1;5B" [C-down]) |
|---|
| 208 |
(define-key map "\e[1;5C" [C-right]) |
|---|
| 209 |
(define-key map "\e[1;5D" [C-left]) |
|---|
| 210 |
(define-key map "\e[1;5F" [C-end]) |
|---|
| 211 |
(define-key map "\e[1;5H" [C-home]) |
|---|
| 212 |
|
|---|
| 213 |
(define-key map "\e[1;6A" [C-S-up]) |
|---|
| 214 |
(define-key map "\e[1;6B" [C-S-down]) |
|---|
| 215 |
(define-key map "\e[1;6C" [C-S-right]) |
|---|
| 216 |
(define-key map "\e[1;6D" [C-S-left]) |
|---|
| 217 |
(define-key map "\e[1;6F" [C-S-end]) |
|---|
| 218 |
(define-key map "\e[1;6H" [C-S-home]) |
|---|
| 219 |
|
|---|
| 220 |
(define-key map "\e[1;7A" [C-M-up]) |
|---|
| 221 |
(define-key map "\e[1;7B" [C-M-down]) |
|---|
| 222 |
(define-key map "\e[1;7C" [C-M-right]) |
|---|
| 223 |
(define-key map "\e[1;7D" [C-M-left]) |
|---|
| 224 |
(define-key map "\e[1;7F" [C-M-end]) |
|---|
| 225 |
(define-key map "\e[1;7H" [C-M-home]) |
|---|
| 226 |
|
|---|
| 227 |
(define-key map "\e[1;8A" [C-M-S-up]) |
|---|
| 228 |
(define-key map "\e[1;8B" [C-M-S-down]) |
|---|
| 229 |
(define-key map "\e[1;8C" [C-M-S-right]) |
|---|
| 230 |
(define-key map "\e[1;8D" [C-M-S-left]) |
|---|
| 231 |
(define-key map "\e[1;8F" [C-M-S-end]) |
|---|
| 232 |
(define-key map "\e[1;8H" [C-M-S-home]) |
|---|
| 233 |
|
|---|
| 234 |
(define-key map "\e[1;3A" [A-up]) |
|---|
| 235 |
(define-key map "\e[1;3B" [A-down]) |
|---|
| 236 |
(define-key map "\e[1;3C" [A-right]) |
|---|
| 237 |
(define-key map "\e[1;3D" [A-left]) |
|---|
| 238 |
(define-key map "\e[1;3F" [A-end]) |
|---|
| 239 |
(define-key map "\e[1;3H" [A-home]) |
|---|
| 240 |
|
|---|
| 241 |
(define-key map "\e[2~" [insert]) |
|---|
| 242 |
(define-key map "\e[3~" [delete]) |
|---|
| 243 |
(define-key map "\e[5~" [prior]) |
|---|
| 244 |
(define-key map "\e[6~" [next]) |
|---|
| 245 |
|
|---|
| 246 |
(define-key map "\e[2;2~" [S-insert]) |
|---|
| 247 |
(define-key map "\e[3;2~" [S-delete]) |
|---|
| 248 |
(define-key map "\e[5;2~" [S-prior]) |
|---|
| 249 |
(define-key map "\e[6;2~" [S-next]) |
|---|
| 250 |
|
|---|
| 251 |
(define-key map "\e[2;4~" [M-S-insert]) |
|---|
| 252 |
(define-key map "\e[3;4~" [M-S-delete]) |
|---|
| 253 |
(define-key map "\e[5;4~" [M-S-prior]) |
|---|
| 254 |
(define-key map "\e[6;4~" [M-S-next]) |
|---|
| 255 |
|
|---|
| 256 |
(define-key map "\e[2;5~" [C-insert]) |
|---|
| 257 |
(define-key map "\e[3;5~" [C-delete]) |
|---|
| 258 |
(define-key map "\e[5;5~" [C-prior]) |
|---|
| 259 |
(define-key map "\e[6;5~" [C-next]) |
|---|
| 260 |
|
|---|
| 261 |
(define-key map "\e[2;6~" [C-S-insert]) |
|---|
| 262 |
(define-key map "\e[3;6~" [C-S-delete]) |
|---|
| 263 |
(define-key map "\e[5;6~" [C-S-prior]) |
|---|
| 264 |
(define-key map "\e[6;6~" [C-S-next]) |
|---|
| 265 |
|
|---|
| 266 |
(define-key map "\e[2;7~" [C-M-insert]) |
|---|
| 267 |
(define-key map "\e[3;7~" [C-M-delete]) |
|---|
| 268 |
(define-key map "\e[5;7~" [C-M-prior]) |
|---|
| 269 |
(define-key map "\e[6;7~" [C-M-next]) |
|---|
| 270 |
|
|---|
| 271 |
(define-key map "\e[2;8~" [C-M-S-insert]) |
|---|
| 272 |
(define-key map "\e[3;8~" [C-M-S-delete]) |
|---|
| 273 |
(define-key map "\e[5;8~" [C-M-S-prior]) |
|---|
| 274 |
(define-key map "\e[6;8~" [C-M-S-next]) |
|---|
| 275 |
|
|---|
| 276 |
(define-key map "\e[2;3~" [A-insert]) |
|---|
| 277 |
(define-key map "\e[3;3~" [A-delete]) |
|---|
| 278 |
(define-key map "\e[5;3~" [A-prior]) |
|---|
| 279 |
(define-key map "\e[6;3~" [A-next]) |
|---|
| 280 |
|
|---|
| 281 |
(define-key map "\e[4~" [select]) |
|---|
| 282 |
(define-key map "\e[29~" [print]) |
|---|
| 283 |
|
|---|
| 284 |
(define-key map "\eOj" [kp-multiply]) |
|---|
| 285 |
(define-key map "\eOk" [kp-add]) |
|---|
| 286 |
(define-key map "\eOl" [kp-separator]) |
|---|
| 287 |
(define-key map "\eOm" [kp-subtract]) |
|---|
| 288 |
(define-key map "\eOo" [kp-divide]) |
|---|
| 289 |
(define-key map "\eOp" [kp-0]) |
|---|
| 290 |
(define-key map "\eOq" [kp-1]) |
|---|
| 291 |
(define-key map "\eOr" [kp-2]) |
|---|
| 292 |
(define-key map "\eOs" [kp-3]) |
|---|
| 293 |
(define-key map "\eOt" [kp-4]) |
|---|
| 294 |
(define-key map "\eOu" [kp-5]) |
|---|
| 295 |
(define-key map "\eOv" [kp-6]) |
|---|
| 296 |
(define-key map "\eOw" [kp-7]) |
|---|
| 297 |
(define-key map "\eOx" [kp-8]) |
|---|
| 298 |
(define-key map "\eOy" [kp-9]) |
|---|
| 299 |
|
|---|
| 300 |
|
|---|
| 301 |
|
|---|
| 302 |
|
|---|
| 303 |
(define-key map "\e[27;5;9~" [C-tab]) |
|---|
| 304 |
(define-key map "\e[27;5;13~" [C-return]) |
|---|
| 305 |
(define-key map "\e[27;5;39~" [?\C-\']) |
|---|
| 306 |
(define-key map "\e[27;5;44~" [?\C-,]) |
|---|
| 307 |
(define-key map "\e[27;5;45~" [?\C--]) |
|---|
| 308 |
(define-key map "\e[27;5;46~" [?\C-.]) |
|---|
| 309 |
(define-key map "\e[27;5;47~" [?\C-/]) |
|---|
| 310 |
(define-key map "\e[27;5;48~" [?\C-0]) |
|---|
| 311 |
(define-key map "\e[27;5;49~" [?\C-1]) |
|---|
| 312 |
|
|---|
| 313 |
(define-key map "\e[27;5;57~" [?\C-9]) |
|---|
| 314 |
(define-key map "\e[27;5;59~" [?\C-\ |
|---|
| 315 |
(define-key map "\e[27;5;61~" [?\C-=]) |
|---|
| 316 |
(define-key map "\e[27;5;92~" [?\C-\\]) |
|---|
| 317 |
|
|---|
| 318 |
(define-key map "\e[27;6;33~" [?\C-!]) |
|---|
| 319 |
(define-key map "\e[27;6;34~" [?\C-\"]) |
|---|
| 320 |
(define-key map "\e[27 |
|---|
| 321 |
(define-key map "\e[27;6;36~" [?\C-$]) |
|---|
| 322 |
(define-key map "\e[27;6;37~" [?\C-%]) |
|---|
| 323 |
(define-key map "\e[27;6;38~" [?\C-&]) |
|---|
| 324 |
(define-key map "\e[27;6;40~" [?\C-\(]) |
|---|
| 325 |
(define-key map "\e[27;6;41~" [?\C-\)]) |
|---|
| 326 |
(define-key map "\e[27;6;42~" [?\C-*]) |
|---|
| 327 |
(define-key map "\e[27;6;43~" [?\C-+]) |
|---|
| 328 |
(define-key map "\e[27;6;58~" [?\C-:]) |
|---|
| 329 |
(define-key map "\e[27;6;60~" [?\C-<]) |
|---|
| 330 |
(define-key map "\e[27;6;62~" [?\C->]) |
|---|
| 331 |
(define-key map "\e[27;6;63~" [(control ??)]) |
|---|
| 332 |
|
|---|
| 333 |
|
|---|
| 334 |
|
|---|
| 335 |
|
|---|
| 336 |
(define-key map "\e[27;13;9~" [C-M-tab]) |
|---|
| 337 |
(define-key map "\e[27;13;13~" [C-M-return]) |
|---|
| 338 |
|
|---|
| 339 |
(define-key map "\e[27;13;39~" [?\C-\M-\']) |
|---|
| 340 |
(define-key map "\e[27;13;44~" [?\C-\M-,]) |
|---|
| 341 |
(define-key map "\e[27;13;45~" [?\C-\M--]) |
|---|
| 342 |
(define-key map "\e[27;13;46~" [?\C-\M-.]) |
|---|
| 343 |
(define-key map "\e[27;13;47~" [?\C-\M-/]) |
|---|
| 344 |
(define-key map "\e[27;13;48~" [?\C-\M-0]) |
|---|
| 345 |
(define-key map "\e[27;13;49~" [?\C-\M-1]) |
|---|
| 346 |
(define-key map "\e[27;13;50~" [?\C-\M-2]) |
|---|
| 347 |
(define-key map "\e[27;13;51~" [?\C-\M-3]) |
|---|
| 348 |
(define-key map "\e[27;13;52~" [?\C-\M-4]) |
|---|
| 349 |
(define-key map "\e[27;13;53~" [?\C-\M-5]) |
|---|
| 350 |
(define-key map "\e[27;13;54~" [?\C-\M-6]) |
|---|
| 351 |
(define-key map "\e[27;13;55~" [?\C-\M-7]) |
|---|
| 352 |
(define-key map "\e[27;13;56~" [?\C-\M-8]) |
|---|
| 353 |
(define-key map "\e[27;13;57~" [?\C-\M-9]) |
|---|
| 354 |
(define-key map "\e[27;13;59~" [?\C-\M-\ |
|---|
| 355 |
(define-key map "\e[27;13;61~" [?\C-\M-=]) |
|---|
| 356 |
(define-key map "\e[27;13;92~" [?\C-\M-\\]) |
|---|
| 357 |
|
|---|
| 358 |
(define-key map "\e[27;14;33~" [?\C-\M-!]) |
|---|
| 359 |
(define-key map "\e[27;14;34~" [?\C-\M-\"]) |
|---|
| 360 |
(define-key map "\e[27 |
|---|
| 361 |
(define-key map "\e[27;14;36~" [?\C-\M-$]) |
|---|
| 362 |
(define-key map "\e[27;14;37~" [?\C-\M-%]) |
|---|
| 363 |
(define-key map "\e[27;14;38~" [?\C-\M-&]) |
|---|
| 364 |
(define-key map "\e[27;14;40~" [?\C-\M-\(]) |
|---|
| 365 |
(define-key map "\e[27;14;41~" [?\C-\M-\)]) |
|---|
| 366 |
(define-key map "\e[27;14;42~" [?\C-\M-*]) |
|---|
| 367 |
(define-key map "\e[27;14;43~" [?\C-\M-+]) |
|---|
| 368 |
(define-key map "\e[27;14;58~" [?\C-\M-:]) |
|---|
| 369 |
(define-key map "\e[27;14;60~" [?\C-\M-<]) |
|---|
| 370 |
(define-key map "\e[27;14;62~" [?\C-\M->]) |
|---|
| 371 |
(define-key map "\e[27;14;63~" [(control meta ??)]) |
|---|
| 372 |
|
|---|
| 373 |
(define-key map "\e[27;7;9~" [C-M-tab]) |
|---|
| 374 |
(define-key map "\e[27;7;13~" [C-M-return]) |
|---|
| 375 |
|
|---|
| 376 |
(define-key map "\e[27;7;32~" [?\C-\M-\s]) |
|---|
| 377 |
(define-key map "\e[27;7;39~" [?\C-\M-\']) |
|---|
| 378 |
(define-key map "\e[27;7;44~" [?\C-\M-,]) |
|---|
| 379 |
(define-key map "\e[27;7;45~" [?\C-\M--]) |
|---|
| 380 |
(define-key map "\e[27;7;46~" [?\C-\M-.]) |
|---|
| 381 |
(define-key map "\e[27;7;47~" [?\C-\M-/]) |
|---|
| 382 |
(define-key map "\e[27;7;48~" [?\C-\M-0]) |
|---|
| 383 |
(define-key map "\e[27;7;49~" [?\C-\M-1]) |
|---|
| 384 |
(define-key map "\e[27;7;50~" [?\C-\M-2]) |
|---|
| 385 |
(define-key map "\e[27;7;51~" [?\C-\M-3]) |
|---|
| 386 |
(define-key map "\e[27;7;52~" [?\C-\M-4]) |
|---|
| 387 |
(define-key map "\e[27;7;53~" [?\C-\M-5]) |
|---|
| 388 |
(define-key map "\e[27;7;54~" [?\C-\M-6]) |
|---|
| 389 |
(define-key map "\e[27;7;55~" [?\C-\M-7]) |
|---|
| 390 |
(define-key map "\e[27;7;56~" [?\C-\M-8]) |
|---|
| 391 |
(define-key map "\e[27;7;57~" [?\C-\M-9]) |
|---|
| 392 |
(define-key map "\e[27;7;59~" [?\C-\M-\ |
|---|
| 393 |
(define-key map "\e[27;7;61~" [?\C-\M-=]) |
|---|
| 394 |
(define-key map "\e[27;7;92~" [?\C-\M-\\]) |
|---|
| 395 |
|
|---|
| 396 |
(define-key map "\e[27;8;33~" [?\C-\M-!]) |
|---|
| 397 |
(define-key map "\e[27;8;34~" [?\C-\M-\"]) |
|---|
| 398 |
(define-key map "\e[27 |
|---|
| 399 |
(define-key map "\e[27;8;36~" [?\C-\M-$]) |
|---|
| 400 |
(define-key map "\e[27;8;37~" [?\C-\M-%]) |
|---|
| 401 |
(define-key map "\e[27;8;38~" [?\C-\M-&]) |
|---|
| 402 |
(define-key map "\e[27;8;40~" [?\C-\M-\(]) |
|---|
| 403 |
(define-key map "\e[27;8;41~" [?\C-\M-\)]) |
|---|
| 404 |
(define-key map "\e[27;8;42~" [?\C-\M-*]) |
|---|
| 405 |
(define-key map "\e[27;8;43~" [?\C-\M-+]) |
|---|
| 406 |
(define-key map "\e[27;8;58~" [?\C-\M-:]) |
|---|
| 407 |
(define-key map "\e[27;8;60~" [?\C-\M-<]) |
|---|
| 408 |
(define-key map "\e[27;8;62~" [?\C-\M->]) |
|---|
| 409 |
(define-key map "\e[27;8;63~" [(control meta ??)]) |
|---|
| 410 |
|
|---|
| 411 |
(define-key map "\e[27;2;9~" [S-tab]) |
|---|
| 412 |
(define-key map "\e[27;2;13~" [S-return]) |
|---|
| 413 |
|
|---|
| 414 |
(define-key map "\e[27;6;9~" [C-S-tab]) |
|---|
| 415 |
(define-key map "\e[27;6;13~" [C-S-return]) |
|---|
| 416 |
|
|---|
| 417 |
|
|---|
| 418 |
(define-key map "\e[A" [up]) |
|---|
| 419 |
(define-key map "\e[B" [down]) |
|---|
| 420 |
(define-key map "\e[C" [right]) |
|---|
| 421 |
(define-key map "\e[D" [left]) |
|---|
| 422 |
(define-key map "\e[1~" [home]) |
|---|
| 423 |
|
|---|
| 424 |
(define-key map "\eO2A" [S-up]) |
|---|
| 425 |
(define-key map "\eO2B" [S-down]) |
|---|
| 426 |
(define-key map "\eO2C" [S-right]) |
|---|
| 427 |
(define-key map "\eO2D" [S-left]) |
|---|
| 428 |
(define-key map "\eO2F" [S-end]) |
|---|
| 429 |
(define-key map "\eO2H" [S-home]) |
|---|
| 430 |
|
|---|
| 431 |
(define-key map "\eO5A" [C-up]) |
|---|
| 432 |
(define-key map "\eO5B" [C-down]) |
|---|
| 433 |
(define-key map "\eO5C" [C-right]) |
|---|
| 434 |
(define-key map "\eO5D" [C-left]) |
|---|
| 435 |
(define-key map "\eO5F" [C-end]) |
|---|
| 436 |
(define-key map "\eO5H" [C-home]) |
|---|
| 437 |
|
|---|
| 438 |
(define-key map "\e[11~" [f1]) |
|---|
| 439 |
(define-key map "\e[12~" [f2]) |
|---|
| 440 |
(define-key map "\e[13~" [f3]) |
|---|
| 441 |
(define-key map "\e[14~" [f4]) |
|---|
| 442 |
|
|---|
| 443 |
|
|---|
| 444 |
|
|---|
| 445 |
|
|---|
| 446 |
(set-keymap-parent map (keymap-parent function-key-map)) |
|---|
| 447 |
(set-keymap-parent function-key-map map)) |
|---|
| 448 |
|
|---|
| 449 |
|
|---|
| 450 |
(xterm-register-default-colors) |
|---|
| 451 |
|
|---|
| 452 |
(tty-set-up-initial-frame-faces))) |
|---|
| 453 |
|
|---|
| 454 |
|
|---|
| 455 |
(defvar xterm-standard-colors |
|---|
| 456 |
|
|---|
| 457 |
|
|---|
| 458 |
|
|---|
| 459 |
'(("black" 0 ( 0 0 0)) |
|---|
| 460 |
("red" 1 (205 0 0)) |
|---|
| 461 |
("green" 2 ( 0 205 0)) |
|---|
| 462 |
("yellow" 3 (205 205 0)) |
|---|
| 463 |
("blue" 4 ( 0 0 238)) |
|---|
| 464 |
("magenta" 5 (205 0 205)) |
|---|
| 465 |
("cyan" 6 ( 0 205 205)) |
|---|
| 466 |
("white" 7 (229 229 229)) |
|---|
| 467 |
("brightblack" 8 (127 127 127)) |
|---|
| 468 |
("brightred" 9 (255 0 0)) |
|---|
| 469 |
("brightgreen" 10 ( 0 255 0)) |
|---|
| 470 |
("brightyellow" 11 (255 255 0)) |
|---|
| 471 |
("brightblue" 12 (92 92 255)) |
|---|
| 472 |
("brightmagenta" 13 (255 0 255)) |
|---|
| 473 |
("brightcyan" 14 ( 0 255 255)) |
|---|
| 474 |
("brightwhite" 15 (255 255 255))) |
|---|
| 475 |
"Names of 16 standard xterm/aixterm colors, their numbers, and RGB values.") |
|---|
| 476 |
|
|---|
| 477 |
(defun xterm-rgb-convert-to-16bit (prim) |
|---|
| 478 |
"Convert an 8-bit primary color value PRIM to a corresponding 16-bit value." |
|---|
| 479 |
(logior prim (lsh prim 8))) |
|---|
| 480 |
|
|---|
| 481 |
(defun xterm-register-default-colors () |
|---|
| 482 |
"Register the default set of colors for xterm or compatible emulator. |
|---|
| 483 |
|
|---|
| 484 |
This function registers the number of colors returned by `display-color-cells' |
|---|
| 485 |
for the currently selected frame. The first 16 colors are taken from |
|---|
| 486 |
`xterm-standard-colors', which see, while the rest are computed assuming |
|---|
| 487 |
either the 88- or 256-color standard color scheme supported by latest |
|---|
| 488 |
versions of xterm." |
|---|
| 489 |
(let* ((ncolors (display-color-cells)) |
|---|
| 490 |
(colors xterm-standard-colors) |
|---|
| 491 |
(color (car colors))) |
|---|
| 492 |
(if (> ncolors 0) |
|---|
| 493 |
|
|---|
| 494 |
(tty-color-clear)) |
|---|
| 495 |
|
|---|
| 496 |
(while (and (> ncolors 0) colors) |
|---|
| 497 |
(tty-color-define (car color) (cadr color) |
|---|
| 498 |
(mapcar 'xterm-rgb-convert-to-16bit |
|---|
| 499 |
(car (cddr color)))) |
|---|
| 500 |
(setq colors (cdr colors) |
|---|
| 501 |
color (car colors) |
|---|
| 502 |
ncolors (1- ncolors))) |
|---|
| 503 |
|
|---|
| 504 |
|
|---|
| 505 |
(when (> ncolors 0) |
|---|
| 506 |
(cond |
|---|
| 507 |
((= ncolors 240) |
|---|
| 508 |
|
|---|
| 509 |
(let ((r 0) (g 0) (b 0)) |
|---|
| 510 |
(while (> ncolors 24) |
|---|
| 511 |
|
|---|
| 512 |
|
|---|
| 513 |
(tty-color-define (format "color-%d" (- 256 ncolors)) |
|---|
| 514 |
(- 256 ncolors) |
|---|
| 515 |
(mapcar 'xterm-rgb-convert-to-16bit |
|---|
| 516 |
(list (if (zerop r) 0 (+ (* r 40) 55)) |
|---|
| 517 |
(if (zerop g) 0 (+ (* g 40) 55)) |
|---|
| 518 |
(if (zerop b) 0 (+ (* b 40) 55))))) |
|---|
| 519 |
|
|---|
| 520 |
(setq b (1+ b)) |
|---|
| 521 |
(if (> b 5) |
|---|
| 522 |
(setq g (1+ g) |
|---|
| 523 |
b 0)) |
|---|
| 524 |
(if (> g 5) |
|---|
| 525 |
(setq r (1+ r) |
|---|
| 526 |
g 0)) |
|---|
| 527 |
(setq ncolors (1- ncolors)))) |
|---|
| 528 |
|
|---|
| 529 |
(while (> ncolors 0) |
|---|
| 530 |
(setq color (xterm-rgb-convert-to-16bit (+ 8 (* (- 24 ncolors) 10)))) |
|---|
| 531 |
(tty-color-define (format "color-%d" (- 256 ncolors)) |
|---|
| 532 |
(- 256 ncolors) |
|---|
| 533 |
(list color color color)) |
|---|
| 534 |
(setq ncolors (1- ncolors)))) |
|---|
| 535 |
((= ncolors 72) |
|---|
| 536 |
|
|---|
| 537 |
(let ((levels '(0 139 205 255)) |
|---|
| 538 |
(r 0) (g 0) (b 0)) |
|---|
| 539 |
(while (> ncolors 8) |
|---|
| 540 |
(tty-color-define (format "color-%d" (- 88 ncolors)) |
|---|
| 541 |
(- 88 ncolors) |
|---|
| 542 |
(mapcar 'xterm-rgb-convert-to-16bit |
|---|
| 543 |
(list (nth r levels) |
|---|
| 544 |
(nth g levels) |
|---|
| 545 |
(nth b levels)))) |
|---|
| 546 |
(setq b (1+ b)) |
|---|
| 547 |
(if (> b 3) |
|---|
| 548 |
(setq g (1+ g) |
|---|
| 549 |
b 0)) |
|---|
| 550 |
(if (> g 3) |
|---|
| 551 |
(setq r (1+ r) |
|---|
| 552 |
g 0)) |
|---|
| 553 |
(setq ncolors (1- ncolors)))) |
|---|
| 554 |
|
|---|
| 555 |
(while (> ncolors 0) |
|---|
| 556 |
(setq color (xterm-rgb-convert-to-16bit |
|---|
| 557 |
(floor |
|---|
| 558 |
(if (= ncolors 8) |
|---|
| 559 |
46.36363636 |
|---|
| 560 |
(+ (* (- 8 ncolors) 23.18181818) 69.54545454))))) |
|---|
| 561 |
(tty-color-define (format "color-%d" (- 88 ncolors)) |
|---|
| 562 |
(- 88 ncolors) |
|---|
| 563 |
(list color color color)) |
|---|
| 564 |
(setq ncolors (1- ncolors)))) |
|---|
| 565 |
(t (error "Unsupported number of xterm colors (%d)" (+ 16 ncolors))))) |
|---|
| 566 |
|
|---|
| 567 |
|
|---|
| 568 |
(clear-face-cache))) |
|---|
| 569 |
|
|---|
| 570 |
|
|---|
| 571 |
|
|---|
| 572 |
|
|---|