@jjlmoya/utils-hardware 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +1 -0
  5. package/src/tests/locale_completeness.test.ts +2 -2
  6. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  7. package/src/tests/tool_validation.test.ts +2 -2
  8. package/src/tool/batteryHealthEstimator/component.astro +3 -3
  9. package/src/tool/gamepadTest/component.astro +4 -3
  10. package/src/tool/gamepadVibrationTester/component.astro +3 -3
  11. package/src/tool/keyboardTest/component.astro +6 -1
  12. package/src/tool/mouseDoubleClickTest/bibliography.astro +14 -0
  13. package/src/tool/mouseDoubleClickTest/bibliography.ts +16 -0
  14. package/src/tool/mouseDoubleClickTest/component.astro +135 -0
  15. package/src/tool/mouseDoubleClickTest/entry.ts +29 -0
  16. package/src/tool/mouseDoubleClickTest/i18n/de.ts +274 -0
  17. package/src/tool/mouseDoubleClickTest/i18n/en.ts +274 -0
  18. package/src/tool/mouseDoubleClickTest/i18n/es.ts +274 -0
  19. package/src/tool/mouseDoubleClickTest/i18n/fr.ts +274 -0
  20. package/src/tool/mouseDoubleClickTest/i18n/id.ts +285 -0
  21. package/src/tool/mouseDoubleClickTest/i18n/it.ts +274 -0
  22. package/src/tool/mouseDoubleClickTest/i18n/ja.ts +274 -0
  23. package/src/tool/mouseDoubleClickTest/i18n/ko.ts +274 -0
  24. package/src/tool/mouseDoubleClickTest/i18n/nl.ts +274 -0
  25. package/src/tool/mouseDoubleClickTest/i18n/pl.ts +274 -0
  26. package/src/tool/mouseDoubleClickTest/i18n/pt.ts +274 -0
  27. package/src/tool/mouseDoubleClickTest/i18n/ru.ts +274 -0
  28. package/src/tool/mouseDoubleClickTest/i18n/sv.ts +274 -0
  29. package/src/tool/mouseDoubleClickTest/i18n/tr.ts +274 -0
  30. package/src/tool/mouseDoubleClickTest/i18n/zh.ts +274 -0
  31. package/src/tool/mouseDoubleClickTest/index.ts +9 -0
  32. package/src/tool/mouseDoubleClickTest/logic.ts +258 -0
  33. package/src/tool/mouseDoubleClickTest/mouse-double-click-test.css +488 -0
  34. package/src/tool/mouseDoubleClickTest/seo.astro +15 -0
  35. package/src/tool/mouseDoubleClickTest/ui.ts +26 -0
  36. package/src/tool/mousePollingTest/logic/RatonManager.ts +6 -6
  37. package/src/tool/toneGenerator/component.astro +7 -7
  38. package/src/tools.ts +2 -2
@@ -0,0 +1,274 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MouseDoubleClickTestUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'maus-doppelklick-test';
7
+ const title = 'Maus Doppelklick Test';
8
+ const description =
9
+ 'Testen Sie jede Maustaste und erkennen Sie unerwünschte Doppelklicks, verschlissene Schalter und Kontaktprellen mit zeitgenauer Aufzeichnung pro Taste in Ihrem Browser.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Was ist ein Maus-Doppelklick-Problem?',
14
+ answer:
15
+ 'Ein Doppelklick-Problem tritt auf, wenn ein physischer Tastendruck als zwei Klicks gemeldet wird. Es kann die linke Taste, die rechte Taste, den Radklick oder die Seitentasten betreffen und wird meist durch Schalterverschleiß, Kontaktprellen, Firmware-Entprellungseinstellungen oder drahtlose Signalinstabilität verursacht.',
16
+ },
17
+ {
18
+ question: 'Welcher Abstand gilt als verdächtig?',
19
+ answer:
20
+ 'Sehr kurze Abstände zwischen Klicks sind verdächtig, da menschliche Doppelklicks normalerweise mehr Zeit benötigen. Dieses Tool startet mit einem Schwellenwert von 80 ms, den Sie je nach Maus und Teststil anpassen können.',
21
+ },
22
+ {
23
+ question: 'Kann ein Browser beweisen, dass der Schalter defekt ist?',
24
+ answer:
25
+ 'Ein Browser kann den elektrischen Schalter nicht direkt prüfen, aber er kann die Klickereignisse aufzeichnen, die Ihr Betriebssystem empfängt. Wiederholte verdächtige Abstände während eines Einzelklick-Tests sind starke Hinweise auf Prellen oder unerwünschtes Doppelklicken.',
26
+ },
27
+ {
28
+ question: 'Wie sollte ich richtig testen?',
29
+ answer:
30
+ 'Klicken Sie langsam und bewusst und zielen Sie auf einzelne Tastendrücke ab. Wenn der Verdächtig-Zähler auch dann steigt, wenn Sie nicht absichtlich doppelklicken, wiederholen Sie den Test an einem anderen USB-Anschluss, einem anderen Browser und wenn möglich an einem anderen Computer.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Erkennungsschwelle einstellen',
37
+ text: 'Beginnen Sie mit 80 ms. Senken Sie den Wert für eine strenge Prellungserkennung oder erhöhen Sie ihn, wenn Ihr Gerät etwas breitere versehentliche Abstände erzeugt.',
38
+ },
39
+ {
40
+ name: 'Wie ein normaler Einzelklick klicken',
41
+ text: 'Drücken Sie jede Maustaste einzeln über der Mausgrafik. Klicken Sie beim ersten Durchlauf nicht absichtlich doppelt.',
42
+ },
43
+ {
44
+ name: 'Verdächtig-Zähler beobachten',
45
+ text: 'Wenn während des Einfachklickens verdächtige Ereignisse auftreten, prüfen Sie, welche visuelle Taste hervorgehoben wurde, und vergleichen Sie dies mit den kompakten Ereignischips.',
46
+ },
47
+ {
48
+ name: 'Mit einem anderen Gerät vergleichen',
49
+ text: 'Eine gesunde Maus sollte bei gleichem Schwellenwert eine hohe Punktzahl behalten. Der Vergleich von Geräten hilft, Hardwarefehler von Softwareeinstellungen zu unterscheiden.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step, i) => ({
69
+ '@type': 'HowToStep',
70
+ position: i + 1,
71
+ name: step.name,
72
+ text: step.text,
73
+ })),
74
+ };
75
+
76
+ const appSchema: WithContext<SoftwareApplication> = {
77
+ '@context': 'https://schema.org',
78
+ '@type': 'SoftwareApplication',
79
+ name: title,
80
+ description,
81
+ applicationCategory: 'UtilityApplication',
82
+ operatingSystem: 'All',
83
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
84
+ inLanguage: 'de',
85
+ };
86
+
87
+ export const content: ToolLocaleContent<MouseDoubleClickTestUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ bibliography,
95
+ seo: [
96
+ {
97
+ type: 'title',
98
+ text: 'Maus Doppelklick Test: Tastenprellen online diagnostizieren',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Eine Maus, die bei einmaligem Drücken doppelt klickt, ist nicht nur ärgerlich. Sie kann versehentlich Ordner öffnen, Drag-and-Drop-Aktionen abbrechen, in Spielen zwei Schüsse abfeuern, Browser-Tabs schließen oder Kontextmenüs erscheinen und verschwinden lassen, bevor Sie sie nutzen können. Dieser Online-Maus-Doppelklick-Test konzentriert sich auf das nützliche Diagnosesignal: <strong>den zeitlichen Abstand zwischen den von Ihrem Betriebssystem gemeldeten Tastenereignissen</strong>.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Anders als ein einfacher Klick-Zähler verfolgt dieses Tool jede Taste unabhängig: linker Klick, rechter Klick, Radklick, Browser-Zurück und Browser-Vorwärts. Das ist wichtig, denn eine Maus kann eine defekte rechte Taste haben, während die linke noch funktioniert, oder eine abgenutzte Seitentaste, die erst nach Monaten des Gamings oder der Nutzung von Produktivitäts-Shortcuts Fehlauslösungen zeigt.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'Was dieser Maustasten-Test misst',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Wenn Sie eine Maustaste drücken, empfängt der Browser ein Pointer-Ereignis mit dem Tastencode. Das Tool speichert den letzten Zeitstempel für dieselbe physische Taste und vergleicht ihn mit dem nächsten Druck derselben Taste. Ist der Abstand kürzer als Ihr gewählter Schwellenwert, wird das Ereignis als verdächtig markiert, da ein normaler beabsichtigter zweiter Klick in der Regel länger dauert.',
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ 'Linke Taste: nützlich zur Erkennung versehentlicher Doppelklicks beim Öffnen von Dateien, Markieren von Text oder Verschieben von Fenstern',
122
+ 'Rechte Taste: nützlich, wenn Kontextmenüs flackern, doppelt erscheinen oder sofort schließen',
123
+ 'Radklick: nützlich bei Mäusen, bei denen der Mittelklick mehrere Tabs öffnet oder nach intensiver Nutzung ausfällt',
124
+ 'Zurück- und Vorwärtstasten: nützlich für Gaming-Mäuse und Produktivitätsmäuse mit Seitenschaltern',
125
+ 'Zeitmessung pro Taste: vermeidet, einen Linksklick mit einem Rechtsklick zu vermischen und als falschen Doppelklick zu werten',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Warum Mäuse anfangen doppelt zu klicken',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Die meisten Mäuse verwenden kleine mechanische Schalter unter jeder Taste. Wenn die Schaltkontakte schließen, kann das Metall für einen sehr kurzen Zeitraum elektrisch prellen, bevor es sich setzt. Die Maus-Firmware filtert dieses Rauschen normalerweise mit einer Entprell-Logik. Wenn der Schalter verschleißt, kann das Prellen länger, lauter oder inkonsistenter werden, sodass der Computer zwei Tastendrücke empfängt, obwohl Ihr Finger nur einen physischen Druck ausgeführt hat.',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Doppelklicken wird nicht immer durch dasselbe verursacht. Es kann mechanischer Schalterverschleiß, zu aggressiv eingestellte Firmware-Entprellung, Staub oder Oxidation im Schalter, drahtlose Paketinstabilität, Makro-Software, ein beschädigtes Kabel oder eine Betriebssystemeinstellung sein, die versehentliche Doppelklicks auffälliger macht.',
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Symptom', 'Wahrscheinliche Ursache', 'Was zu testen ist'],
144
+ rows: [
145
+ ['Ein Klick öffnet Dateien, als wäre doppelt geklickt worden', 'Linkes Schalterprellen oder Verwechslung der Doppelklick-Geschwindigkeit im Betriebssystem', 'Linke Taste mit langsamen Einzeldrücken bei 80 ms testen'],
146
+ ['Rechtsklick-Menü flackert oder schließt sich', 'Rechtes Schalterprellen oder Software, die Kontextmenüs abfängt', 'Rechte Taste testen und Maus-Dienstprogramme vorübergehend deaktivieren'],
147
+ ['Mittelklick öffnet zwei Tabs', 'Radschalter-Verschleiß', 'Radklick mit bewussten Einzeldrücken testen'],
148
+ ['Zurück-Taste springt zwei Seiten zurück', 'Seitenschalter-Prellen oder Browser-Shortcut-Wiederholung', 'Zurück und Vorwärts separat testen'],
149
+ ['Tritt nur drahtlos auf', 'Drahtlose Interferenz, niedriger Akku oder Empfängerplatzierung', 'Kabelgebunden erneut testen oder Empfänger näher platzieren'],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Den richtigen Entprell-Schwellenwert wählen',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'Der Schwellenwert ist der maximale Abstand, den dieses Tool noch als verdächtig betrachtet. Der Standardwert <strong>80 ms</strong> ist ein praktischer Mittelweg: streng genug, um viele unerwünschte doppelte Ereignisse zu erkennen, aber nicht so aggressiv, dass jeder normale absichtliche Doppelklick zu einem Hardwarefehler wird.',
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Schwellenwert', 'Am besten geeignet für', 'Wie zu interpretieren'],
164
+ rows: [
165
+ ['30-50 ms', 'Strenge elektrische Prellungsprüfungen', 'Gut zur Bestätigung sehr schneller doppelter Ereignisse von einem verschlissenen Schalter'],
166
+ ['60-90 ms', 'Allgemeine Maus-Doppelklick-Diagnose', 'Bester Standardbereich für die meisten Gaming- und Büromäuse'],
167
+ ['100-140 ms', 'Intermittierende verschlissene Schalter', 'Nützlich, wenn die Maus gelegentlich breitere versehentliche Abstände erzeugt'],
168
+ ['150-180 ms', 'Stresstest und schwache Schalter', 'Vorsichtig verwenden, da schnelle absichtliche Doppelklicks in diesen Bereich fallen können'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'So führen Sie einen zuverlässigen Test durch',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'Klicken Sie beim ersten Durchlauf nicht absichtlich doppelt. Drücken Sie jede Maustaste langsam und bewusst, eine Taste nach der anderen, während sich der Cursor über der Mausgrafik befindet. Ein gesunder Schalter sollte stabile Einzelereignisse erzeugen. Wenn der Verdächtig-Zähler bei langsamen Einzeldrücken steigt, wiederholen Sie denselben Tastentest mehrmals, um das Muster zu bestätigen.',
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Testen Sie die linke Taste mit 20 bis 30 langsamen Drücken, dann die rechte, dann das Rad, dann die Seitentasten',
184
+ 'Ziehen Sie die Maus nicht während des Prell-Tests, da Bewegung das Zeitergebnis beeinträchtigen kann',
185
+ 'Wenn eine Taste verdächtige Ereignisse zeigt, wiederholen Sie denselben Test nach dem Wechsel des USB-Anschlusses oder Browsers',
186
+ 'Testen Sie drahtlose Mäuse mit einer frischen Batterie und dem Empfänger nahe an der Maus',
187
+ 'Wenn nur eine Taste wiederholt ausfällt, liegt der Fehler wahrscheinlich an diesem spezifischen Schalter und nicht am gesamten Gerät',
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Ergebnisse interpretieren',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Ergebnis', 'Bedeutung', 'Empfohlener nächster Schritt'],
198
+ rows: [
199
+ ['0 verdächtige Ereignisse nach vielen Drücken', 'Die getesteten Tasten erscheinen unter dem gewählten Schwellenwert gesund', 'Behalten Sie den Standardschwellenwert bei oder testen Sie später erneut, wenn Symptome zurückkehren'],
200
+ ['1 isoliertes verdächtiges Ereignis', 'Könnte ein echtes Prellen oder ein versehentlich schneller Druck sein', 'Dieselbe Taste langsam wiederholen, bevor Sie Schlüsse ziehen'],
201
+ ['Wiederholte verdächtige Ereignisse bei einer Taste', 'Starkes Anzeichen für Schalterprellen oder verschlissene Kontakte', 'An einem anderen Computer testen und das Ergebnis dokumentieren'],
202
+ ['Verdächtige Ereignisse bei jeder Taste', 'Könnte Software, Treiber, Makro-Dienstprogramm oder Browser-Umgebung sein', 'Maus-Software deaktivieren und erneut testen'],
203
+ ['Nur der drahtlose Modus schlägt fehl', 'Wahrscheinlich Akku, Empfängerplatzierung oder Interferenz', 'Kabelgebundenen Modus versuchen oder Empfänger näher platzieren'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'Der Gesundheitswert ist eine schnelle Zusammenfassung, kein endgültiges Urteil. Der wichtigste Beweis ist <strong>welche Taste</strong> verdächtige Ereignisse erzeugt hat und ob sich das Muster wiederholt, wenn Sie genau diese Taste langsam drücken. Ein einzelnes schlechtes Ereignis während eines hastigen Tests ist weniger aussagekräftig als fünf verdächtige Rechtsklick-Ereignisse während bewusster Einzeldrücke.',
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Bevor Sie die Maus ersetzen',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ 'Prüfen Sie, ob Ihre Maus-Software eine Einstellung für die Entprellzeit hat, und testen Sie nach der Änderung erneut',
219
+ 'Deaktivieren Sie Makros, Rapid-Fire-Profile oder Tasten-Neubelegungen während der Diagnose',
220
+ 'Versuchen Sie einen anderen USB-Anschluss, insbesondere wenn Sie einen Hub oder Frontpanel-Anschluss verwenden',
221
+ 'Testen Sie drahtlose Mäuse mit dem Dongle an einem Verlängerungskabel nahe am Mauspad',
222
+ 'Vergleichen Sie mit einer anderen Maus am selben Computer, um Hardwarefehler von Softwareverhalten zu unterscheiden',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Reparatur, Garantie und Beweise',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: 'Wenn der Fehler mechanisch ist, behebt eine Reinigung des Außengehäuses das Problem selten dauerhaft, da das Problem im Inneren der Schaltkontakte liegt. Einige Benutzer tauschen den Mikroschalter aus, aber das erfordert Löten und lohnt sich nicht für jede Maus. Wenn die Maus unter Garantie steht, sind wiederholte verdächtige Abstände bei derselben Taste nützliche Beweise, um das Problem dem Support zu erklären.',
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: 'Für Garantieansprüche zeichnen Sie eine kurze Bildschirmaufnahme auf, während Sie die defekte Taste langsam drücken. Stellen Sie sicher, dass die Ereignischips die Tastenbezeichnung und die verdächtige Zeit zeigen. Das ist klarer als "meine Maus klickt manchmal doppelt", da es die tatsächliche Taste und die ungefähre Zeit des unerwünschten doppelten Ereignisses demonstriert.',
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: 'Einschränkungen eines browserbasierten Maus-Tests',
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Dieser Test misst die Ereignisse, die den Browser erreichen. Er kann die elektrische Wellenform im Schalter nicht direkt prüfen und er kann nicht jeden Treiber, jedes Betriebssystem oder jedes Hersteller-Dienstprogramm umgehen. Das ist trotzdem nützlich: Wenn der Browser doppelte Ereignisse empfängt, können Ihre normalen Anwendungen sie ebenfalls empfangen. Für eine technische Validierung auf Ingenieursniveau liefern Hardware-Tools wie Oszilloskope oder Schaltertester tiefere Erkenntnisse, sind aber für die meisten Benutzerdiagnosen nicht erforderlich.',
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Schalter-Prell-Labor',
250
+ clickTarget: 'Tastenmatrix',
251
+ clickTargetHint: 'Links, rechts, Rad, zurück und vorwärts drücken',
252
+ totalClicks: 'Gesamt',
253
+ suspiciousClicks: 'Verdächtig',
254
+ fastestGap: 'Schnellster Abstand',
255
+ healthScore: 'Gesundheitswert',
256
+ thresholdLabel: 'Erkennungsschwelle',
257
+ thresholdUnit: 'ms',
258
+ cleanEvent: 'sauber',
259
+ suspiciousEvent: 'verdächtig',
260
+ reset: 'Zurücksetzen',
261
+ statusIdle: 'Drücken Sie jede Maustaste, um sie unabhängig zu testen',
262
+ statusClean: 'Kein verdächtiges Tastenprellen erkannt',
263
+ statusWarning: 'Verdächtiges Prellen an einer Maustaste erkannt',
264
+ lastGap: 'Letztes Ereignis',
265
+ logTitle: 'Letzte Tastenereignisse',
266
+ emptyLog: 'Drücken Sie eine beliebige Maustaste über dem Mauskörper.',
267
+ leftButton: 'Links',
268
+ middleButton: 'Rad',
269
+ rightButton: 'Rechts',
270
+ backButton: 'Zurück',
271
+ forwardButton: 'Vorwärts',
272
+ otherButton: 'Andere',
273
+ },
274
+ };
@@ -0,0 +1,274 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MouseDoubleClickTestUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'mouse-double-click-test';
7
+ const title = 'Mouse Double Click Test';
8
+ const description =
9
+ 'Test every mouse button and detect unwanted double-clicks, worn switches, and contact bounce with per-button timing in your browser.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'What is a mouse double-click problem?',
14
+ answer:
15
+ 'A double-click problem happens when one physical press is reported as two clicks. It can affect the left button, right button, wheel click, or side buttons, and is usually caused by switch wear, contact bounce, firmware debounce settings, or wireless signal instability.',
16
+ },
17
+ {
18
+ question: 'What gap counts as suspicious?',
19
+ answer:
20
+ 'Very short gaps between clicks are suspicious because human double-clicks usually take more time. This tool starts at an 80 ms threshold, but you can adjust it depending on the mouse and your testing style.',
21
+ },
22
+ {
23
+ question: 'Can a browser prove the switch is broken?',
24
+ answer:
25
+ 'A browser cannot inspect the electrical switch directly, but it can record the click events your operating system receives. Repeated suspicious gaps during single-click testing are strong evidence of bounce or unwanted double-clicking.',
26
+ },
27
+ {
28
+ question: 'How should I test correctly?',
29
+ answer:
30
+ 'Click slowly and deliberately, aiming for single presses. If the suspicious counter rises even when you are not intentionally double-clicking, repeat the test on another USB port, another browser, and another computer if possible.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Set the detection threshold',
37
+ text: 'Start with 80 ms. Lower it for strict switch-bounce detection or raise it if your device produces slightly wider accidental gaps.',
38
+ },
39
+ {
40
+ name: 'Click like a normal single-click',
41
+ text: 'Press each mouse button one click at a time over the mouse visual. Do not intentionally double-click during the first pass.',
42
+ },
43
+ {
44
+ name: 'Watch the suspicious counter',
45
+ text: 'If suspicious events appear while you are making single clicks, check which visual button was highlighted and compare it with the compact event chips.',
46
+ },
47
+ {
48
+ name: 'Compare with another device',
49
+ text: 'A healthy mouse should keep a high score under the same threshold. Comparing devices helps separate hardware faults from software settings.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step, i) => ({
69
+ '@type': 'HowToStep',
70
+ position: i + 1,
71
+ name: step.name,
72
+ text: step.text,
73
+ })),
74
+ };
75
+
76
+ const appSchema: WithContext<SoftwareApplication> = {
77
+ '@context': 'https://schema.org',
78
+ '@type': 'SoftwareApplication',
79
+ name: title,
80
+ description,
81
+ applicationCategory: 'UtilityApplication',
82
+ operatingSystem: 'All',
83
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
84
+ inLanguage: 'en',
85
+ };
86
+
87
+ export const content: ToolLocaleContent<MouseDoubleClickTestUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ bibliography,
95
+ seo: [
96
+ {
97
+ type: 'title',
98
+ text: 'Mouse Double Click Test: Diagnose Button Bounce Online',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'A mouse that double-clicks when you press once is not just annoying. It can open folders by accident, cancel drag-and-drop actions, fire two shots in a game, close browser tabs, or make right-click menus appear and disappear before you can use them. This online mouse double click test focuses on the useful diagnostic signal: <strong>the time gap between button events reported by your operating system</strong>.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Unlike a basic click counter, this tool tracks every button independently: left click, right click, wheel click, browser back, and browser forward. That matters because a mouse can have a failing right button while the left button is still healthy, or a worn side button that only misfires after months of gaming or productivity shortcuts.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'What This Mouse Button Test Measures',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'When you press a mouse button, the browser receives a pointer event containing the button code. The tool stores the last timestamp for that same physical button and compares it with the next press of the same button. If the gap is shorter than your selected threshold, the event is marked as suspicious because a normal intentional second click usually takes longer.',
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ 'Left button: useful for detecting accidental double-clicks when opening files, selecting text, or dragging windows',
122
+ 'Right button: useful when context menus flicker, open twice, or close immediately',
123
+ 'Wheel button: useful for mice where middle-click opens multiple tabs or fails after heavy browsing',
124
+ 'Back and Forward buttons: useful for gaming mice and productivity mice with side switches',
125
+ 'Per-button timing: avoids mixing a left click with a right click and calling it a false double-click',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Why Mice Start Double-Clicking',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Most mice use small mechanical switches under each button. When the switch contacts close, the metal can bounce electrically for a very short period before settling. The mouse firmware normally filters that noise with debounce logic. As the switch wears out, the bounce can become longer, noisier, or inconsistent, so the computer receives two button presses even though your finger made one physical press.',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Double-clicking is not always caused by the same thing. It may be mechanical switch wear, firmware debounce set too aggressively, dust or oxidation inside the switch, wireless packet instability, macro software, a damaged cable, or an operating system setting that makes accidental double-clicks easier to notice.',
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Symptom', 'Likely Cause', 'What to Test'],
144
+ rows: [
145
+ ['One click opens files as if double-clicked', 'Left switch bounce or OS double-click speed confusion', 'Test Left with slow single presses at 80 ms'],
146
+ ['Right-click menu flashes or closes', 'Right switch bounce or software intercepting context menus', 'Test Right and disable mouse utilities temporarily'],
147
+ ['Middle-click opens two tabs', 'Wheel switch wear', 'Test Wheel with deliberate single presses'],
148
+ ['Back button jumps two pages', 'Side switch bounce or browser shortcut repeat', 'Test Back and Forward separately'],
149
+ ['Only happens wirelessly', 'Wireless interference, low battery, or receiver placement', 'Retest wired or move receiver closer'],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Choosing the Right Debounce Threshold',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'The threshold is the maximum gap that this tool still considers suspicious. The default value, <strong>80 ms</strong>, is a practical middle ground: strict enough to catch many unwanted duplicate events, but not so aggressive that every normal deliberate double-click becomes a hardware failure.',
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Threshold', 'Best For', 'How to Interpret It'],
164
+ rows: [
165
+ ['30-50 ms', 'Strict electrical bounce checks', 'Good for confirming very fast duplicate events from a worn switch'],
166
+ ['60-90 ms', 'General mouse double-click diagnosis', 'Best default range for most gaming and office mice'],
167
+ ['100-140 ms', 'Intermittent worn switches', 'Useful when the mouse sometimes creates wider accidental gaps'],
168
+ ['150-180 ms', 'Stress testing and weak switches', 'Use carefully, because fast intentional double-clicks can fall into this range'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'How to Run a Reliable Test',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'For the first pass, do not intentionally double-click. Press each mouse button slowly and deliberately, one button at a time, while the cursor is over the mouse visual. A healthy switch should produce stable single events. If the suspicious counter increases during slow single presses, repeat the same button test several times to confirm the pattern.',
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Test Left for 20 to 30 slow presses, then Right, then Wheel, then side buttons',
184
+ 'Do not drag the mouse while testing button bounce, because movement can distract from the timing result',
185
+ 'If a button shows suspicious events, repeat the same test after changing USB port or browser',
186
+ 'For wireless mice, test with a fresh battery and the receiver close to the mouse',
187
+ 'If only one button fails repeatedly, the fault is probably that specific switch rather than the whole device',
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Interpreting the Results',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Result', 'Meaning', 'Recommended Next Step'],
198
+ rows: [
199
+ ['0 suspicious events after many presses', 'The tested buttons look healthy under the selected threshold', 'Keep the default threshold or test again later if symptoms return'],
200
+ ['1 isolated suspicious event', 'Could be a real bounce or an accidental fast press', 'Repeat the same button slowly before drawing conclusions'],
201
+ ['Repeated suspicious events on one button', 'Strong sign of switch bounce or worn contacts', 'Test on another computer and document the result'],
202
+ ['Suspicious events on every button', 'Could be software, driver, macro utility, or browser environment', 'Disable mouse software and retest'],
203
+ ['Only wireless mode fails', 'Likely battery, receiver placement, or interference', 'Try wired mode or move the receiver closer'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'The health score is a quick summary, not a final verdict. The most important evidence is <strong>which button</strong> produced suspicious events and whether the pattern repeats when you press that same button slowly. A single bad event during a rushed test is less meaningful than five suspicious right-click events during deliberate single presses.',
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Before You Replace the Mouse',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ 'Check whether your mouse software has a debounce-time setting and test again after changing it',
219
+ 'Disable macros, rapid-fire profiles, or button remapping utilities during diagnosis',
220
+ 'Try a different USB port, especially if you use a hub or front-panel connector',
221
+ 'For wireless mice, test with the dongle on an extension cable near the mouse pad',
222
+ 'Compare with another mouse on the same computer to separate hardware failure from software behavior',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Repair, Warranty, and Evidence',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: 'If the fault is mechanical, cleaning the outside shell rarely fixes it permanently because the problem is inside the switch contacts. Some users replace the microswitch, but that requires soldering and is not worth it for every mouse. If the mouse is under warranty, repeated suspicious gaps on the same button are useful evidence when explaining the issue to support.',
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: 'For warranty claims, record a short screen capture while you press the failing button slowly. Make sure the event chips show the button label and the suspicious timing. This is clearer than saying "my mouse double-clicks sometimes" because it demonstrates the actual button and the approximate timing of the unwanted duplicate event.',
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: 'Limitations of a Browser-Based Mouse Test',
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'This test measures the events that reach the browser. It cannot directly inspect the electrical waveform inside the switch, and it cannot bypass every driver, operating system, or vendor utility. That is still useful: if the browser receives duplicate events, your normal applications can receive them too. For engineering-level validation, hardware tools such as oscilloscopes or switch testers provide deeper evidence, but they are not necessary for most user diagnostics.',
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Switch Bounce Lab',
250
+ clickTarget: 'Button Matrix',
251
+ clickTargetHint: 'Press left, right, wheel, back, and forward',
252
+ totalClicks: 'Total',
253
+ suspiciousClicks: 'Suspicious',
254
+ fastestGap: 'Fastest gap',
255
+ healthScore: 'Health score',
256
+ thresholdLabel: 'Detection threshold',
257
+ thresholdUnit: 'ms',
258
+ cleanEvent: 'clean',
259
+ suspiciousEvent: 'suspect',
260
+ reset: 'Reset',
261
+ statusIdle: 'Press each mouse button to test it independently',
262
+ statusClean: 'No suspicious button bounce detected',
263
+ statusWarning: 'Suspicious bounce detected on a mouse button',
264
+ lastGap: 'Last event',
265
+ logTitle: 'Recent button events',
266
+ emptyLog: 'Press any mouse button over the mouse body.',
267
+ leftButton: 'Left',
268
+ middleButton: 'Wheel',
269
+ rightButton: 'Right',
270
+ backButton: 'Back',
271
+ forwardButton: 'Forward',
272
+ otherButton: 'Other',
273
+ },
274
+ };