CVS update: eclipse
[email protected] 16 Mar 2003 00:38:55 -0000
| Newsgroups | gmane.comp.window-managers.eclipse.cvs |
|---|---|
| Message-ID | <[email protected]> |
Date: Saturday March 15, 2003 @ 15:38
Author: hatchond
Update of /home/cvsroot/eclipse
In directory kappa:/tmp/cvs-serv19345
Modified Files:
gestures.lisp
Log Message:
Major modification to handle mapping-notify event.
Added mouse-stroke.
please feel free to comment the next.
(some minor changes in the action-key->lambda function where two
entries had been added as predifined strokes: :move-window
:resize-window they are mouse stroke).
- stroke [protocol class]
- stroke-name stroke [generic function]
return the the name of the stroke as keyword.
- default-modifiers-p stroke [generic function]
return true if the default-modifiers should be applied. The
default modifiers are :NUM-LOCK and :CAPS-LOCK
- stroke-modifiers stroke [generic function]
return a keyword list that represent the set of all possible
modifiers used for creating this stroke. If the car of the returned
list is :AND, then the modifiers cdr list should be considered as a
composition.
- stroke-action stroke [generic function]
return the action (lambda (event) ..) to perform when this stroke
is invoked.
- stroke-keys stroke [generic function]
return the keycodes list of the differents possible keys to
invoke that stroke. (In the case of a mouse stroke, this list should
contain one and only one integer ; which is a mouse button)
- lookup-keystroke (code state) [function]
return the keystroke that is registered for this particular
combination (keycode . state), or nil.
- lookup-mouse-stroke (button state) [function]
return the mouse stroke hat is registered for this particular
combination (button . state), or nil.
- keycode-registered-p (keycode &optional (count 1)) [function]:
return true if a keycode is used in the indicated range for
registering a keystroke.
- unregister-all-keystrokes () [function]:
unregister all defined keystrokes.
- register-all-keystrokes () [function]:
register all defined keystrokes.
- unregister-all-mouse-strokes () [function]:
unregister all defined mouse-strokes.
- register-all-mouse-strokes () [function]:
register all defined mouse-strokes.
- action ((&rest f1) (&rest f2)) [macro]:
used to define a stroke action
It simply checks for keywords :press or :release
to be the car of the forms and produces function
as follows:
(action (:press form1 form2) ())
(action () (:press form1 form2))
==> (lambda (event)
(typepcase event
(key-press form1 form2)
(key-release nil)))
(action
(:release form1 form2)
(:press another-form))
==> (lambda (event)
(typepcase event
(key-press another-form)
(key-release form1 form2)))
- keystroke [class] represent a keystroke.
- make-keystroke (name key-name-set modifiers default-modifiers-p
action) [function]
return a newly created keystroke.
- keystroke-p (object) [function]
return true if object is a keystroke.
- mouse-stroke [class] represent a mouse-stroke.
- make-mouse-stroke (name button modifiers default-modifiers-p
action) [function]:
return a newly created mouse-stroke.
- mouse-stroke-p (stroke) [function]:
return true if object is a mouse-stroke.
- define-key-combo (name &key keys
(default-modifiers-p t)
(modifiers :any)
fun)
[function]: user interface to define keystroke.
modifiers can be passed as:
- composition of modifiers as '(:and :ALT-LEFT :CONTROL-RIGHT)
- a simple modifier as :ALT-LEFT or 18 (a modifier mask)
- a list of possible modifiers as '(:ALT-LEFT :CONTOL-RIGHT)
keys is alist of keyword keys (see keysymdef.h)
fun is function as defined by the macro action or by:
(lambda (event) ...)
- define-mouse-combo (name &key button
(default-modifiers-p t)
(modifiers :any)
fun)
[function]: user interface to define mouse stroke.
modifiers can be passed as:
- composition of modifiers as '(:and :ALT-LEFT :CONTROL-RIGHT)
- a simple modifier as :ALT-LEFT or 18 (a modifier mask)
- a list of possible modifiers as '(:ALT-LEFT :CONTOL-RIGHT)
button is an integer that represent a mouse button.
fun is function as defined by the macro action or by:
(lambda (event) ...)
===================================================================
File: no file gestures.lisp Status: Needs Checkout
Working revision: 1.2 Sun Mar 16 00:38:55 2003
Repository revision: 1.2 /home/cvsroot/eclipse/gestures.lisp,v
Existing Tags:
No Tags Exist