Mercurial > emacs
annotate lisp/term/wyse50.el @ 96215:ad9760e68890
(Todo): Update.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Tue, 24 Jun 2008 03:24:38 +0000 |
parents | f3ab0c2464f5 |
children | a9dc0e7c3f2b |
rev | line source |
---|---|
47726
33d53d287ee4
Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents:
23869
diff
changeset
|
1 ;;; wyse50.el --- terminal support code for Wyse 50 -*- no-byte-compile: t -*- |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
2 |
74509 | 3 ;; Copyright (C) 1989, 1993, 1994, 2001, 2002, 2003, 2004, |
79718 | 4 ;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
3287 | 5 |
23869 | 6 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>, |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
7 ;; Jim Blandy <jimb@occs.cs.oberlin.edu> |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
8 ;; Keywords: terminals |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
9 |
14170 | 10 ;; This file is part of GNU Emacs. |
11 | |
94671
f3ab0c2464f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
12 ;; GNU Emacs is free software: you can redistribute it and/or modify |
14170 | 13 ;; it under the terms of the GNU General Public License as published by |
94671
f3ab0c2464f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
14 ;; the Free Software Foundation, either version 3 of the License, or |
f3ab0c2464f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
15 ;; (at your option) any later version. |
14170 | 16 |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
94671
f3ab0c2464f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
24 |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
25 ;;; Commentary: |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
26 |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
27 ;; Uses the Emacs 19 terminal initialization features --- won't work with 18. |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
28 ;; Rewritten for Emacs 19 by jimb, January 1992 |
3591
507f64624555
Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents:
3287
diff
changeset
|
29 ;; Cleaned up for new terminal package conventions by esr, March 1993 |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
30 ;; Should work well for Televideo TVI 925 although it's overkill. |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
31 ;; |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
32 ;; The Wyse50 is ergonomically wonderful, but its escape-sequence design sucks |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
33 ;; rocks. The left-arrow key emits a backspace (!) and the down-arrow a line |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
34 ;; feed (!!). Thus, you have to unbind some commonly-used Emacs keys to |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
35 ;; enable the arrows. |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
36 |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
37 ;;; Code: |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
38 |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
39 (defvar wyse50-terminal-map |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
40 (let ((map (make-sparse-keymap))) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
41 (dolist (key-definition |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
42 '( ;; These might be set up by termcap and terminfo |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
43 ("\C-k" [up]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
44 ("\C-j" [down]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
45 ("\C-l" [right]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
46 ("\C-h" [left]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
47 ("\^a@\^m" [f1]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
48 ("\^aA\^m" [f2]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
49 ("\^aB\^m" [f3]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
50 ("\^aC\^m" [f4]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
51 ("\^aD\^m" [f5]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
52 ("\^aE\^m" [f6]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
53 ("\^aF\^m" [f7]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
54 ("\^aG\^m" [f8]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
55 ("\^aH\^m" [f9]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
56 |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
57 ;; These might be set up by terminfo |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
58 ("\eK" [next]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
59 ("\eT" [clearline]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
60 ("\^^" [home]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
61 ("\e\^^" [end]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
62 ("\eQ" [insert]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
63 ("\eE" [insertline]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
64 ("\eR" [deleteline]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
65 ("\eP" [print]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
66 ("\er" [replace]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
67 ("\^aI\^m" [f10]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
68 ("\^aJ\^m" [f11]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
69 ("\^aK\^m" [f12]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
70 ("\^aL\^m" [f13]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
71 ("\^aM\^m" [f14]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
72 ("\^aN\^m" [f15]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
73 ("\^aO\^m" [f16]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
74 ("\^a`\^m" [f17]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
75 ("\^aa\^m" [f18]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
76 ("\^ab\^m" [f19]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
77 ("\^ac\^m" [f20]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
78 ("\^ad\^m" [f21]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
79 ("\^ae\^m" [f22]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
80 ("\^af\^m" [f23]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
81 ("\^ag\^m" [f24]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
82 ("\^ah\^m" [f25]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
83 ("\^ai\^m" [f26]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
84 ("\^aj\^m" [f27]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
85 ("\^ak\^m" [f28]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
86 ("\^al\^m" [f29]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
87 ("\^am\^m" [f30]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
88 ("\^an\^m" [f31]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
89 ("\^ao\^m" [f32]) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
90 |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
91 ;; Terminfo may know about these, but X won't |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
92 ("\eI" [key-stab]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
93 ("\eJ" [key-snext]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
94 ("\eY" [key-clear]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
95 |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
96 ;; These are totally strange :-) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
97 ("\eW" [?\C-?]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
98 ("\^a\^k\^m" [funct-up]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
99 ("\^a\^j\^m" [funct-down]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
100 ("\^a\^l\^m" [funct-right]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
101 ("\^a\^h\^m" [funct-left]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
102 ("\^a\^m\^m" [funct-return]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
103 ("\^a\^i\^m" [funct-tab]) ;; Not an X keysym |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
104 )) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
105 (define-key map |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
106 (car key-definition) (nth 1 key-definition))) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
107 map)) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
108 |
64651
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
109 (defun terminal-init-wyse50 () |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
110 "Terminal initialization function for wyse50." |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
111 ;; Use inheritance to let the main keymap override these defaults. |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
112 ;; This way we don't override terminfo-derived settings or settings |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
113 ;; made in the .emacs file. |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
114 (let ((m (copy-keymap wyse50-terminal-map))) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
115 (set-keymap-parent m (keymap-parent input-decode-map)) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
116 (set-keymap-parent input-decode-map m)) |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
117 |
64651
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
118 ;; Miscellaneous hacks |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
119 |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
120 ;; This is an ugly hack for a nasty problem: |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
121 ;; Wyse 50 takes one character cell to store video attributes (which seems to |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
122 ;; explain width 79 rather than 80, column 1 is not used!!!). |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
123 ;; On killing (C-x C-c) the end inverse code (on column 1 of line 24) |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
124 ;; of the mode line is overwritten AFTER all the y-or-n questions. |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
125 ;; This causes the attribute to remain in effect until the mode line has |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
126 ;; scrolled of the screen. Suspending (C-z) does not cause this problem. |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
127 ;; On such terminals, Emacs should sacrifice the first and last character of |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
128 ;; each mode line, rather than a whole screen column! |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
129 (add-hook 'kill-emacs-hook |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
130 (function (lambda () (interactive) |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
131 (send-string-to-terminal |
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64084
diff
changeset
|
132 (concat "\ea23R" (1+ (frame-width)) "C\eG0")))))) |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
133 |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
134 (defun enable-arrow-keys () |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
135 "To be called by `term-setup-hook'. Overrides 6 Emacs standard keys |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
136 whose functions are then typed as follows: |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
137 C-a Funct Left-arrow |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
138 C-h M-? |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
139 LFD Funct Return, some modes override down-arrow via LFD |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
140 C-k CLR Line |
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
141 C-l Scrn CLR |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
142 M-r M-x move-to-window-line, Funct up-arrow or down-arrow are similar" |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
143 (interactive) |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
144 ;; Not needed any more now that we use input-decode-map. |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
145 ;; (dolist (key-definition |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
146 ;; ;; By unsetting C-a and then binding it to a prefix, we |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
147 ;; ;; allow the rest of the function keys which start with C-a |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
148 ;; ;; to be recognized. |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
149 ;; '(("\C-a" nil) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
150 ;; ("\C-k" nil) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
151 ;; ("\C-j" nil) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
152 ;; ("\C-l" nil) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
153 ;; ("\C-h" nil) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
154 ;; ("\er" nil))) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
155 ;; (global-set-key (car key-definition) |
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
156 ;; (nth 1 key-definition))) |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
157 (fset 'enable-arrow-keys nil)) |
502 | 158 |
85547
aa63a97d09ff
(wyse50-terminal-map): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83648
diff
changeset
|
159 ;; arch-tag: b6a05d37-eead-4cf6-b997-0f956c68881c |
2142
67773a6ede4e
Added headers, changed some keycap names.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
160 ;;; wyse50.el ends here |