libinput: Changes to 'upstream-unstable'
doc/button-debouncing-state-machine.svg | 714 +++++++++++++++++++++++++++++
doc/button-debouncing-wave-diagram.txt | 50 ++
doc/button_debouncing.dox | 33 +
doc/svg/button-debouncing-wave-diagram.svg | 4
meson.build | 5
src/evdev-debounce.c | 562 ++++++++++++++++++++++
src/evdev-fallback.c | 694 ++++++++--------------------
src/evdev-fallback.h | 222 +++++++++
src/evdev-mt-touchpad-buttons.c | 6
src/evdev-mt-touchpad.c | 5
src/evdev.c | 10
src/evdev.h | 24
test/litest.c | 22
test/litest.h | 7
test/test-device.c | 12
test/test-misc.c | 6
test/test-pad.c | 16
test/test-pointer.c | 371 ++++++++++-----
test/test-touchpad-buttons.c | 8
test/test-touchpad-tap.c | 12
test/test-touchpad.c | 116 ++--
test/test-trackpoint.c | 16
tools/libinput-measure-touchpad-tap.man | 2
tools/libinput.man | 2
24 files changed, 2189 insertions(+), 730 deletions(-)
New commits:
commit 05a2da818b7ff6d629b90611e8b4a0e06eb5b0ba
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Nov 28 15:06:20 2017 +1000
libinput 1.9.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/meson.build b/meson.build
index 5fac32d..256a248 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('libinput', 'c', 'cpp',
- version : '1.9.2',
+ version : '1.9.3',
license : 'MIT/Expat',
default_options : [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.40.0')
commit 6e8beeb28008708e250b16d65fde1774d18e0131
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Nov 23 09:41:01 2017 +1000
tools: fix dashes in man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 1b54b726f07faec48be86b6308a40b658d423147)
diff --git a/tools/libinput.man b/tools/libinput.man
index ee129fc..a06bdd4 100644
--- a/tools/libinput.man
+++ b/tools/libinput.man
@@ -54,7 +54,7 @@ Measure tap-to-click time
.B libinput\-measure\-touchpad\-pressure(1)
Measure touch pressure
.TP 8
-.B libinput-measure-trackpoint-range(1)
+.B libinput\-measure\-trackpoint\-range(1)
Measure the delta range of a trackpoint
.SH LIBINPUT
Part of the
commit e961c1ff5c81c7b72bb036b039509699cfc7be20
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Nov 21 16:02:13 2017 +1000
debounce: handle a timeout in MAYBE_SPURIOUS state
Sequences to trigger:
- spurious debouncing is enabled
- release a button in IS_DOWN state -> RELEASE_DELAYED
- short timeout triggers RELEASE_WAITING
If a button press now comes before the long timeout expires, we transition to
MAYBE_SPURIOUS where the long timeout may expire. In that case we should
transition to pressed state again.
Reported-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit ac1748ef4dadde650802ed377f09567a37abcc80)
diff --git a/doc/button-debouncing-state-machine.svg b/doc/button-debouncing-state-machine.svg
index 6f106a8..48723a1 100644
--- a/doc/button-debouncing-state-machine.svg
+++ b/doc/button-debouncing-state-machine.svg
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108px" height="2101px" version="1.1" content="<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="7.7.1" editor="www.draw.io" type="google"><diagram id="27c35eac-9917-780f-69cd-550de3271581" name="Page-1">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</diagram></mxfile>">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108px" height="2101px" version="1.1" content="<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="7.7.2" editor="www.draw.io" type="google"><diagram id="27c35eac-9917-780f-69cd-550de3271581" name="Page-1">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</diagram></mxfile>">
<defs/>
<g transform="translate(0.5,0.5)">
<rect x="271" y="220" width="160" height="40" rx="6" ry="6" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/>
@@ -8,12 +8,10 @@
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="35" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 36px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-IS_UP</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">IS_UP</div>
</div>
</foreignObject>
- <text x="18" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-IS_UP</text>
+ <text x="18" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">IS_UP</text>
</switch>
</g>
<path d="M 336 310 L 366 310 L 381 335 L 366 360 L 336 360 L 321 335 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -21,13 +19,10 @@ IS_UP</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 351 260 L 351 303.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -37,12 +32,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="95" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 96px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-DOWN_WAITING</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DOWN_WAITING</div>
</div>
</foreignObject>
- <text x="48" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-DOWN_WAITING</text>
+ <text x="48" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">DOWN_WAITING</text>
</switch>
</g>
<rect x="61" y="810" width="160" height="40" rx="6" ry="6" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/>
@@ -50,12 +43,10 @@ DOWN_WAITING</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="118" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 119px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-RELEASE_PENDING</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">RELEASE_PENDING</div>
</div>
</foreignObject>
- <text x="59" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-RELEASE_PENDING</text>
+ <text x="59" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">RELEASE_PENDING</text>
</switch>
</g>
<path d="M 416 675 L 446 675 L 461 700 L 446 725 L 416 725 L 401 700 Z" fill="#ea6b66" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -63,12 +54,10 @@ RELEASE_PENDING</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
<path d="M 570.61 1120.1 C 571.78 1116.9 573.67 1115.04 575.67 1115.12 L 645.53 1115.12 C 647.13 1115.08 648.65 1115.63 649.65 1116.61 C 650.64 1117.59 650.99 1118.88 650.6 1120.1 L 631.36 1169.9 C 630.19 1173.1 628.3 1174.96 626.3 1174.88 L 555.42 1174.88 C 554.01 1174.69 552.77 1174.05 551.99 1173.1 C 551.22 1172.15 551 1170.99 551.37 1169.9 Z" fill="#ffd966" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/>
@@ -76,14 +65,10 @@ timeout</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 320.61 500.1 C 321.78 496.9 323.67 495.04 325.67 495.12 L 395.53 495.12 C 397.13 495.08 398.65 495.63 399.65 496.61 C 400.64 497.59 400.99 498.88 400.6 500.1 L 381.36 549.9 C 380.19 553.1 378.3 554.96 376.3 554.88 L 305.42 554.88 C 304.01 554.69 302.77 554.05 301.99 553.1 C 301.22 552.15 301 550.99 301.37 549.9 Z" fill="#ffd966" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/>
@@ -91,14 +76,10 @@ release</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 356 640 L 405.76 679.81" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -108,12 +89,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="56" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 57px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-IS_DOWN</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">IS_DOWN</div>
</div>
</foreignObject>
- <text x="28" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-IS_DOWN</text>
+ <text x="28" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">IS_DOWN</text>
</switch>
</g>
<path d="M 441.33 675 L 610.31 265.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -123,13 +102,10 @@ IS_DOWN</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-button<br>release</text>
+ <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">button<br>release</text>
</switch>
</g>
<path d="M 336 640 L 343.21 668.82" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -141,12 +117,10 @@ button<br>release</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
<path d="M 128.5 850 L 59.68 960.11" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -156,12 +130,10 @@ timeout</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="35" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 36px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-IS_UP</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">IS_UP</div>
</div>
</foreignObject>
- <text x="18" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-IS_UP</text>
+ <text x="18" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">IS_UP</text>
</switch>
</g>
<path d="M 686 300 L 716 300 L 731 325 L 716 350 L 686 350 L 671 325 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -169,13 +141,10 @@ IS_UP</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-button<br>release</text>
+ <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">button<br>release</text>
</switch>
</g>
<path d="M 639.82 260 L 678.31 300.9" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -185,13 +154,10 @@ button<br>release</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 149.75 850 L 197.51 959.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -203,14 +169,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<rect x="511" y="1220" width="160" height="40" rx="6" ry="6" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/>
@@ -218,12 +180,10 @@ release</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="113" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 114px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-RELEASE_WAITING</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">RELEASE_WAITING</div>
</div>
</foreignObject>
- <text x="57" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-RELEASE_WAITING</text>
+ <text x="57" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">RELEASE_WAITING</text>
</switch>
</g>
<path d="M 686 1315 L 716 1315 L 731 1340 L 716 1365 L 686 1365 L 671 1340 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -231,13 +191,10 @@ RELEASE_WAITING</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 613 1260 L 676.88 1318.07" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -247,29 +204,27 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
<path d="M 42.56 1015 L 48.73 1113.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 49.06 1118.88 L 45.13 1112.12 L 48.73 1113.64 L 52.11 1111.68 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 55.52 1180 L 187.04 2053.7" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 187.82 2058.89 L 183.32 2052.49 L 187.04 2053.7 L 190.24 2051.45 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
+ <path d="M 895.31 1495 L 848.83 1574.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
+ <path d="M 846.18 1579.03 L 846.69 1571.23 L 848.83 1574.5 L 852.73 1574.76 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
<rect x="827" y="1455" width="160" height="40" rx="6" ry="6" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/>
<g transform="translate(850.5,1468.5)">
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="112" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 113px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-MAYBE_SPURIOUS</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">MAYBE_SPURIOUS</div>
</div>
</foreignObject>
- <text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-MAYBE_SPURIOUS</text>
+ <text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">MAYBE_SPURIOUS</text>
</switch>
</g>
<path d="M 722.53 1354.11 L 871.16 1451.51" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -279,13 +234,10 @@ MAYBE_SPURIOUS</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-button<br>release</text>
+ <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">button<br>release</text>
</switch>
</g>
<path d="M 1077 1580 L 1077 1240 L 677.37 1240" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -297,13 +249,10 @@ button<br>release</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout<br/>
-short</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout<br/>short</div>
</div>
</foreignObject>
- <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout<br>short</text>
+ <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout<br>short</text>
</switch>
</g>
<path d="M 919.31 1495 L 968.47 1574.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -317,13 +266,10 @@ timeout<br>short</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="52" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 53px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-spurious<br/>
-enabled?</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">spurious<br/>enabled?</div>
</div>
</foreignObject>
- <text x="26" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-spurious<br>enabled?</text>
+ <text x="26" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">spurious<br>enabled?</text>
</switch>
</g>
<path d="M 662.66 930 L 611.36 1108.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -332,12 +278,10 @@ spurious<br>enabled?</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="12" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">
-no</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">no</div>
</div>
</foreignObject>
- <text x="6" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">
-no</text>
+ <text x="6" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">no</text>
</switch>
</g>
<path d="M 596 1315 L 626 1315 L 641 1340 L 626 1365 L 596 1365 L 581 1340 Z" fill="#9ac7bf" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -345,13 +289,10 @@ no</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout<br/>
-short</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout<br/>short</div>
</div>
</foreignObject>
- <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout<br>short</text>
+ <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout<br>short</text>
</switch>
</g>
<path d="M 595 1260 L 604.75 1308.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -361,12 +302,10 @@ timeout<br>short</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="65" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 66px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-RELEASED</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">RELEASED</div>
</div>
</foreignObject>
- <text x="33" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-RELEASED</text>
+ <text x="33" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">RELEASED</text>
</switch>
</g>
<path d="M 612.85 1365 L 619.05 1448.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -378,13 +317,10 @@ RELEASED</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 624.23 1495 L 636.95 1573.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -394,12 +330,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="103" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 104px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-PRESS_PENDING</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PRESS_PENDING</div>
</div>
</foreignObject>
- <text x="52" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-PRESS_PENDING</text>
+ <text x="52" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PRESS_PENDING</text>
</switch>
</g>
<path d="M 653.58 1630 L 674.06 1674.22" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -409,13 +343,10 @@ PRESS_PENDING</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-button<br>release</text>
+ <text x="21" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">button<br>release</text>
</switch>
</g>
<path d="M 731.88 1720 L 851.38 1772.09" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -427,12 +358,10 @@ button<br>release</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
<path d="M 670.61 1885.1 C 671.78 1881.9 673.67 1880.04 675.67 1880.12 L 745.53 1880.12 C 747.13 1880.08 748.65 1880.63 749.65 1881.61 C 750.64 1882.59 750.99 1883.88 750.6 1885.1 L 731.36 1934.9 C 730.19 1938.1 728.3 1939.96 726.3 1939.88 L 655.42 1939.88 C 654.01 1939.69 652.77 1939.05 651.99 1938.1 C 651.22 1937.15 651 1935.99 651.37 1934.9 Z" fill="#ffd966" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/>
@@ -440,14 +369,10 @@ timeout</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 677.76 1720 L 663.72 1754.11" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -463,12 +388,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="120" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 121px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-RELEASE_DELAYED</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">RELEASE_DELAYED</div>
</div>
</foreignObject>
- <text x="60" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-RELEASE_DELAYED</text>
+ <text x="60" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">RELEASE_DELAYED</text>
</switch>
</g>
<path d="M 627 889.02 L 497.27 912.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -477,12 +400,10 @@ RELEASE_DELAYED</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="19" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">
-yes</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">yes</div>
</div>
</foreignObject>
- <text x="10" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-yes</text>
+ <text x="10" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">yes</text>
</switch>
</g>
<path d="M 426 995 L 456 995 L 471 1020 L 456 1045 L 426 1045 L 411 1020 Z" fill="#9ac7bf" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -490,13 +411,10 @@ yes</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout<br/>
-short</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout<br/>short</div>
</div>
</foreignObject>
- <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout<br>short</text>
+ <text x="20" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout<br>short</text>
</switch>
</g>
<path d="M 417.52 948 L 430.87 988.95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -508,13 +426,10 @@ timeout<br>short</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 441.43 948 L 524.16 1002.36" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -526,13 +441,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="27" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 28px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-set<br/>
-timer</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">set<br/>timer</div>
</div>
</foreignObject>
- <text x="14" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="14" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 351 360 L 351 403.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -544,13 +456,10 @@ timer</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="27" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 28px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-set<br/>
-timer</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">set<br/>timer</div>
</div>
</foreignObject>
- <text x="14" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="14" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 700.26 350 L 691.92 633.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -562,13 +471,10 @@ timer</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="46" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 47px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-set short<br/>
-timer</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">set short<br/>timer</div>
</div>
</foreignObject>
- <text x="23" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-set short<br>timer</text>
+ <text x="23" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">set short<br>timer</text>
</switch>
</g>
<path d="M 679.36 809.99 L 678.73 823.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -578,13 +484,10 @@ set short<br>timer</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 376 640 L 481.5 686.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -596,13 +499,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 139.75 850 L 132.96 958.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -614,13 +514,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 559 1260 L 458.22 1322.99" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -632,13 +529,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 608.69 1495 L 559.53 1574.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -650,13 +544,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 702.71 1720 L 735.46 1759.21" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -668,13 +559,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 506 1315 L 536 1315 L 551 1340 L 536 1365 L 506 1365 L 491 1340 Z" fill="#ea6b66" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -682,12 +570,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-timeout</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-timeout</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
<path d="M 577 1260 L 540.81 1311.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -701,14 +587,10 @@ timeout</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-press</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>press</div>
</div>
</foreignObject>
- <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 922.25 1630 L 973.4 1873.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -720,13 +602,10 @@ press</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 670.41 260 L 800.96 312.84" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -736,13 +615,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 392.52 948 L 348.51 995.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -752,14 +628,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="41" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 42px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-notify<br/>
-button<br/>
-release</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">notify<br/>button<br/>release</div>
</div>
</foreignObject>
- <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="21" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 315.06 1045 L 236.68 1224.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -771,19 +643,13 @@ release</div>
<foreignObject style="overflow:visible;" pointer-events="all" width="430" height="169" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 190px; max-width: 430px; width: 430px; white-space: normal; overflow-wrap: normal;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
- <h1>
-Entry states: IS_UP, IS_DOWN<br/>
-</h1>
- <p>
-Assumption: state is stored per-button, and OTHER BUTTON events are always processed before the actual button. Stored state per button is a single bit (up/down), a single state for the state machine across the device is sufficient.</p>
- <p>
-Start the state machine with IS_UP or IS_DOWN based on the button's bit, any OTHER BUTTON event will reset it to that state anyway, so the state can be re-used for the new button.<br/>
-</p>
+ <h1>Entry states: IS_UP, IS_DOWN<br/></h1>
+ <p>Assumption: state is stored per-button, and OTHER BUTTON events are always processed before the actual button. Stored state per button is a single bit (up/down), a single state for the state machine across the device is sufficient.</p>
+ <p>Start the state machine with IS_UP or IS_DOWN based on the button's bit, any OTHER BUTTON event will reset it to that state anyway, so the state can be re-used for the new button.<br/></p>
</div>
</div>
</foreignObject>
- <text x="215" y="91" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="215" y="91" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 468 310 L 494 310 L 511 335 L 494 360 L 468 360 L 451 335 Z" fill="#e1d5e7" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -791,13 +657,10 @@ Start the state machine with IS_UP or IS_DOWN based on the button's bit, any OTH
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="34" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 35px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-other<br/>
-button</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">other<br/>button</div>
</div>
</foreignObject>
- <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-[Not supported by viewer]</text>
+ <text x="17" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text>
</switch>
</g>
<path d="M 378.37 260 L 455 316" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -809,13 +672,10 @@ button</div>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="47" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 48px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-enable<br/>
-spurious</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">enable<br/>spurious</div>
</div>
</foreignObject>
- <text x="24" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-enable<br>spurious</text>
+ <text x="24" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">enable<br>spurious</text>
</switch>
</g>
<path d="M 597.84 1175 L 593.77 1213.67" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
@@ -831,12 +691,23 @@ enable<br>spurious</text>
<switch>
<foreignObject style="overflow:visible;" pointer-events="all" width="56" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 57px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
- <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
-IS_DOWN</div>
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">IS_DOWN</div>
+ </div>
+ </foreignObject>
+ <text x="28" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">IS_DOWN</text>
+ </switch>
+ </g>
+ <path d="M 843.3 1630 L 963.44 1874.29" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
+ <path d="M 965.75 1879 L 959.52 1874.26 L 963.44 1874.29 L 965.8 1871.17 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
+ <path d="M 816 1580 L 846 1580 L 861 1605 L 846 1630 L 816 1630 L 801 1605 Z" fill="#ea6b66" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/>
+ <g transform="translate(810.5,1598.5)">
+ <switch>
+ <foreignObject style="overflow:visible;" pointer-events="all" width="40" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 41px; white-space: nowrap; overflow-wrap: normal; text-align: center;">
+ <div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">timeout</div>
</div>
</foreignObject>
- <text x="28" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">
-IS_DOWN</text>
+ <text x="20" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">timeout</text>
</switch>
</g>
</g>
diff --git a/src/evdev-debounce.c b/src/evdev-debounce.c
index 7f96249..74faf39 100644
--- a/src/evdev-debounce.c
+++ b/src/evdev-debounce.c
@@ -335,9 +335,6 @@ debounce_maybe_spurious_handle_event(struct fallback_dispatch *fallback, enum de
case DEBOUNCE_EVENT_RELEASE:
debounce_set_state(fallback, DEBOUNCE_STATE_RELEASE_WAITING);
break;
- case DEBOUNCE_EVENT_TIMEOUT:
- log_debounce_bug(fallback, event);
- break;
case DEBOUNCE_EVENT_TIMEOUT_SHORT:
debounce_cancel_timer(fallback);
debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
@@ -345,6 +342,7 @@ debounce_maybe_spurious_handle_event(struct fallback_dispatch *fallback, enum de
debounce_notify_button(fallback,
LIBINPUT_BUTTON_STATE_PRESSED);
break;
+ case DEBOUNCE_EVENT_TIMEOUT:
case DEBOUNCE_EVENT_OTHERBUTTON:
debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
debounce_notify_button(fallback,
commit c77b6b4c96ccaf9a1f5e490c6ed6368eab2f9236
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Nov 13 09:33:50 2017 +1000
evdev: add new debouncing code
The current debouncing code monitors events and switches on when events are
too close together. From then on, any event can be delayed.
Vicente Bergas provided an algorithm that avoids most of these delays:
on a button state change we now forward the change without delay but start a
timer. If the button changes state during that timer, the changes are
ignored. On timer expiry, events are sent to match the hardware state
with the client's view of the device. This is only done if needed.
Thus, a press-release sequence of: PRP sends a single press event, a sequence of
PRPR sends press and then the release at the end of the timeout. The timeout
is short enough that the delay should not be noticeable.
This new mode is called the 'bounce' mode. The old mode is now referred to as
'spurious' mode and only covers the case of a button held down that loses
contact. It works as before, monitoring a button for these spurious contact
losses and switching on. When on, button release events are delayed as before.
The whole button debouncing moves to a state machine which makes debugging a
lot easier. See the accompanying SVG for the diagram.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit de994d135e452589d5cb9aff7111aed3082e48ee)
diff --git a/doc/button-debouncing-state-machine.svg b/doc/button-debouncing-state-machine.svg
new file mode 100644
index 0000000..6f106a8
--- /dev/null
+++ b/doc/button-debouncing-state-machine.svg
@@ -0,0 +1,843 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108px" height="2101px" version="1.1" content="<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="7.7.1" editor="www.draw.io" type="google"><diagram id="27c35eac-9917-780f-69cd-550de3271581" name="Page-1">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</diagram></mxfile>">
+ <defs/>
+ <g transform="translate(0.5,0.5)">
+ <rect x="271" y="220" width="160" height="40" rx="6" ry="6" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/>
+ <g transform="translate(333.5,233.5)">
+ <switch>
+ <foreignObject style="overflow:visible;" pointer-events="all" width="35" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
Reply to: