news.el 2.7 KB

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