@jjlmoya/utils-hardware 1.18.0 → 1.20.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 (62) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/entries.ts +7 -1
  4. package/src/index.ts +2 -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/monitorGhostingTest/bibliography.astro +14 -0
  13. package/src/tool/monitorGhostingTest/bibliography.ts +20 -0
  14. package/src/tool/monitorGhostingTest/component.astro +156 -0
  15. package/src/tool/monitorGhostingTest/entry.ts +29 -0
  16. package/src/tool/monitorGhostingTest/i18n/de.ts +293 -0
  17. package/src/tool/monitorGhostingTest/i18n/en.ts +293 -0
  18. package/src/tool/monitorGhostingTest/i18n/es.ts +293 -0
  19. package/src/tool/monitorGhostingTest/i18n/fr.ts +293 -0
  20. package/src/tool/monitorGhostingTest/i18n/id.ts +293 -0
  21. package/src/tool/monitorGhostingTest/i18n/it.ts +293 -0
  22. package/src/tool/monitorGhostingTest/i18n/ja.ts +293 -0
  23. package/src/tool/monitorGhostingTest/i18n/ko.ts +293 -0
  24. package/src/tool/monitorGhostingTest/i18n/nl.ts +293 -0
  25. package/src/tool/monitorGhostingTest/i18n/pl.ts +293 -0
  26. package/src/tool/monitorGhostingTest/i18n/pt.ts +293 -0
  27. package/src/tool/monitorGhostingTest/i18n/ru.ts +293 -0
  28. package/src/tool/monitorGhostingTest/i18n/sv.ts +293 -0
  29. package/src/tool/monitorGhostingTest/i18n/tr.ts +293 -0
  30. package/src/tool/monitorGhostingTest/i18n/zh.ts +293 -0
  31. package/src/tool/monitorGhostingTest/index.ts +9 -0
  32. package/src/tool/monitorGhostingTest/logic.ts +195 -0
  33. package/src/tool/monitorGhostingTest/monitor-ghosting-test.css +546 -0
  34. package/src/tool/monitorGhostingTest/seo.astro +15 -0
  35. package/src/tool/monitorGhostingTest/ui.ts +30 -0
  36. package/src/tool/mouseDoubleClickTest/bibliography.astro +14 -0
  37. package/src/tool/mouseDoubleClickTest/bibliography.ts +16 -0
  38. package/src/tool/mouseDoubleClickTest/component.astro +135 -0
  39. package/src/tool/mouseDoubleClickTest/entry.ts +29 -0
  40. package/src/tool/mouseDoubleClickTest/i18n/de.ts +274 -0
  41. package/src/tool/mouseDoubleClickTest/i18n/en.ts +274 -0
  42. package/src/tool/mouseDoubleClickTest/i18n/es.ts +274 -0
  43. package/src/tool/mouseDoubleClickTest/i18n/fr.ts +274 -0
  44. package/src/tool/mouseDoubleClickTest/i18n/id.ts +285 -0
  45. package/src/tool/mouseDoubleClickTest/i18n/it.ts +274 -0
  46. package/src/tool/mouseDoubleClickTest/i18n/ja.ts +274 -0
  47. package/src/tool/mouseDoubleClickTest/i18n/ko.ts +274 -0
  48. package/src/tool/mouseDoubleClickTest/i18n/nl.ts +274 -0
  49. package/src/tool/mouseDoubleClickTest/i18n/pl.ts +274 -0
  50. package/src/tool/mouseDoubleClickTest/i18n/pt.ts +274 -0
  51. package/src/tool/mouseDoubleClickTest/i18n/ru.ts +274 -0
  52. package/src/tool/mouseDoubleClickTest/i18n/sv.ts +274 -0
  53. package/src/tool/mouseDoubleClickTest/i18n/tr.ts +274 -0
  54. package/src/tool/mouseDoubleClickTest/i18n/zh.ts +274 -0
  55. package/src/tool/mouseDoubleClickTest/index.ts +9 -0
  56. package/src/tool/mouseDoubleClickTest/logic.ts +258 -0
  57. package/src/tool/mouseDoubleClickTest/mouse-double-click-test.css +488 -0
  58. package/src/tool/mouseDoubleClickTest/seo.astro +15 -0
  59. package/src/tool/mouseDoubleClickTest/ui.ts +26 -0
  60. package/src/tool/mousePollingTest/logic/RatonManager.ts +6 -6
  61. package/src/tool/toneGenerator/component.astro +7 -7
  62. package/src/tools.ts +3 -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 = 'test-double-clic-souris';
7
+ const title = 'Test de Double Clic de Souris';
8
+ const description =
9
+ 'Testez chaque bouton de la souris et détectez les doubles clics indésirables, les interrupteurs usés et les rebonds de contact avec une mesure du temps par bouton dans votre navigateur.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: "Qu'est-ce qu'un problème de double clic de souris ?",
14
+ answer:
15
+ "Un problème de double clic se produit lorsqu'une pression physique est signalée comme deux clics. Il peut affecter le bouton gauche, le bouton droit, le clic molette ou les boutons latéraux, et est généralement causé par l'usure de l'interrupteur, le rebond des contacts, les paramètres d'anti-rebond du micrologiciel ou l'instabilité du signal sans fil.",
16
+ },
17
+ {
18
+ question: "Quel écart est considéré comme suspect ?",
19
+ answer:
20
+ "Les écarts très courts entre les clics sont suspects car les doubles clics humains prennent généralement plus de temps. Cet outil commence avec un seuil de 80 ms, mais vous pouvez l'ajuster selon la souris et votre style de test.",
21
+ },
22
+ {
23
+ question: "Un navigateur peut-il prouver que l'interrupteur est cassé ?",
24
+ answer:
25
+ "Un navigateur ne peut pas inspecter directement l'interrupteur électrique, mais il peut enregistrer les événements de clic que votre système d'exploitation reçoit. Des écarts suspects répétés lors d'un test de clic simple sont une forte preuve de rebond ou de double clic indésirable.",
26
+ },
27
+ {
28
+ question: 'Comment tester correctement ?',
29
+ answer:
30
+ "Cliquez lentement et délibérément, en visant des pressions simples. Si le compteur suspect augmente même lorsque vous ne faites pas intentionnellement de double clic, répétez le test sur un autre port USB, un autre navigateur et un autre ordinateur si possible.",
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Définir le seuil de détection',
37
+ text: "Commencez par 80 ms. Abaissez-le pour une détection stricte des rebonds ou augmentez-le si votre appareil produit des écarts accidentels légèrement plus larges.",
38
+ },
39
+ {
40
+ name: 'Cliquez comme un clic simple normal',
41
+ text: "Appuyez sur chaque bouton de la souris un clic à la fois sur le visuel de la souris. Ne faites pas intentionnellement de double clic lors du premier passage.",
42
+ },
43
+ {
44
+ name: 'Surveillez le compteur suspect',
45
+ text: "Si des événements suspects apparaissent pendant que vous faites des clics simples, vérifiez quel bouton visuel a été mis en surbrillance et comparez-le avec les pastilles d'événements compactes.",
46
+ },
47
+ {
48
+ name: 'Comparez avec un autre appareil',
49
+ text: "Une souris saine devrait garder un score élevé sous le même seuil. Comparer les appareils aide à distinguer les défauts matériels des paramètres logiciels.",
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: 'fr',
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: 'Test de Double Clic de Souris: Diagnostiquer le Rebond des Boutons en Ligne',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: "Une souris qui double-clique lorsque vous appuyez une seule fois n'est pas seulement agaçante. Elle peut ouvrir des dossiers par accident, annuler des actions de glisser-déposer, tirer deux coups dans un jeu, fermer des onglets du navigateur ou faire apparaître et disparaître les menus contextuels avant que vous puissiez les utiliser. Ce test de double clic de souris en ligne se concentre sur le signal diagnostique utile: <strong>l'écart de temps entre les événements de bouton signalés par votre système d'exploitation</strong>.",
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: "Contrairement à un simple compteur de clics, cet outil suit chaque bouton indépendamment: clic gauche, clic droit, clic molette, retour du navigateur et avance du navigateur. C'est important car une souris peut avoir un bouton droit défaillant alors que le bouton gauche est encore sain, ou un bouton latéral usé qui ne se déclenche qu'après des mois de jeu ou de raccourcis de productivité.",
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'Ce Que Mesure Ce Test de Boutons de Souris',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: "Lorsque vous appuyez sur un bouton de souris, le navigateur reçoit un événement de pointeur contenant le code du bouton. L'outil stocke le dernier horodatage pour ce même bouton physique et le compare avec la pression suivante du même bouton. Si l'écart est plus court que le seuil choisi, l'événement est marqué comme suspect car un deuxième clic normal intentionnel prend généralement plus de temps.",
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ "Bouton gauche: utile pour détecter les doubles clics accidentels lors de l'ouverture de fichiers, la sélection de texte ou le déplacement de fenêtres",
122
+ "Bouton droit: utile lorsque les menus contextuels clignotent, s'ouvrent deux fois ou se ferment immédiatement",
123
+ "Bouton molette: utile pour les souris où le clic central ouvre plusieurs onglets ou échoue après une navigation intensive",
124
+ "Boutons Retour et Avance: utiles pour les souris gaming et les souris de productivité avec des interrupteurs latéraux",
125
+ "Mesure par bouton: évite de mélanger un clic gauche avec un clic droit et de l'appeler un faux double clic",
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Pourquoi les Souris Commencent à Double-Cliquer',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: "La plupart des souris utilisent de petits interrupteurs mécaniques sous chaque bouton. Lorsque les contacts de l'interrupteur se ferment, le métal peut rebondir électriquement pendant une très courte période avant de se stabiliser. Le micrologiciel de la souris filtre normalement ce bruit avec une logique d'anti-rebond. À mesure que l'interrupteur s'use, le rebond peut devenir plus long, plus bruyant ou irrégulier, de sorte que l'ordinateur reçoit deux pressions de bouton même si votre doigt n'a fait qu'une seule pression physique.",
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: "Le double-clic n'est pas toujours causé par la même chose. Il peut s'agir de l'usure mécanique de l'interrupteur, d'un anti-rebond du micrologiciel réglé de manière trop agressive, de poussière ou d'oxydation à l'intérieur de l'interrupteur, d'instabilité des paquets sans fil, d'un logiciel de macro, d'un câble endommagé ou d'un paramètre du système d'exploitation qui rend les doubles clics accidentels plus faciles à remarquer.",
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Symptôme', 'Cause Probable', 'Que Tester'],
144
+ rows: [
145
+ ['Un clic ouvre des fichiers comme en double-clic', "Rebond de l'interrupteur gauche ou confusion de la vitesse de double-clic du système d'exploitation", 'Testez Gauche avec des pressions simples lentes à 80 ms'],
146
+ ["Le menu clic droit clignote ou se ferme", "Rebond de l'interrupteur droit ou logiciel interceptant les menus contextuels", 'Testez Droit et désactivez temporairement les utilitaires de souris'],
147
+ ['Le clic central ouvre deux onglets', "Usure de l'interrupteur de la molette", 'Testez Molette avec des pressions simples délibérées'],
148
+ ['Le bouton Retour saute deux pages', 'Rebond de l\'interrupteur latéral ou répétition du raccourci du navigateur', 'Testez Retour et Avance séparément'],
149
+ ["Se produit uniquement en mode sans fil", 'Interférence sans fil, batterie faible ou placement du récepteur', "Retestez en mode filaire ou rapprochez le récepteur"],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: "Choisir le Bon Seuil d'Anti-Rebond",
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: "Le seuil est l'écart maximal que cet outil considère encore comme suspect. La valeur par défaut, <strong>80 ms</strong>, est un juste milieu pratique: assez strict pour détecter de nombreux événements dupliqués indésirables, mais pas si agressif que chaque double-clic normal et délibéré devienne une défaillance matérielle.",
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Seuil', 'Idéal Pour', "Comment l'interpréter"],
164
+ rows: [
165
+ ['30-50 ms', 'Vérifications strictes de rebond électrique', "Bon pour confirmer des événements dupliqués très rapides d'un interrupteur usé"],
166
+ ['60-90 ms', 'Diagnostic général de double-clic de souris', 'Meilleure plage par défaut pour la plupart des souris gaming et de bureau'],
167
+ ['100-140 ms', 'Interrupteurs usés intermittents', 'Utile lorsque la souris crée parfois des écarts accidentels plus larges'],
168
+ ['150-180 ms', "Tests de stress et interrupteurs faibles", 'Utilisez avec précaution, car les doubles clics intentionnels rapides peuvent tomber dans cette plage'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Comment Effectuer un Test Fiable',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: "Pour le premier passage, ne faites pas intentionnellement de double clic. Appuyez sur chaque bouton de la souris lentement et délibérément, un bouton à la fois, pendant que le curseur est sur le visuel de la souris. Un interrupteur sain devrait produire des événements simples stables. Si le compteur suspect augmente pendant des pressions simples lentes, répétez le même test de bouton plusieurs fois pour confirmer le motif.",
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Testez Gauche avec 20 à 30 pressions lentes, puis Droit, puis Molette, puis les boutons latéraux',
184
+ 'Ne faites pas glisser la souris pendant le test de rebond de bouton, car le mouvement peut perturber le résultat de mesure',
185
+ "Si un bouton montre des événements suspects, répétez le même test après avoir changé de port USB ou de navigateur",
186
+ "Pour les souris sans fil, testez avec une batterie neuve et le récepteur près de la souris",
187
+ "Si un seul bouton échoue de manière répétée, le défaut est probablement cet interrupteur spécifique plutôt que l'ensemble du dispositif",
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Interpréter les Résultats',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Résultat', 'Signification', 'Prochaine Étape Recommandée'],
198
+ rows: [
199
+ ['0 événement suspect après de nombreuses pressions', 'Les boutons testés semblent sains sous le seuil sélectionné', 'Gardez le seuil par défaut ou retestez plus tard si les symptômes reviennent'],
200
+ ['1 événement suspect isolé', "Pourrait être un vrai rebond ou une pression rapide accidentelle", 'Répétez le même bouton lentement avant de tirer des conclusions'],
201
+ ['Événements suspects répétés sur un bouton', "Signe fort de rebond d'interrupteur ou de contacts usés", 'Testez sur un autre ordinateur et documentez le résultat'],
202
+ ['Événements suspects sur chaque bouton', 'Pourrait être un logiciel, un pilote, un utilitaire de macro ou l\'environnement du navigateur', 'Désactivez le logiciel de la souris et retestez'],
203
+ ['Seul le mode sans fil échoue', 'Probablement la batterie, le placement du récepteur ou des interférences', 'Essayez le mode filaire ou rapprochez le récepteur'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: "Le score de santé est un résumé rapide, pas un verdict final. La preuve la plus importante est <strong>quel bouton</strong> a produit des événements suspects et si le motif se répète lorsque vous appuyez sur ce même bouton lentement. Un seul mauvais événement lors d'un test précipité est moins significatif que cinq événements suspects de clic droit lors de pressions simples délibérées.",
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Avant de Remplacer la Souris',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ "Vérifiez si votre logiciel de souris a un paramètre de temps d'anti-rebond et retestez après l'avoir modifié",
219
+ 'Désactivez les macros, les profils de tir rapide ou les réaffectations de boutons pendant le diagnostic',
220
+ "Essayez un autre port USB, surtout si vous utilisez un hub ou un connecteur de panneau avant",
221
+ "Pour les souris sans fil, testez avec le dongle sur un câble d'extension près du tapis de souris",
222
+ 'Comparez avec une autre souris sur le même ordinateur pour distinguer une défaillance matérielle du comportement logiciel',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Réparation, Garantie et Preuves',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: "Si le défaut est mécanique, le nettoyage de la coque extérieure le résout rarement définitivement car le problème se trouve à l'intérieur des contacts de l'interrupteur. Certains utilisateurs remplacent le micro-interrupteur, mais cela nécessite une soudure et ne vaut pas le coup pour toutes les souris. Si la souris est sous garantie, des écarts suspects répétés sur le même bouton sont une preuve utile pour expliquer le problème au support.",
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: "Pour les réclamations de garantie, enregistrez une courte capture d'écran pendant que vous appuyez lentement sur le bouton défaillant. Assurez-vous que les pastilles d'événements montrent l'étiquette du bouton et le temps suspect. C'est plus clair que de dire 'ma souris double-clique parfois' car cela démontre le bouton réel et le temps approximatif de l'événement dupliqué indésirable.",
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: "Limitations d'un Test de Souris Basé sur Navigateur",
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: "Ce test mesure les événements qui atteignent le navigateur. Il ne peut pas inspecter directement la forme d'onde électrique à l'intérieur de l'interrupteur, et il ne peut pas contourner tous les pilotes, systèmes d'exploitation ou utilitaires du fabricant. Cela reste utile: si le navigateur reçoit des événements dupliqués, vos applications normales peuvent les recevoir aussi. Pour une validation de niveau ingénierie, des outils matériels tels que des oscilloscopes ou des testeurs d'interrupteurs fournissent des preuves plus approfondies, mais ils ne sont pas nécessaires pour la plupart des diagnostics utilisateur.",
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Labo Anti-Rebond',
250
+ clickTarget: 'Matrice de Boutons',
251
+ clickTargetHint: 'Appuyez sur gauche, droit, molette, retour et avance',
252
+ totalClicks: 'Total',
253
+ suspiciousClicks: 'Suspects',
254
+ fastestGap: 'Écart le plus court',
255
+ healthScore: 'Score de santé',
256
+ thresholdLabel: 'Seuil de détection',
257
+ thresholdUnit: 'ms',
258
+ cleanEvent: 'propre',
259
+ suspiciousEvent: 'suspect',
260
+ reset: 'Réinitialiser',
261
+ statusIdle: 'Appuyez sur chaque bouton de la souris pour le tester indépendamment',
262
+ statusClean: 'Aucun rebond de bouton suspect détecté',
263
+ statusWarning: 'Rebond suspect détecté sur un bouton de la souris',
264
+ lastGap: 'Dernier événement',
265
+ logTitle: 'Événements de bouton récents',
266
+ emptyLog: 'Appuyez sur n\'importe quel bouton de la souris sur le corps de la souris.',
267
+ leftButton: 'Gauche',
268
+ middleButton: 'Molette',
269
+ rightButton: 'Droit',
270
+ backButton: 'Retour',
271
+ forwardButton: 'Avance',
272
+ otherButton: 'Autre',
273
+ },
274
+ };
@@ -0,0 +1,285 @@
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 = 'tes-klik-ganda-mouse';
7
+ const title = 'Tes Klik Ganda Mouse';
8
+ const description =
9
+ 'Uji setiap tombol mouse dan deteksi klik ganda yang tidak diinginkan, sakelar yang aus, dan pantulan kontak dengan pengaturan waktu per tombol di browser Anda.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Apa itu masalah klik ganda mouse?',
14
+ answer:
15
+ 'Masalah klik ganda terjadi ketika satu tekanan fisik dilaporkan sebagai dua klik. Ini dapat memengaruhi tombol kiri, tombol kanan, klik roda, atau tombol samping, dan biasanya disebabkan oleh keausan sakelar, pantulan kontak, pengaturan anti-pantul firmware, atau ketidakstabilan sinyal nirkabel.',
16
+ },
17
+ {
18
+ question: 'Jarak apa yang dianggap mencurigakan?',
19
+ answer:
20
+ 'Jarak yang sangat pendek antara klik dianggap mencurigakan karena klik ganda manusia biasanya membutuhkan waktu lebih lama. Alat ini dimulai dengan ambang 80 ms, tetapi Anda dapat menyesuaikannya tergantung pada mouse dan gaya pengujian Anda.',
21
+ },
22
+ {
23
+ question: 'Bisakah browser membuktikan sakelar rusak?',
24
+ answer:
25
+ 'Browser tidak dapat memeriksa sakelar listrik secara langsung, tetapi dapat merekam peristiwa klik yang diterima sistem operasi Anda. Jarak mencurigakan yang berulang selama pengujian klik tunggal adalah bukti kuat adanya pantulan atau klik ganda yang tidak diinginkan.',
26
+ },
27
+ {
28
+ question: 'Bagaimana cara menguji dengan benar?',
29
+ answer:
30
+ 'Klik perlahan dan sengaja, bertujuan untuk tekanan tunggal. Jika penghitung mencurigakan naik bahkan ketika Anda tidak sengaja melakukan klik ganda, ulangi pengujian di port USB lain, browser lain, dan komputer lain jika memungkinkan.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Atur ambang deteksi',
37
+ text: 'Mulai dengan 80 ms. Turunkan untuk deteksi pantulan sakelar yang ketat atau naikkan jika perangkat Anda menghasilkan celah tidak sengaja yang sedikit lebih lebar.',
38
+ },
39
+ {
40
+ name: 'Klik seperti klik tunggal normal',
41
+ text: 'Tekan setiap tombol mouse satu klik pada satu waktu di atas visual mouse. Jangan sengaja melakukan klik ganda selama putaran pertama.',
42
+ },
43
+ {
44
+ name: 'Amati penghitung mencurigakan',
45
+ text: 'Jika peristiwa mencurigakan muncul saat Anda melakukan klik tunggal, periksa tombol visual mana yang disorot dan bandingkan dengan chip peristiwa ringkas.',
46
+ },
47
+ {
48
+ name: 'Bandingkan dengan perangkat lain',
49
+ text: 'Mouse yang sehat seharusnya mempertahankan skor tinggi di bawah ambang yang sama. Membandingkan perangkat membantu memisahkan kesalahan perangkat keras dari pengaturan perangkat lunak.',
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: 'id',
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: 'Tes Klik Ganda Mouse: Diagnosis Pantulan Tombol Secara Online',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html:
104
+ 'Mouse yang melakukan klik ganda saat Anda menekan sekali bukan hanya menjengkelkan. Ini dapat membuka folder secara tidak sengaja, membatalkan tindakan seret dan lepas, menembak dua kali dalam game, menutup tab browser, atau membuat menu klik kanan muncul dan menghilang sebelum Anda dapat menggunakannya. Tes klik ganda mouse online ini berfokus pada sinyal diagnostik yang berguna: <strong>jarak waktu antara peristiwa tombol yang dilaporkan oleh sistem operasi Anda</strong>.',
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html:
109
+ 'Tidak seperti penghitung klik biasa, alat ini melacak setiap tombol secara independen: klik kiri, klik kanan, klik roda, kembali browser, dan maju browser. Itu penting karena mouse dapat memiliki tombol kanan yang rusak sementara tombol kirinya masih sehat, atau tombol samping yang aus yang hanya salah tembak setelah berbulan-bulan bermain game atau menggunakan pintasan produktivitas.',
110
+ },
111
+ {
112
+ type: 'title',
113
+ text: 'Apa yang Diukur oleh Tes Tombol Mouse Ini',
114
+ level: 3,
115
+ },
116
+ {
117
+ type: 'paragraph',
118
+ html:
119
+ 'Saat Anda menekan tombol mouse, browser menerima peristiwa penunjuk yang berisi kode tombol. Alat ini menyimpan stempel waktu terakhir untuk tombol fisik yang sama dan membandingkannya dengan tekanan berikutnya dari tombol yang sama. Jika jaraknya lebih pendek dari ambang yang Anda pilih, peristiwa tersebut ditandai sebagai mencurigakan karena klik kedua yang disengaja normal biasanya memakan waktu lebih lama.',
120
+ },
121
+ {
122
+ type: 'list',
123
+ items: [
124
+ 'Tombol kiri: berguna untuk mendeteksi klik ganda tidak sengaja saat membuka file, memilih teks, atau menyeret jendela',
125
+ 'Tombol kanan: berguna saat menu konteks berkedip, terbuka dua kali, atau langsung tertutup',
126
+ 'Tombol roda: berguna untuk mouse di mana klik tengah membuka banyak tab atau gagal setelah penjelajahan berat',
127
+ 'Tombol Kembali dan Maju: berguna untuk mouse gaming dan mouse produktivitas dengan sakelar samping',
128
+ 'Pengaturan waktu per tombol: menghindari pencampuran klik kiri dengan klik kanan dan menyebutnya klik ganda palsu',
129
+ ],
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Mengapa Mouse Mulai Melakukan Klik Ganda',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'paragraph',
138
+ html:
139
+ 'Kebanyakan mouse menggunakan sakelar mekanis kecil di bawah setiap tombol. Ketika kontak sakelar menutup, logam dapat memantul secara listrik untuk periode yang sangat singkat sebelum stabil. Firmware mouse biasanya menyaring kebisingan itu dengan logika anti-pantul. Saat sakelar aus, pantulan dapat menjadi lebih lama, lebih bising, atau tidak konsisten, sehingga komputer menerima dua tekanan tombol meskipun jari Anda hanya melakukan satu tekanan fisik.',
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html:
144
+ 'Klik ganda tidak selalu disebabkan oleh hal yang sama. Ini bisa berupa keausan sakelar mekanis, anti-pantul firmware yang diatur terlalu agresif, debu atau oksidasi di dalam sakelar, ketidakstabilan paket nirkabel, perangkat lunak makro, kabel yang rusak, atau pengaturan sistem operasi yang membuat klik ganda tidak sengaja lebih mudah terlihat.',
145
+ },
146
+ {
147
+ type: 'table',
148
+ headers: ['Gejala', 'Kemungkinan Penyebab', 'Yang Harus Diuji'],
149
+ rows: [
150
+ ['Satu klik membuka file seolah-olah diklik ganda', 'Pantulan sakelar kiri atau kebingungan kecepatan klik ganda OS', 'Uji Kiri dengan tekanan tunggal lambat pada 80 ms'],
151
+ ['Menu klik kanan berkedip atau menutup', 'Pantulan sakelar kanan atau perangkat lunak yang mencegat menu konteks', 'Uji Kanan dan nonaktifkan utilitas mouse sementara'],
152
+ ['Klik tengah membuka dua tab', 'Keausan sakelar roda', 'Uji Roda dengan tekanan tunggal yang disengaja'],
153
+ ['Tombol kembali melompat dua halaman', 'Pantulan sakelar samping atau pengulangan pintasan browser', 'Uji Kembali dan Maju secara terpisah'],
154
+ ['Hanya terjadi secara nirkabel', 'Interferensi nirkabel, baterai rendah, atau penempatan penerima', 'Uji ulang dengan kabel atau dekatkan penerima'],
155
+ ],
156
+ },
157
+ {
158
+ type: 'title',
159
+ text: 'Memilih Ambang Anti-Pantul yang Tepat',
160
+ level: 3,
161
+ },
162
+ {
163
+ type: 'paragraph',
164
+ html:
165
+ 'Ambang adalah jarak maksimum yang masih dianggap mencurigakan oleh alat ini. Nilai default, <strong>80 ms</strong>, adalah titik tengah praktis: cukup ketat untuk menangkap banyak peristiwa duplikat yang tidak diinginkan, tetapi tidak begitu agresif sehingga setiap klik ganda normal yang disengaja menjadi kegagalan perangkat keras.',
166
+ },
167
+ {
168
+ type: 'table',
169
+ headers: ['Ambang', 'Terbaik Untuk', 'Cara Menafsirkannya'],
170
+ rows: [
171
+ ['30-50 ms', 'Pemeriksaan pantulan listrik yang ketat', 'Baik untuk mengonfirmasi peristiwa duplikat yang sangat cepat dari sakelar yang aus'],
172
+ ['60-90 ms', 'Diagnosis klik ganda mouse umum', 'Rentang default terbaik untuk sebagian besar mouse gaming dan kantor'],
173
+ ['100-140 ms', 'Sakelar aus intermiten', 'Berguna ketika mouse terkadang menciptakan celah tidak sengaja yang lebih lebar'],
174
+ ['150-180 ms', 'Uji stres dan sakelar lemah', 'Gunakan dengan hati-hati, karena klik ganda sengaja yang cepat dapat masuk ke dalam rentang ini'],
175
+ ],
176
+ },
177
+ {
178
+ type: 'title',
179
+ text: 'Cara Menjalankan Tes yang Andal',
180
+ level: 3,
181
+ },
182
+ {
183
+ type: 'paragraph',
184
+ html:
185
+ 'Untuk putaran pertama, jangan sengaja melakukan klik ganda. Tekan setiap tombol mouse secara perlahan dan sengaja, satu tombol pada satu waktu, sementara kursor berada di atas visual mouse. Sakelar yang sehat seharusnya menghasilkan peristiwa tunggal yang stabil. Jika penghitung mencurigakan meningkat selama tekanan tunggal lambat, ulangi tes tombol yang sama beberapa kali untuk mengonfirmasi polanya.',
186
+ },
187
+ {
188
+ type: 'list',
189
+ items: [
190
+ 'Uji Kiri dengan 20 hingga 30 tekanan lambat, lalu Kanan, lalu Roda, lalu tombol samping',
191
+ 'Jangan seret mouse saat menguji pantulan tombol, karena gerakan dapat mengganggu hasil waktu',
192
+ 'Jika tombol menunjukkan peristiwa mencurigakan, ulangi pengujian yang sama setelah mengganti port USB atau browser',
193
+ 'Untuk mouse nirkabel, uji dengan baterai baru dan penerima dekat dengan mouse',
194
+ 'Jika hanya satu tombol yang gagal berulang kali, kesalahannya mungkin pada sakelar spesifik itu daripada seluruh perangkat',
195
+ ],
196
+ },
197
+ {
198
+ type: 'title',
199
+ text: 'Menafsirkan Hasil',
200
+ level: 3,
201
+ },
202
+ {
203
+ type: 'table',
204
+ headers: ['Hasil', 'Arti', 'Langkah Selanjutnya yang Disarankan'],
205
+ rows: [
206
+ ['0 peristiwa mencurigakan setelah banyak tekanan', 'Tombol yang diuji terlihat sehat di bawah ambang yang dipilih', 'Pertahankan ambang default atau uji lagi nanti jika gejala kembali'],
207
+ ['1 peristiwa mencurigakan terisolasi', 'Bisa jadi pantulan nyata atau tekanan cepat yang tidak sengaja', 'Ulangi tombol yang sama secara perlahan sebelum menarik kesimpulan'],
208
+ ['Peristiwa mencurigakan berulang pada satu tombol', 'Tanda kuat pantulan sakelar atau kontak yang aus', 'Uji di komputer lain dan dokumentasikan hasilnya'],
209
+ ['Peristiwa mencurigakan pada setiap tombol', 'Bisa jadi perangkat lunak, driver, utilitas makro, atau lingkungan browser', 'Nonaktifkan perangkat lunak mouse dan uji ulang'],
210
+ ['Hanya mode nirkabel yang gagal', 'Kemungkinan baterai, penempatan penerima, atau interferensi', 'Coba mode kabel atau dekatkan penerima'],
211
+ ],
212
+ },
213
+ {
214
+ type: 'paragraph',
215
+ html:
216
+ 'Skor kesehatan adalah ringkasan cepat, bukan keputusan akhir. Bukti terpenting adalah <strong>tombol mana</strong> yang menghasilkan peristiwa mencurigakan dan apakah polanya berulang saat Anda menekan tombol yang sama secara perlahan. Satu peristiwa buruk selama pengujian terburu-buru kurang berarti daripada lima peristiwa mencurigakan klik kanan selama tekanan tunggal yang disengaja.',
217
+ },
218
+ {
219
+ type: 'title',
220
+ text: 'Sebelum Mengganti Mouse',
221
+ level: 3,
222
+ },
223
+ {
224
+ type: 'list',
225
+ items: [
226
+ 'Periksa apakah perangkat lunak mouse Anda memiliki pengaturan waktu anti-pantul dan uji lagi setelah mengubahnya',
227
+ 'Nonaktifkan makro, profil rapid-fire, atau pemetaan ulang tombol selama diagnosis',
228
+ 'Coba port USB yang berbeda, terutama jika Anda menggunakan hub atau konektor panel depan',
229
+ 'Untuk mouse nirkabel, uji dengan dongle pada kabel ekstensi di dekat alas mouse',
230
+ 'Bandingkan dengan mouse lain di komputer yang sama untuk memisahkan kegagalan perangkat keras dari perilaku perangkat lunak',
231
+ ],
232
+ },
233
+ {
234
+ type: 'title',
235
+ text: 'Perbaikan, Garansi, dan Bukti',
236
+ level: 3,
237
+ },
238
+ {
239
+ type: 'paragraph',
240
+ html:
241
+ 'Jika kesalahannya mekanis, membersihkan cangkang luar jarang memperbaikinya secara permanen karena masalahnya ada di dalam kontak sakelar. Beberapa pengguna mengganti sakelar mikro, tetapi itu memerlukan penyolderan dan tidak sepadan untuk setiap mouse. Jika mouse masih dalam garansi, jarak mencurigakan berulang pada tombol yang sama adalah bukti berguna saat menjelaskan masalah ke dukungan.',
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html:
246
+ 'Untuk klaim garansi, rekam tangkapan layar singkat saat Anda menekan tombol yang gagal secara perlahan. Pastikan chip peristiwa menunjukkan label tombol dan waktu yang mencurigakan. Ini lebih jelas daripada mengatakan "mouse saya terkadang klik ganda" karena menunjukkan tombol sebenarnya dan perkiraan waktu dari peristiwa duplikat yang tidak diinginkan.',
247
+ },
248
+ {
249
+ type: 'title',
250
+ text: 'Keterbatasan Tes Mouse Berbasis Browser',
251
+ level: 3,
252
+ },
253
+ {
254
+ type: 'paragraph',
255
+ html:
256
+ 'Tes ini mengukur peristiwa yang mencapai browser. Ini tidak dapat memeriksa langsung bentuk gelombang listrik di dalam sakelar, dan tidak dapat melewati setiap driver, sistem operasi, atau utilitas vendor. Itu tetap berguna: jika browser menerima peristiwa duplikat, aplikasi normal Anda juga dapat menerimanya. Untuk validasi tingkat rekayasa, alat perangkat keras seperti osiloskop atau penguji sakelar memberikan bukti lebih mendalam, tetapi tidak diperlukan untuk sebagian besar diagnostik pengguna.',
257
+ },
258
+ ],
259
+ ui: {
260
+ badge: 'Lab Anti-Pantul',
261
+ clickTarget: 'Matriks Tombol',
262
+ clickTargetHint: 'Tekan kiri, kanan, roda, kembali, dan maju',
263
+ totalClicks: 'Total',
264
+ suspiciousClicks: 'Mencurigakan',
265
+ fastestGap: 'Jarak tercepat',
266
+ healthScore: 'Skor kesehatan',
267
+ thresholdLabel: 'Ambang deteksi',
268
+ thresholdUnit: 'ms',
269
+ cleanEvent: 'bersih',
270
+ suspiciousEvent: 'mencurigakan',
271
+ reset: 'Atur Ulang',
272
+ statusIdle: 'Tekan setiap tombol mouse untuk mengujinya secara mandiri',
273
+ statusClean: 'Tidak ada pantulan tombol mencurigakan yang terdeteksi',
274
+ statusWarning: 'Pantulan mencurigakan terdeteksi pada tombol mouse',
275
+ lastGap: 'Peristiwa terakhir',
276
+ logTitle: 'Peristiwa tombol terbaru',
277
+ emptyLog: 'Tekan tombol mouse apa pun di atas badan mouse.',
278
+ leftButton: 'Kiri',
279
+ middleButton: 'Roda',
280
+ rightButton: 'Kanan',
281
+ backButton: 'Kembali',
282
+ forwardButton: 'Maju',
283
+ otherButton: 'Lainnya',
284
+ },
285
+ };