]> code.delx.au - gnu-emacs/blobdiff - lisp/term/tvi970.el
Add a provide statement.
[gnu-emacs] / lisp / term / tvi970.el
index 34e7a69a08536da694a10ef62e9acee9d5c3792c..425ac200927d0f26d59ab753ad034a60a36cb455 100644 (file)
@@ -1,51 +1,86 @@
-;;; Terminal support for the Televideo 970.
-;;; Jim Blandy <jimb@occs.cs.oberlin.edu>, January 1992
+;;; tvi970.el --- terminal support for the Televideo 970
+
+;; Author: Jim Blandy <jimb@occs.cs.oberlin.edu>, January 1992
+;; Keywords: terminals
+
+;; Copyright (C) 1992 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
+
+;;; Code:
 
-\f
-;;; Define the escape codes sent by the function keys.
 (or (lookup-key function-key-map "\e[")
     (define-key function-key-map "\e[" (make-keymap)))
-(or (lookup-key function-key-map "\eO")
-    (define-key function-key-map "\eO" (make-keymap)))
+;; (or (lookup-key function-key-map "\eO")
+;;    (define-key function-key-map "\eO" (make-keymap)))
 
 ;; Miscellaneous keys
 (mapcar (function (lambda (key-binding)
                    (define-key function-key-map
                      (car key-binding) (nth 1 key-binding))))
-       '(("\e[H" [home])
-         ("\e[Z" [backtab])
-         ("\e[i" [print])
-         ("\e[2J" [clear])
-         ("\e[@" [insert])
-         ("\e[P" [delete])
-         ("\e[L" [insertline])
-         ("\e[M" [deleteline])
-         ("\e[K" [eraseline])
-         ("\e[J" [erasepage])
-         ("\e[U" [page])
-         ("\e[g" [S-tab])
-         ("\e[2N" [clearentry])
-         ("\e[2K" [S-clearentry])
-         ("\e[E" [?\C-j])
-         ("\e[g" [S-backtab])
-         ("\e[?1i" [S-print])
-         ("\e[4h" [S-insert])
-         ("\e[4l" [S-delete])
-         ("\e[Q"  [S-insertline])
-         ("\e[1Q" [S-deleteline])
-         ("\e[19l" [S-eraseline])
-         ("\e[19h" [S-erasepage])
-         ("\e[V" [S-page])
-         ("\eS" [send])
-         ("\e5" [S-send])
-         ("\eOm" [kp-subtract])
-         ("\eOl" [kp-separator])
-         ("\eOn" [kp-decimal])
-         ("\eOM" [enter])
-         ("\eOP" [kp-f1])
-         ("\eOQ" [kp-f2])
-         ("\eOR" [kp-f3])
-         ("\eOS" [kp-f4])))
+       '(
+         ;; These are set up by termcap or terminfo
+         ;; ("\eOP"    [kp-f1])
+         ;; ("\eOQ"    [kp-f2])
+         ;; ("\eOR"    [kp-f3])
+         ;; ("\eOS"    [kp-f4])
+
+         ;; These might br set by terminfo
+         ("\e[H"       [home])
+         ("\e[Z"       [backtab])
+         ("\e[i"       [print])
+         ("\e[@"       [insert])
+         ("\e[L"       [insertline])
+         ("\e[M"       [deleteline])
+         ("\e[U"       [next])         ;; actually the `page' key
+
+         ;; These won't be set up by either
+         ("\eOm"       [kp-subtract])
+         ("\eOl"       [kp-separator])
+         ("\eOn"       [kp-decimal])
+         ("\eOM"       [kp-enter])
+
+         ;; These won't be set up by either either
+         ("\e[K"       [key_eol])      ;; Not an X keysym
+         ("\e[J"       [key_eos])      ;; Not an X keysym
+         ("\e[2J"      [key_clear])    ;; Not an X keysym
+         ("\e[P"       [key_dc])       ;; Not an X keysym
+         ("\e[g"       [S-tab])        ;; Not an X keysym
+         ("\e[2N"      [clearentry])   ;; Not an X keysym
+         ("\e[2K"      [S-clearentry]) ;; Not an X keysym
+         ("\e[E"       [?\C-j])        ;; Not an X keysym
+         ("\e[g"       [S-backtab])    ;; Not an X keysym
+         ("\e[?1i"     [key_sprint])   ;; Not an X keysym
+         ("\e[4h"      [key_sic])      ;; Not an X keysym
+         ("\e[4l"      [S-delete])     ;; Not an X keysym
+         ("\e[Q"       [S-insertline]) ;; Not an X keysym
+         ("\e[1Q"      [key_sdl])      ;; Not an X keysym
+         ("\e[19l"     [key_seol])     ;; Not an X keysym
+         ("\e[19h"     [S-erasepage])  ;; Not an X keysym
+         ("\e[V"       [S-page])       ;; Not an X keysym
+         ("\eS"        [send])         ;; Not an X keysym
+         ("\e5"        [S-send])       ;; Not an X keysym
+         ))
+
 ;; The numeric keypad keys.
 (let ((i 0))
   (while (< i 10)
@@ -80,10 +115,13 @@ With no argument, toggle between the two possible modes.
 With a positive argument, select alternate keypad mode.
 With a negative argument, select numeric keypad mode."
   (interactive "P")
-  (setq tvi970-keypad-numeric 
+  (setq tvi970-keypad-numeric
        (if (null arg)
            (not tvi970-keypad-numeric)
          (> (prefix-numeric-value arg) 0)))
   (send-string-to-terminal (if tvi970-keypad-numeric "\e=" "\e>")))
 
 (tvi970-set-keypad-mode 1)
+
+;;; arch-tag: c1334cf0-1462-41c3-a963-c077d175f8f0
+;;; tvi970.el ends here