1;;; news.el --- keypad and function key bindings for the Sony NEWS keyboard -*- no-byte-compile: t -*-
2
3;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004,
4;;   2005, 2006, 2007 Free Software Foundation, Inc.
5
6;; Author: FSF
7;; Keywords: terminals
8
9;; This file is part of GNU Emacs.
10
11;; GNU Emacs is free software; you can redistribute it and/or modify
12;; it under the terms of the GNU General Public License as published by
13;; the Free Software Foundation; either version 2, or (at your option)
14;; any later version.
15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs; see the file COPYING.  If not, write to the
23;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24;; Boston, MA 02110-1301, USA.
25
26;;; Commentary:
27
28;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
29
30;;; Code:
31
32(defun terminal-init-news ()
33  "Terminal initialization function for news."
34  (if (boundp 'news-fkey-prefix)
35      nil
36    ;; The terminal initialization should already have set up some keys
37    (setq news-fkey-prefix (lookup-key function-key-map "\eO"))
38    (if (not (keymapp news-fkey-prefix))
39	(error "What?  Your news termcap/terminfo has no keycaps in it"))
40
41    ;; Termcap or terminfo will set these
42    ;; (define-key news-fkey-prefix "P" [f1])
43    ;; (define-key news-fkey-prefix "Q" [f2])
44    ;; (define-key news-fkey-prefix "R" [f3])
45    ;; (define-key news-fkey-prefix "S" [f4])
46    ;; (define-key news-fkey-prefix "T" [f5])
47    ;; (define-key news-fkey-prefix "U" [f6])
48    ;; (define-key news-fkey-prefix "V" [f7])
49    ;; (define-key news-fkey-prefix "W" [f8])
50    ;; (define-key news-fkey-prefix "X" [f9])
51    ;; (define-key news-fkey-prefix "Y" [f10])
52
53    ;; Terminfo will set these
54    (define-key news-fkey-prefix "a" [execute])
55    (define-key news-fkey-prefix "b" [select])
56    (define-key news-fkey-prefix "c" [cancel])
57    (define-key news-fkey-prefix "M" [kp-enter])
58    (define-key news-fkey-prefix "q" [kp-1])
59    (define-key news-fkey-prefix "s" [kp-3])
60    (define-key news-fkey-prefix "u" [kp-5])
61    (define-key news-fkey-prefix "w" [kp-7])
62    (define-key news-fkey-prefix "y" [kp-9])
63
64    ;; These aren't in either termcap or terminfo's repertoire
65    (define-key news-fkey-prefix "m" [kp-subtract])
66    (define-key news-fkey-prefix "k" [kp-add])
67    (define-key news-fkey-prefix "l" [kp-separator])
68    (define-key news-fkey-prefix "n" [kp-decimal])
69    (define-key news-fkey-prefix "p" [kp-0])
70    (define-key news-fkey-prefix "r" [kp-2])
71    (define-key news-fkey-prefix "t" [kp-4])
72    (define-key news-fkey-prefix "v" [kp-6])
73    (define-key news-fkey-prefix "x" [kp-8])
74    ))
75
76;;; arch-tag: bfe141a0-623b-4b42-b753-5d9353776c5e
77;;; news.el ends here
78