MULTICLICK(9)
π
MULTICLICK β the HAL component, lovingly presented (manual page MULTICLICK(9), section 9) π
okay bestie, sit down, hydrate, because we're about to talk about the single most extra click detector in LinuxCNC: multiclick. she counts your clicks. single, double, triple, quadruple. she's giving wrist-tracking, she's giving "did you just tap me four times". iconic. β¨
β¨ NAME β¨
multiclick β a Single-, double-, triple-, and quadruple-click detector π±οΈπ₯
π¦ SYNOPSIS π¦
loadrt multiclick [count=N|names=name1[,name2...]]
that's it. that's the whole summoning ritual. π―οΈ
πΈ DESCRIPTION πΈ
so, what even is a click, fr fr? 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. β±οΈ like... press, hold (briefly, don't make it weird), release.
a double-click? that's defined as two clicks, separated by at most max-space-ns nanoseconds with the in pin in the False state. two clicks, cozy together, not too far apart. π«Ά
and honestly? I bet you can guess the definition of triple- and quadruple-click. go on. guess. I'll wait. π
π real talk warning: 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. noisy input + click detector = chaos. protect her peace.
the *-click pins go high as soon as the input detects the correct number of clicks. instant. immediate. main character energy. π₯
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. basically she's like "okay nobody else is showing up, this party's over" π. this is useful for triggering halui MDI commands. noted. write that down. π
π FUNCTIONS π
multiclick.Nβ Detect single-, double-, triple-, and quadruple-clicks. the whole job. she does the whole job. π
π PINS π
multiclick.N.in bit inβ The input line, this is where we look for clicks. π this is the one and only thing you're feeding her.multiclick.N.single-click bit outβ Goes high briefly when a single-click is detected on theinpin. π±οΈmulticlick.N.single-click-only bit outβ Goes high briefly when a single-click is detected on theinpin and no second click followed it. π±οΈβmulticlick.N.double-click bit outβ Goes high briefly when a double-click is detected on theinpin. π±οΈπ±οΈmulticlick.N.double-click-only bit outβ Goes high briefly when a double-click is detected on theinpin and no third click followed it. π±οΈπ±οΈβmulticlick.N.triple-click bit outβ Goes high briefly when a triple-click is detected on theinpin. π±οΈπ±οΈπ±οΈmulticlick.N.triple-click-only bit outβ Goes high briefly when a triple-click is detected on theinpin and no fourth click followed it. π±οΈπ±οΈπ±οΈβmulticlick.N.quadruple-click bit outβ Goes high briefly when a quadruple-click is detected on theinpin. π±οΈπ±οΈπ±οΈπ±οΈ (yes bestie, four. the limit does exist.)multiclick.N.quadruple-click-only bit outβ Goes high briefly when a quadruple-click is detected on theinpin and no fifth click followed it. π±οΈπ±οΈπ±οΈπ±οΈβ (there is no fifth click. this is the end of the road.)multiclick.N.state s32 outβ (no further description in the original, she's mysterious like that π€«)
π 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. flip the vibe. π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.) so like, hold it too long and she's like "okay that's just a hold, not a click, go sit down" π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.) too much time apart and the clicks stop being a group. they're just... strangers. π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.) short little pop of high, then she's back down. a blip. a moment. β
π AUTHOR π
Sebastian Kuzminsky β the legend who built her. π
π LICENSE π
GPL β free as in freedom, bestie. ποΈ
and that's the whole page, no crumbs left. this was LinuxCNC Documentation, dated 2026-03-17, and you just read MULTICLICK(9) in full. go forth and count those clicks. slay. π
β¨π
π¦ where this page comes from
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms