view lisp/term/news.el @ 1310:8db103d11270

* keyboard.c (echo_char, read_char): Apply EVENT_HEAD without first testing for EVENT_HAS_PARAMETERS; EVENT_HEAD works properly on all sorts of events now. (read_key_sequence): Use the new accessors to decide in which window an event occurred. * keyboard.c (Qevent_unmodified): Replaced by... (Qevent_symbol_elements): New property. (syms_of_keyboard): initialize and staticpro the latter, not the former. * keyboard.c (readable_events): This doesn't need to scan and discard mouse release events anymore; it just uses EVENT_QUEUES_EMPTY. (kbd_buffer_get_event): No need to skip past mouse release events. * keyboard.c (button_down_location): New variable, which stores the location at which each button was pressed, so we can build a complete drag event when the button is released. (make_lispy_event): When a button is pressed, record its location in button_down_location, and turn it into a `down' event. When a button is released, compare its release location with its press location, and decide whether to call it a `click' or `drag' event. Change mouse movement events to be arranged like click events. (format_modifiers): Note that the click modifier has no written representation. (modifier_names, modifer_symbols): New variables, used to create the Qevent_symbol_elements property. (modify_event_symbol): Change the format of the modified symbol cache; there are too many modifier bits now to use a vector indexed by a modifier mask. Use an assoc-list instead. Document the format of the cache. Put the Qevent_symbol_elements property on each new symbol, instead of a Qevent_unmodified property. (symbols_of_keyboard): Put Qevent_symbol_elements properties on the symbols specified in head_table, not Qevent_unmodifed properties. Initialize and staticpro modifier_symbols, and staticpro the window elements of button_down_location.
author Jim Blandy <jimb@redhat.com>
date Fri, 02 Oct 1992 23:55:39 +0000
parents 393e90d2071b
children b43b95612c90
line wrap: on
line source

;; keypad and function key bindings for the Sony NEWS keyboard.
;; Copyright (C) 1989 Free Software Foundation, Inc.

;; This file is part of GNU Emacs.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY.  No author or distributor
;; accepts responsibility to anyone for the consequences of using it
;; or for whether it serves any particular purpose or works at all,
;; unless he says so in writing.  Refer to the GNU Emacs General Public
;; License for full details.

;; Everyone is granted permission to copy, modify and redistribute
;; GNU Emacs, but only under the conditions described in the
;; GNU Emacs General Public License.   A copy of this license is
;; supposed to have been given to you along with GNU Emacs so you
;; can know your rights and responsibilities.  It should be in a
;; file named COPYING.  Among other things, the copyright notice
;; and this notice must be preserved on all copies.

;; This file places entries in function-key-map for the raw escape
;; sequences of various keypad and function keys, binding them to
;; their symbolic forms.

(define-prefix-command 'news-fkey-prefix)
(define-key function-key-map "\eO" 'news-fkey-prefix)

(define-key news-fkey-prefix "P" [f1])
(define-key news-fkey-prefix "Q" [f2])
(define-key news-fkey-prefix "R" [f3])
(define-key news-fkey-prefix "S" [f4])
(define-key news-fkey-prefix "T" [f5])
(define-key news-fkey-prefix "U" [f6])
(define-key news-fkey-prefix "V" [f7])
(define-key news-fkey-prefix "W" [f8])
(define-key news-fkey-prefix "X" [f9])
(define-key news-fkey-prefix "Y" [f10])
(define-key news-fkey-prefix "m" [kp-subtract])
(define-key news-fkey-prefix "k" [kp-add])
(define-key news-fkey-prefix "l" [kp-separator])
(define-key news-fkey-prefix "n" [kp-period])
(define-key news-fkey-prefix "M" [kp-enter])
(define-key news-fkey-prefix "p" [kp-0])
(define-key news-fkey-prefix "q" [kp-1])
(define-key news-fkey-prefix "r" [kp-2])
(define-key news-fkey-prefix "s" [kp-3])
(define-key news-fkey-prefix "t" [kp-4])
(define-key news-fkey-prefix "u" [kp-5])
(define-key news-fkey-prefix "v" [kp-6])
(define-key news-fkey-prefix "w" [kp-7])
(define-key news-fkey-prefix "x" [kp-8])
(define-key news-fkey-prefix "y" [kp-9])
(define-key news-fkey-prefix "a" [execute])
(define-key news-fkey-prefix "b" [select])
(define-key news-fkey-prefix "c" [cancel])