diff options
| author | Jason Rumney | 2007-11-21 03:39:33 +0000 |
|---|---|---|
| committer | Jason Rumney | 2007-11-21 03:39:33 +0000 |
| commit | 716eb5749c1730de53675f4040d1e6d3fc9a2d25 (patch) | |
| tree | b5f76c205d29d2d7aca1b56f8e61136272d0fdd8 | |
| parent | a3481da1fb3238ee6e5074383e76893ccdfc476e (diff) | |
| download | emacs-716eb5749c1730de53675f4040d1e6d3fc9a2d25.tar.gz emacs-716eb5749c1730de53675f4040d1e6d3fc9a2d25.zip | |
(x-alternatives-map): Copy from term/x-win.el.
(x-setup-function-keys): Likewise, replacing top-level key definitions.
(w32-tty-standard-colors): Move to term/w32console.el.
| -rw-r--r-- | lisp/w32-fns.el | 83 |
1 files changed, 36 insertions, 47 deletions
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el index 670c4e45db0..174a31d338c 100644 --- a/lisp/w32-fns.el +++ b/lisp/w32-fns.el | |||
| @@ -38,18 +38,48 @@ | |||
| 38 | 38 | ||
| 39 | (defvar explicit-shell-file-name) | 39 | (defvar explicit-shell-file-name) |
| 40 | 40 | ||
| 41 | ;;;; Function keys | ||
| 42 | |||
| 43 | (defvar x-alternatives-map | ||
| 44 | (let ((map (make-sparse-keymap))) | ||
| 45 | ;; Map certain keypad keys into ASCII characters that people usually expect. | ||
| 46 | (define-key map [backspace] [127]) | ||
| 47 | (define-key map [delete] [127]) | ||
| 48 | (define-key map [tab] [?\t]) | ||
| 49 | (define-key map [linefeed] [?\n]) | ||
| 50 | (define-key map [clear] [?\C-l]) | ||
| 51 | (define-key map [return] [?\C-m]) | ||
| 52 | (define-key map [escape] [?\e]) | ||
| 53 | (define-key map [M-backspace] [?\M-\d]) | ||
| 54 | (define-key map [M-delete] [?\M-\d]) | ||
| 55 | (define-key map [M-tab] [?\M-\t]) | ||
| 56 | (define-key map [M-linefeed] [?\M-\n]) | ||
| 57 | (define-key map [M-clear] [?\M-\C-l]) | ||
| 58 | (define-key map [M-return] [?\M-\C-m]) | ||
| 59 | (define-key map [M-escape] [?\M-\e]) | ||
| 60 | (define-key map [iso-lefttab] [backtab]) | ||
| 61 | (define-key map [S-iso-lefttab] [backtab]) | ||
| 62 | map) | ||
| 63 | "Keymap of possible alternative meanings for some keys.") | ||
| 64 | |||
| 65 | (defun x-setup-function-keys (frame) | ||
| 66 | "Set up `function-key-map' on FRAME for w32." | ||
| 67 | ;; Don't do this twice on the same display, or it would break | ||
| 68 | ;; normal-erase-is-backspace-mode. | ||
| 69 | (unless (terminal-parameter frame 'x-setup-function-keys) | ||
| 70 | ;; Map certain keypad keys into ASCII characters that people usually expect. | ||
| 71 | (with-selected-frame frame | ||
| 72 | (let ((map (copy-keymap x-alternatives-map))) | ||
| 73 | (set-keymap-parent map (keymap-parent local-function-key-map)) | ||
| 74 | (set-keymap-parent local-function-key-map map))) | ||
| 75 | (set-terminal-parameter frame 'x-setup-function-keys t))) | ||
| 76 | |||
| 41 | (declare-function set-message-beep) ;; Defined in C. | 77 | (declare-function set-message-beep) ;; Defined in C. |
| 42 | (declare-function w32-get-clipboard-data) ;; Defined in C. | 78 | (declare-function w32-get-clipboard-data) ;; Defined in C. |
| 43 | (declare-function w32-get-locale-info) ;; Defined in C. | 79 | (declare-function w32-get-locale-info) ;; Defined in C. |
| 44 | (declare-function w32-get-valid-locale-ids) ;; Defined in C. | 80 | (declare-function w32-get-valid-locale-ids) ;; Defined in C. |
| 45 | (declare-function w32-set-clipboard-data) ;; Defined in C. | 81 | (declare-function w32-set-clipboard-data) ;; Defined in C. |
| 46 | 82 | ||
| 47 | ;; Map delete and backspace | ||
| 48 | (define-key function-key-map [backspace] "\177") | ||
| 49 | (define-key function-key-map [delete] "\C-d") | ||
| 50 | (define-key function-key-map [M-backspace] [?\M-\177]) | ||
| 51 | (define-key function-key-map [C-M-backspace] [\C-\M-delete]) | ||
| 52 | |||
| 53 | ;; Ignore case on file-name completion | 83 | ;; Ignore case on file-name completion |
| 54 | (setq completion-ignore-case t) | 84 | (setq completion-ignore-case t) |
| 55 | 85 | ||
| @@ -316,25 +346,6 @@ This function is provided for backward compatibility, since | |||
| 316 | (global-set-key [lwindow] 'ignore) | 346 | (global-set-key [lwindow] 'ignore) |
| 317 | (global-set-key [rwindow] 'ignore) | 347 | (global-set-key [rwindow] 'ignore) |
| 318 | 348 | ||
| 319 | ;; Map certain keypad keys into ASCII characters | ||
| 320 | ;; that people usually expect. | ||
| 321 | (define-key function-key-map [tab] [?\t]) | ||
| 322 | (define-key function-key-map [linefeed] [?\n]) | ||
| 323 | (define-key function-key-map [clear] [11]) | ||
| 324 | (define-key function-key-map [return] [13]) | ||
| 325 | (define-key function-key-map [escape] [?\e]) | ||
| 326 | (define-key function-key-map [M-tab] [?\M-\t]) | ||
| 327 | (define-key function-key-map [M-linefeed] [?\M-\n]) | ||
| 328 | (define-key function-key-map [M-clear] [?\M-\013]) | ||
| 329 | (define-key function-key-map [M-return] [?\M-\015]) | ||
| 330 | (define-key function-key-map [M-escape] [?\M-\e]) | ||
| 331 | |||
| 332 | ;; These don't do the right thing (voelker) | ||
| 333 | ;(define-key function-key-map [backspace] [127]) | ||
| 334 | ;(define-key function-key-map [delete] [127]) | ||
| 335 | ;(define-key function-key-map [M-backspace] [?\M-\d]) | ||
| 336 | ;(define-key function-key-map [M-delete] [?\M-\d]) | ||
| 337 | |||
| 338 | ;; These tell read-char how to convert | 349 | ;; These tell read-char how to convert |
| 339 | ;; these special chars to ASCII. | 350 | ;; these special chars to ASCII. |
| 340 | (put 'tab 'ascii-character ?\t) | 351 | (put 'tab 'ascii-character ?\t) |
| @@ -345,28 +356,6 @@ This function is provided for backward compatibility, since | |||
| 345 | (put 'backspace 'ascii-character 127) | 356 | (put 'backspace 'ascii-character 127) |
| 346 | (put 'delete 'ascii-character 127) | 357 | (put 'delete 'ascii-character 127) |
| 347 | 358 | ||
| 348 | ;; W32 uses different color indexes than standard: | ||
| 349 | |||
| 350 | (defvar w32-tty-standard-colors | ||
| 351 | '(("black" 0 0 0 0) | ||
| 352 | ("blue" 1 0 0 52480) ; MediumBlue | ||
| 353 | ("green" 2 8704 35584 8704) ; ForestGreen | ||
| 354 | ("cyan" 3 0 52736 53504) ; DarkTurquoise | ||
| 355 | ("red" 4 45568 8704 8704) ; FireBrick | ||
| 356 | ("magenta" 5 35584 0 35584) ; DarkMagenta | ||
| 357 | ("brown" 6 40960 20992 11520) ; Sienna | ||
| 358 | ("lightgray" 7 48640 48640 48640) ; Gray | ||
| 359 | ("darkgray" 8 26112 26112 26112) ; Gray40 | ||
| 360 | ("lightblue" 9 0 0 65535) ; Blue | ||
| 361 | ("lightgreen" 10 0 65535 0) ; Green | ||
| 362 | ("lightcyan" 11 0 65535 65535) ; Cyan | ||
| 363 | ("lightred" 12 65535 0 0) ; Red | ||
| 364 | ("lightmagenta" 13 65535 0 65535) ; Magenta | ||
| 365 | ("yellow" 14 65535 65535 0) ; Yellow | ||
| 366 | ("white" 15 65535 65535 65535)) | ||
| 367 | "A list of VGA console colors, their indices and 16-bit RGB values.") | ||
| 368 | |||
| 369 | |||
| 370 | (defun w32-add-charset-info (xlfd-charset windows-charset codepage) | 359 | (defun w32-add-charset-info (xlfd-charset windows-charset codepage) |
| 371 | "Function to add character sets to display with Windows fonts. | 360 | "Function to add character sets to display with Windows fonts. |
| 372 | Creates entries in `w32-charset-info-alist'. | 361 | Creates entries in `w32-charset-info-alist'. |