# $delay-time(5)

[Home] [Commands] [Variables] [Macro-Dev] [Glossary]

## NAME

$delay-time - Mouse time event delay time
$repeat-time - Mouse time event repeat time

## SYNOPSIS

$delay-time milliseconds; Default is `500`
$repeat-time milliseconds; Default is `25`

10 <= milliseconds <= t

## DESCRIPTION

$delay-time sets the time waited between the user picking a mouse button and the generation of a `mouse-time-?` key event.

When user presses the left button (say) a `mouse-pick-1` key event is generated, If this key is bound then the command it is bound to is executed. If the user then holds down the button for $delay-time or more milliseconds then MicroEmacs checks the binding of the special `mouse-time-1` key, if this pseudo key is bound then the command it is bound to will be executed.

If the user continues to hold down the button for a further $repeat-time milliseconds another mouse-time-1 key event will be generated. A mouse-time-1 key event will be generated after every $repeat-time milliseconds until the user releases the button, at which point a `mouse-drop-1` key event is generated.

## EXAMPLE

The following example implements the vertical scroll-bar up and down scrolling arrows for a buffer window:-

    define-macro mouse-pick-command
        set-cursor-to-mouse
        !if &equ &band $mouse-pos 15 5
            ml-write "Mouse on up-arrow"
            1 scroll-up
            1 global-bind-key scroll-up "mouse-time-1"
        !elif &equ &band $mouse-pos 15 9
            ml-write "Mouse on down-arrow"
            1 scroll-down
            1 global-bind-key scroll-down "mouse-time-1"
        !endif
    !emacro

    define-macro mouse-drop-command
        !force global-unbind-key "mouse-time-1"
    !emacro

    global-bind-key mouse-pick-command "mouse-pick-1"
    global-bind-key mouse-drop-command "mouse-drop-1"

## SEE ALSO

$idle-time(5), set-cursor-to-mouse(2), $mouse-pos(5).

(c) Copyright JASSPA 2009
Last Modified: 2009/08/29
Generated On: 2009/10/12

</HMTL>