@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 = 'teste-clique-duplo-mouse';
7
+ const title = 'Teste de Clique Duplo do Mouse';
8
+ const description =
9
+ 'Teste cada botão do mouse e detecte cliques duplos indesejados, interruptores desgastados e repique de contatos com cronometragem por botão no seu navegador.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'O que é um problema de clique duplo do mouse?',
14
+ answer:
15
+ 'Um problema de clique duplo acontece quando um pressionamento físico é registrado como dois cliques. Pode afetar o botão esquerdo, botão direito, clique da roda ou botões laterais e geralmente é causado por desgaste do interruptor, repique de contatos, configurações de anti-repique do firmware ou instabilidade do sinal sem fio.',
16
+ },
17
+ {
18
+ question: 'Qual intervalo é considerado suspeito?',
19
+ answer:
20
+ 'Intervalos muito curtos entre cliques são suspeitos porque cliques duplos humanos normalmente levam mais tempo. Esta ferramenta começa com um limite de 80 ms, mas você pode ajustá-lo dependendo do mouse e do seu estilo de teste.',
21
+ },
22
+ {
23
+ question: 'Um navegador pode provar que o interruptor está quebrado?',
24
+ answer:
25
+ 'Um navegador não pode inspecionar diretamente o interruptor elétrico, mas pode registrar os eventos de clique que o sistema operacional recebe. Intervalos suspeitos repetidos durante testes de clique simples são uma forte evidência de repique ou clique duplo indesejado.',
26
+ },
27
+ {
28
+ question: 'Como devo testar corretamente?',
29
+ answer:
30
+ 'Clique lenta e deliberadamente, visando pressionamentos simples. Se o contador de suspeitos aumentar mesmo quando você não está clicando duas vezes intencionalmente, repita o teste em outra porta USB, outro navegador e outro computador, se possível.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Defina o limite de detecção',
37
+ text: 'Comece com 80 ms. Abaixe para uma detecção rigorosa de repique do interruptor ou aumente se o seu dispositivo produzir intervalos acidentais ligeiramente mais amplos.',
38
+ },
39
+ {
40
+ name: 'Clique como um clique simples normal',
41
+ text: 'Pressione cada botão do mouse um clique de cada vez sobre a representação visual do mouse. Não clique duas vezes intencionalmente durante a primeira passagem.',
42
+ },
43
+ {
44
+ name: 'Observe o contador de suspeitos',
45
+ text: 'Se eventos suspeitos aparecerem enquanto você faz cliques simples, verifique qual botão visual foi destacado e compare com os chips de eventos compactos.',
46
+ },
47
+ {
48
+ name: 'Compare com outro dispositivo',
49
+ text: 'Um mouse saudável deve manter uma pontuação alta com o mesmo limite. Comparar dispositivos ajuda a separar falhas de hardware de configurações de software.',
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: 'pt',
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: 'Teste de Clique Duplo do Mouse: Diagnostique o Repique dos Botões Online',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Um mouse que clica duas vezes quando você pressiona uma vez não é apenas irritante. Ele pode abrir pastas por acidente, cancelar ações de arrastar e soltar, disparar dois tiros em um jogo, fechar abas do navegador ou fazer menus de contexto aparecerem e desaparecerem antes que você possa usá-los. Este teste online de clique duplo do mouse foca no sinal diagnóstico útil: <strong>o intervalo de tempo entre os eventos de botão relatados pelo seu sistema operacional</strong>.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Diferente de um simples contador de cliques, esta ferramenta rastreia cada botão independentemente: clique esquerdo, clique direito, clique da roda, voltar do navegador e avançar do navegador. Isso importa porque um mouse pode ter o botão direito com falha enquanto o esquerdo ainda está saudável, ou um botão lateral desgastado que só falha após meses de uso em jogos ou atalhos de produtividade.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'O Que Este Teste de Botões do Mouse Mede',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Quando você pressiona um botão do mouse, o navegador recebe um evento de ponteiro contendo o código do botão. A ferramenta armazena o último registro de tempo para o mesmo botão físico e o compara com o próximo pressionamento do mesmo botão. Se o intervalo for mais curto que o limite selecionado, o evento é marcado como suspeito porque um segundo clique normal e intencional geralmente leva mais tempo.',
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ 'Botão esquerdo: útil para detectar cliques duplos acidentais ao abrir arquivos, selecionar texto ou arrastar janelas',
122
+ 'Botão direito: útil quando os menus de contexto piscam, abrem duas vezes ou fecham imediatamente',
123
+ 'Botão da roda: útil para mouses onde o clique do meio abre várias abas ou falha após navegação intensa',
124
+ 'Botões Voltar e Avançar: úteis para mouses gamer e de produtividade com interruptores laterais',
125
+ 'Cronometragem por botão: evita misturar um clique esquerdo com um clique direito e chamá-lo de falso clique duplo',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Por Que os Mouses Começam a Clicar Duas Vezes',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'A maioria dos mouses usa pequenos interruptores mecânicos sob cada botão. Quando os contatos do interruptor se fecham, o metal pode repicar eletricamente por um período muito curto antes de estabilizar. O firmware do mouse normalmente filtra esse ruído com lógica de anti-repique. Conforme o interruptor se desgasta, o repique pode se tornar mais longo, mais ruidoso ou inconsistente, fazendo o computador receber dois pressionamentos de botão mesmo que seu dedo tenha feito apenas um pressionamento físico.',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'O clique duplo nem sempre é causado pela mesma coisa. Pode ser desgaste mecânico do interruptor, anti-repique do firmware configurado de forma muito agressiva, poeira ou oxidação dentro do interruptor, instabilidade de pacotes sem fio, software de macro, um cabo danificado ou uma configuração do sistema operacional que torna os cliques duplos acidentais mais fáceis de notar.',
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Sintoma', 'Causa Provável', 'O Que Testar'],
144
+ rows: [
145
+ ['Um clique abre arquivos como se fosse clique duplo', 'Repique do interruptor esquerdo ou confusão de velocidade de clique duplo do SO', 'Teste Esquerdo com pressionamentos simples lentos a 80 ms'],
146
+ ['O menu do botão direito pisca ou fecha', 'Repique do interruptor direito ou software interceptando menus de contexto', 'Teste Direito e desative temporariamente os utilitários do mouse'],
147
+ ['O clique do meio abre duas abas', 'Desgaste do interruptor da roda', 'Teste Roda com pressionamentos simples deliberados'],
148
+ ['O botão voltar pula duas páginas', 'Repique do interruptor lateral ou repetição do atalho do navegador', 'Teste Voltar e Avançar separadamente'],
149
+ ['Só acontece sem fio', 'Interferência sem fio, bateria fraca ou posicionamento do receptor', 'Teste novamente com fio ou aproxime o receptor'],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Escolhendo o Limite de Anti-Repique Adequado',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'O limite é o intervalo máximo que esta ferramenta ainda considera suspeito. O valor padrão, <strong>80 ms</strong>, é um meio-termo prático: rigoroso o suficiente para capturar muitos eventos duplicados indesejados, mas não tão agressivo a ponto de cada clique duplo normal e deliberado se tornar uma falha de hardware.',
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Limite', 'Ideal Para', 'Como Interpretar'],
164
+ rows: [
165
+ ['30-50 ms', 'Verificações rigorosas de repique elétrico', 'Bom para confirmar eventos duplicados muito rápidos de um interruptor desgastado'],
166
+ ['60-90 ms', 'Diagnóstico geral de clique duplo do mouse', 'Melhor faixa padrão para a maioria dos mouses gamer e de escritório'],
167
+ ['100-140 ms', 'Interruptores desgastados intermitentes', 'Útil quando o mouse às vezes cria intervalos acidentais mais amplos'],
168
+ ['150-180 ms', 'Testes de estresse e interruptores fracos', 'Use com cuidado, pois cliques duplos intencionais rápidos podem cair nesta faixa'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Como Realizar um Teste Confiável',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'Na primeira passagem, não clique duas vezes intencionalmente. Pressione cada botão do mouse lenta e deliberadamente, um botão por vez, com o cursor sobre a representação visual do mouse. Um interruptor saudável deve produzir eventos simples estáveis. Se o contador de suspeitos aumentar durante pressionamentos simples lentos, repita o mesmo teste de botão várias vezes para confirmar o padrão.',
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Teste Esquerdo com 20 a 30 pressionamentos lentos, depois Direito, depois Roda, depois os botões laterais',
184
+ 'Não arraste o mouse durante o teste de repique de botão, pois o movimento pode distrair do resultado de tempo',
185
+ 'Se um botão mostrar eventos suspeitos, repita o mesmo teste após trocar de porta USB ou navegador',
186
+ 'Para mouses sem fio, teste com uma bateria nova e o receptor próximo ao mouse',
187
+ 'Se apenas um botão falhar repetidamente, a falha provavelmente está nesse interruptor específico, e não no dispositivo inteiro',
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Interpretando os Resultados',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Resultado', 'Significado', 'Próximo Passo Recomendado'],
198
+ rows: [
199
+ ['0 eventos suspeitos após muitos pressionamentos', 'Os botões testados parecem saudáveis com o limite selecionado', 'Mantenha o limite padrão ou teste novamente mais tarde se os sintomas retornarem'],
200
+ ['1 evento suspeito isolado', 'Pode ser um repique real ou um pressionamento rápido acidental', 'Repita o mesmo botão lentamente antes de tirar conclusões'],
201
+ ['Eventos suspeitos repetidos em um botão', 'Forte sinal de repique do interruptor ou contatos desgastados', 'Teste em outro computador e documente o resultado'],
202
+ ['Eventos suspeitos em todos os botões', 'Pode ser software, driver, utilitário de macro ou ambiente do navegador', 'Desative o software do mouse e teste novamente'],
203
+ ['Apenas o modo sem fio falha', 'Provavelmente bateria, posicionamento do receptor ou interferência', 'Tente o modo com fio ou aproxime o receptor'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'A pontuação de saúde é um resumo rápido, não um veredito final. A evidência mais importante é <strong>qual botão</strong> produziu eventos suspeitos e se o padrão se repete quando você pressiona o mesmo botão lentamente. Um único evento ruim durante um teste apressado é menos significativo do que cinco eventos suspeitos de clique direito durante pressionamentos simples deliberados.',
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Antes de Substituir o Mouse',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ 'Verifique se o software do seu mouse tem uma configuração de tempo de anti-repique e teste novamente após alterá-la',
219
+ 'Desative macros, perfis de disparo rápido ou remapeamentos de botões durante o diagnóstico',
220
+ 'Experimente uma porta USB diferente, especialmente se estiver usando um hub ou conector do painel frontal',
221
+ 'Para mouses sem fio, teste com o dongle em um cabo de extensão próximo ao mousepad',
222
+ 'Compare com outro mouse no mesmo computador para separar falha de hardware de comportamento de software',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Reparo, Garantia e Evidências',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: 'Se a falha for mecânica, limpar a carcaça externa raramente resolve permanentemente porque o problema está dentro dos contatos do interruptor. Alguns usuários substituem o microinterruptor, mas isso requer soldagem e não vale a pena para todo mouse. Se o mouse estiver na garantia, intervalos suspeitos repetidos no mesmo botão são evidências úteis ao explicar o problema para o suporte.',
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: 'Para reclamações de garantia, grave uma breve captura de tela enquanto pressiona o botão com falha lentamente. Certifique-se de que os chips de eventos mostrem o rótulo do botão e o tempo suspeito. Isso é mais claro do que dizer "meu mouse às vezes clica duas vezes" porque demonstra o botão real e o tempo aproximado do evento duplicado indesejado.',
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: 'Limitações de um Teste de Mouse Baseado em Navegador',
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Este teste mede os eventos que chegam ao navegador. Ele não pode inspecionar diretamente a forma de onda elétrica dentro do interruptor e não pode contornar todos os drivers, sistemas operacionais ou utilitários do fabricante. Isso ainda é útil: se o navegador recebe eventos duplicados, seus aplicativos normais também podem recebê-los. Para validação em nível de engenharia, ferramentas de hardware como osciloscópios ou testadores de interruptores fornecem evidências mais profundas, mas não são necessárias para a maioria dos diagnósticos de usuário.',
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Laboratório de Repique',
250
+ clickTarget: 'Matriz de Botões',
251
+ clickTargetHint: 'Pressione esquerdo, direito, roda, voltar e avançar',
252
+ totalClicks: 'Total',
253
+ suspiciousClicks: 'Suspeitos',
254
+ fastestGap: 'Intervalo mais rápido',
255
+ healthScore: 'Pontuação de saúde',
256
+ thresholdLabel: 'Limite de detecção',
257
+ thresholdUnit: 'ms',
258
+ cleanEvent: 'limpo',
259
+ suspiciousEvent: 'suspeito',
260
+ reset: 'Redefinir',
261
+ statusIdle: 'Pressione cada botão do mouse para testá-lo independentemente',
262
+ statusClean: 'Nenhum repique suspeito de botão detectado',
263
+ statusWarning: 'Repique suspeito detectado em um botão do mouse',
264
+ lastGap: 'Último evento',
265
+ logTitle: 'Eventos recentes dos botões',
266
+ emptyLog: 'Pressione qualquer botão do mouse sobre o corpo do mouse.',
267
+ leftButton: 'Esquerdo',
268
+ middleButton: 'Roda',
269
+ rightButton: 'Direito',
270
+ backButton: 'Voltar',
271
+ forwardButton: 'Avançar',
272
+ otherButton: 'Outro',
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 = 'test-dvoynogo-shchelchka-myshi';
7
+ const title = 'Тест двойного клика мыши';
8
+ const description =
9
+ 'Протестируйте каждую кнопку мыши и обнаружьте нежелательные двойные клики, изношенные переключатели и дребезг контактов с измерением времени по кнопкам в вашем браузере.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Что такое проблема двойного клика мыши?',
14
+ answer:
15
+ 'Проблема двойного клика возникает, когда одно физическое нажатие регистрируется как два клика. Это может затрагивать левую кнопку, правую кнопку, клик колёсиком или боковые кнопки и обычно вызвано износом переключателя, дребезгом контактов, настройками антидребезга прошивки или нестабильностью беспроводного сигнала.',
16
+ },
17
+ {
18
+ question: 'Какой интервал считается подозрительным?',
19
+ answer:
20
+ 'Очень короткие интервалы между кликами подозрительны, потому что человеческие двойные клики обычно занимают больше времени. Этот инструмент начинает с порога 80 мс, но вы можете настроить его в зависимости от мыши и вашего стиля тестирования.',
21
+ },
22
+ {
23
+ question: 'Может ли браузер доказать, что переключатель сломан?',
24
+ answer:
25
+ 'Браузер не может напрямую проверить электрический переключатель, но он может записывать события кликов, которые получает ваша операционная система. Повторяющиеся подозрительные интервалы во время тестирования одиночных кликов являются убедительным доказательством дребезга или нежелательного двойного клика.',
26
+ },
27
+ {
28
+ question: 'Как правильно тестировать?',
29
+ answer:
30
+ 'Кликайте медленно и обдуманно, стремясь к одиночным нажатиям. Если счётчик подозрительных событий растёт, даже когда вы не делаете двойной клик намеренно, повторите тест на другом USB-порту, в другом браузере и, если возможно, на другом компьютере.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Установите порог обнаружения',
37
+ text: 'Начните с 80 мс. Понизьте его для строгого обнаружения дребезга переключателя или повысьте, если ваше устройство создаёт немного более широкие случайные интервалы.',
38
+ },
39
+ {
40
+ name: 'Кликайте как при обычном одиночном клике',
41
+ text: 'Нажимайте каждую кнопку мыши по одному разу над изображением мыши. Не делайте двойной клик намеренно во время первого прохода.',
42
+ },
43
+ {
44
+ name: 'Следите за счётчиком подозрительных событий',
45
+ text: 'Если во время одиночных кликов появляются подозрительные события, проверьте, какая визуальная кнопка была выделена, и сравните с компактными чипами событий.',
46
+ },
47
+ {
48
+ name: 'Сравните с другим устройством',
49
+ text: 'Здоровая мышь должна сохранять высокий счёт при том же пороге. Сравнение устройств помогает отделить аппаратные неисправности от программных настроек.',
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: 'ru',
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: 'Тест двойного клика мыши: Диагностика дребезга кнопок онлайн',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Мышь, которая дважды кликает при одном нажатии - это не просто раздражает. Она может случайно открывать папки, отменять действия перетаскивания, делать два выстрела в игре, закрывать вкладки браузера или заставлять контекстные меню появляться и исчезать до того, как вы сможете их использовать. Этот онлайн-тест двойного клика мыши фокусируется на полезном диагностическом сигнале: <strong>временном интервале между событиями кнопок, сообщаемыми вашей операционной системой</strong>.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'В отличие от простого счётчика кликов, этот инструмент отслеживает каждую кнопку независимо: левый клик, правый клик, клик колёсиком, назад браузера и вперёд браузера. Это важно, потому что мышь может иметь неисправную правую кнопку, в то время как левая всё ещё исправна, или изношенную боковую кнопку, которая даёт сбои только после месяцев игр или использования горячих клавиш.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'Что измеряет этот тест кнопок мыши',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Когда вы нажимаете кнопку мыши, браузер получает событие указателя, содержащее код кнопки. Инструмент сохраняет последнюю временную метку для той же физической кнопки и сравнивает её со следующим нажатием той же кнопки. Если интервал короче выбранного вами порога, событие помечается как подозрительное, потому что нормальный намеренный второй клик обычно занимает больше времени.',
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ 'Левая кнопка: полезна для обнаружения случайных двойных кликов при открытии файлов, выделении текста или перетаскивании окон',
122
+ 'Правая кнопка: полезна, когда контекстные меню мигают, открываются дважды или сразу закрываются',
123
+ 'Кнопка колёсика: полезна для мышей, где средний клик открывает несколько вкладок или перестаёт работать после интенсивного сёрфинга',
124
+ 'Кнопки Назад и Вперёд: полезны для игровых мышей и мышей для продуктивности с боковыми переключателями',
125
+ 'Измерение по кнопкам: предотвращает смешивание левого клика с правым и вызов ложного двойного клика',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Почему мыши начинают дважды кликать',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Большинство мышей используют небольшие механические переключатели под каждой кнопкой. Когда контакты переключателя замыкаются, металл может электрически дребезжать в течение очень короткого периода перед стабилизацией. Прошивка мыши обычно фильтрует этот шум с помощью логики антидребезга. По мере износа переключателя дребезг может стать длиннее, шумнее или нестабильнее, так что компьютер получает два нажатия кнопки, хотя ваш палец сделал только одно физическое нажатие.',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Двойной клик не всегда вызван одним и тем же. Это может быть механический износ переключателя, слишком агрессивно настроенный антидребезг прошивки, пыль или окисление внутри переключателя, нестабильность беспроводных пакетов, макропрограммное обеспечение, повреждённый кабель или настройка операционной системы, которая делает случайные двойные клики более заметными.',
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Симптом', 'Вероятная причина', 'Что тестировать'],
144
+ rows: [
145
+ ['Один клик открывает файлы, как при двойном клике', 'Дребезг левого переключателя или путаница скорости двойного клика ОС', 'Тестируйте Левую медленными одиночными нажатиями при 80 мс'],
146
+ ['Меню правого клика мигает или закрывается', 'Дребезг правого переключателя или программное обеспечение, перехватывающее контекстные меню', 'Тестируйте Правую и временно отключите утилиты мыши'],
147
+ ['Средний клик открывает две вкладки', 'Износ переключателя колёсика', 'Тестируйте Колёсико обдуманными одиночными нажатиями'],
148
+ ['Кнопка назад перескакивает на две страницы', 'Дребезг бокового переключателя или повторение ярлыка браузера', 'Тестируйте Назад и Вперёд отдельно'],
149
+ ['Происходит только по беспроводной связи', 'Беспроводные помехи, низкий заряд батареи или расположение приёмника', 'Повторно протестируйте по проводу или приблизьте приёмник'],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Выбор правильного порога антидребезга',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'Порог - это максимальный интервал, который этот инструмент всё ещё считает подозрительным. Значение по умолчанию, <strong>80 мс</strong>, является практичной золотой серединой: достаточно строгим, чтобы отлавливать многие нежелательные дублирующиеся события, но не настолько агрессивным, чтобы каждый нормальный намеренный двойной клик становился аппаратным сбоем.',
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Порог', 'Лучше всего для', 'Как интерпретировать'],
164
+ rows: [
165
+ ['30-50 мс', 'Строгие проверки электрического дребезга', 'Хорошо для подтверждения очень быстрых дублирующихся событий от изношенного переключателя'],
166
+ ['60-90 мс', 'Общая диагностика двойного клика мыши', 'Лучший диапазон по умолчанию для большинства игровых и офисных мышей'],
167
+ ['100-140 мс', 'Прерывистые изношенные переключатели', 'Полезно, когда мышь иногда создаёт более широкие случайные интервалы'],
168
+ ['150-180 мс', 'Стресс-тестирование и слабые переключатели', 'Используйте осторожно, так как быстрые намеренные двойные клики могут попасть в этот диапазон'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Как провести надёжный тест',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'При первом проходе не делайте двойной клик намеренно. Нажимайте каждую кнопку мыши медленно и обдуманно, по одной кнопке за раз, пока курсор находится над изображением мыши. Здоровый переключатель должен производить стабильные одиночные события. Если счётчик подозрительных событий растёт во время медленных одиночных нажатий, повторите тот же тест кнопки несколько раз, чтобы подтвердить закономерность.',
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Тестируйте Левую кнопку 20-30 медленными нажатиями, затем Правую, затем Колёсико, затем боковые кнопки',
184
+ 'Не перетаскивайте мышь во время тестирования дребезга кнопок, так как движение может отвлекать от результата измерения времени',
185
+ 'Если кнопка показывает подозрительные события, повторите тот же тест после смены USB-порта или браузера',
186
+ 'Для беспроводных мышей тестируйте со свежей батареей и приёмником рядом с мышью',
187
+ 'Если только одна кнопка повторно выходит из строя, неисправность, вероятно, в этом конкретном переключателе, а не во всём устройстве',
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Интерпретация результатов',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Результат', 'Значение', 'Рекомендуемый следующий шаг'],
198
+ rows: [
199
+ ['0 подозрительных событий после многих нажатий', 'Протестированные кнопки выглядят здоровыми при выбранном пороге', 'Сохраните порог по умолчанию или протестируйте позже, если симптомы вернутся'],
200
+ ['1 изолированное подозрительное событие', 'Может быть реальным дребезгом или случайным быстрым нажатием', 'Повторите ту же кнопку медленно, прежде чем делать выводы'],
201
+ ['Повторяющиеся подозрительные события на одной кнопке', 'Сильный признак дребезга переключателя или изношенных контактов', 'Протестируйте на другом компьютере и задокументируйте результат'],
202
+ ['Подозрительные события на каждой кнопке', 'Может быть программное обеспечение, драйвер, макроутилита или среда браузера', 'Отключите программное обеспечение мыши и протестируйте заново'],
203
+ ['Только беспроводной режим не работает', 'Вероятно, батарея, расположение приёмника или помехи', 'Попробуйте проводной режим или приблизьте приёмник'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'Оценка здоровья - это краткая сводка, а не окончательный вердикт. Самое важное доказательство - <strong>какая кнопка</strong> произвела подозрительные события и повторяется ли закономерность, когда вы нажимаете ту же кнопку медленно. Одно плохое событие во время поспешного теста менее значимо, чем пять подозрительных событий правого клика во время обдуманных одиночных нажатий.',
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Перед заменой мыши',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ 'Проверьте, есть ли в программном обеспечении вашей мыши настройка времени антидребезга, и протестируйте заново после её изменения',
219
+ 'Отключите макросы, профили быстрой стрельбы или переназначения кнопок во время диагностики',
220
+ 'Попробуйте другой USB-порт, особенно если вы используете концентратор или разъём на передней панели',
221
+ 'Для беспроводных мышей тестируйте с донглом на удлинительном кабеле рядом с ковриком для мыши',
222
+ 'Сравните с другой мышью на том же компьютере, чтобы отделить аппаратный сбой от программного поведения',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Ремонт, гарантия и доказательства',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: 'Если неисправность механическая, очистка внешнего корпуса редко решает проблему навсегда, потому что проблема внутри контактов переключателя. Некоторые пользователи заменяют микропереключатель, но это требует пайки и не стоит того для каждой мыши. Если мышь на гарантии, повторяющиеся подозрительные интервалы на одной и той же кнопке являются полезным доказательством при объяснении проблемы в службу поддержки.',
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: 'Для гарантийных претензий запишите короткий захват экрана, пока вы медленно нажимаете неисправную кнопку. Убедитесь, что чипы событий показывают метку кнопки и подозрительное время. Это понятнее, чем говорить "моя мышь иногда дважды кликает", потому что демонстрирует фактическую кнопку и примерное время нежелательного дублирующегося события.',
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: 'Ограничения теста мыши на основе браузера',
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Этот тест измеряет события, которые достигают браузера. Он не может напрямую проверить электрическую форму сигнала внутри переключателя и не может обойти каждый драйвер, операционную систему или утилиту производителя. Это всё равно полезно: если браузер получает дублирующиеся события, ваши обычные приложения также могут их получать. Для проверки на инженерном уровне аппаратные инструменты, такие как осциллографы или тестеры переключателей, предоставляют более глубокие доказательства, но они не нужны для большинства пользовательских диагностик.',
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Лаборатория дребезга',
250
+ clickTarget: 'Матрица кнопок',
251
+ clickTargetHint: 'Нажмите левую, правую, колёсико, назад и вперёд',
252
+ totalClicks: 'Всего',
253
+ suspiciousClicks: 'Подозрительные',
254
+ fastestGap: 'Кратчайший интервал',
255
+ healthScore: 'Оценка здоровья',
256
+ thresholdLabel: 'Порог обнаружения',
257
+ thresholdUnit: 'мс',
258
+ cleanEvent: 'чистый',
259
+ suspiciousEvent: 'подозрительный',
260
+ reset: 'Сброс',
261
+ statusIdle: 'Нажмите каждую кнопку мыши, чтобы протестировать её независимо',
262
+ statusClean: 'Подозрительный дребезг кнопок не обнаружен',
263
+ statusWarning: 'Обнаружен подозрительный дребезг на кнопке мыши',
264
+ lastGap: 'Последнее событие',
265
+ logTitle: 'Последние события кнопок',
266
+ emptyLog: 'Нажмите любую кнопку мыши над корпусом мыши.',
267
+ leftButton: 'Левая',
268
+ middleButton: 'Колёсико',
269
+ rightButton: 'Правая',
270
+ backButton: 'Назад',
271
+ forwardButton: 'Вперёд',
272
+ otherButton: 'Другая',
273
+ },
274
+ };