MULTICLICK(9)

NAME
multiclick - Single-, double-, triple-, and quadruple-click detector

SYNOPSIS

loadrt multiclick [count=N|names=name1[,name2...]]

DESCRIPTION

A click is defined as a rising edge on the in pin, followed by the in pin being True for at most max-hold-ns nanoseconds, followed by a falling edge.

A double-click is defined as two clicks, separated by at most max-space-ns nanoseconds with the in pin in the False state.

I bet you can guess the definition of triple- and quadruple-click.

You probably want to run the input signal through a debounce component before feeding it to the multiclick detector, if the input is at all noisy.

The *-click pins go high as soon as the input detects the correct number of clicks.

The *-click-only pins go high a short while after the click, after the click separator space timeout has expired to show that no further click is coming. This is useful for triggering halui MDI commands.

FUNCTIONS

multiclick.N (requires a floating-point thread)
    Detect single-, double-, triple-, and quadruple-clicks

PINS

multiclick.N.in bit in
    The input line, this is where we look for clicks.

multiclick.N.single-click bit out
    Goes high briefly when a single-click is detected on the in pin.

multiclick.N.single-click-only bit out
    Goes high briefly when a single-click is detected on the in pin and no second click followed it.

multiclick.N.double-click bit out
    Goes high briefly when a double-click is detected on the in pin.

multiclick.N.double-click-only bit out
    Goes high briefly when a double-click is detected on the in pin and no third click followed it.

multiclick.N.triple-click bit out
    Goes high briefly when a triple-click is detected on the in pin.

multiclick.N.triple-click-only bit out
    Goes high briefly when a triple-click is detected on the in pin and no fourth click followed it.

multiclick.N.quadruple-click bit out
    Goes high briefly when a quadruple-click is detected on the in pin.

multiclick.N.quadruple-click-only bit out
    Goes high briefly when a quadruple-click is detected on the in pin and no fifth click followed it.

multiclick.N.state s32 out

PARAMETERS

multiclick.N.invert-input bit rw (default: FALSE)
    If FALSE (the default), clicks start with rising edges. If TRUE, clicks start with falling edges.

multiclick.N.max-hold-ns u32 rw (default: 250000000)
    If the input is held down longer than this, it’s not part of a multi-click. (Default 250,000,000 ns, 250 ms.)

multiclick.N.max-space-ns u32 rw (default: 250000000)
    If the input is released longer than this, it’s not part of a multi-click. (Default 250,000,000 ns, 250 ms.)

multiclick.N.output-hold-ns u32 rw (default: 100000000)
    Positive pulses on the output pins last this long. (Default 100,000,000 ns, 100 ms.)

AUTHOR

Sebastian Kuzminsky

LICENSE

GPL