@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 = 'fare-cift-tiklama-testi';
7
+ const title = 'Fare Çift Tıklama Testi';
8
+ const description =
9
+ 'Her fare düğmesini test edin ve tarayıcınızda düğme başına zamanlama ile istenmeyen çift tıklamaları, aşınmış anahtarları ve temas sıçramasını tespit edin.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Fare çift tıklama sorunu nedir?',
14
+ answer:
15
+ 'Çift tıklama sorunu, bir fiziksel basışın iki tıklama olarak raporlanmasıyla oluşur. Sol düğmeyi, sağ düğmeyi, tekerlek tıklamasını veya yan düğmeleri etkileyebilir ve genellikle anahtar aşınması, temas sıçraması, ürün yazılımı anti-sıçrama ayarları veya kablosuz sinyal kararsızlığından kaynaklanır.',
16
+ },
17
+ {
18
+ question: 'Hangi aralık şüpheli sayılır?',
19
+ answer:
20
+ 'Tıklamalar arasındaki çok kısa aralıklar şüphelidir çünkü insan çift tıklamaları genellikle daha fazla zaman alır. Bu araç 80 ms eşikle başlar, ancak fareye ve test tarzınıza bağlı olarak ayarlayabilirsiniz.',
21
+ },
22
+ {
23
+ question: 'Bir tarayıcı anahtarın bozuk olduğunu kanıtlayabilir mi?',
24
+ answer:
25
+ 'Bir tarayıcı elektrik anahtarını doğrudan inceleyemez, ancak işletim sisteminizin aldığı tıklama olaylarını kaydedebilir. Tek tıklama testi sırasında tekrarlanan şüpheli aralıklar, sıçrama veya istenmeyen çift tıklamanın güçlü kanıtıdır.',
26
+ },
27
+ {
28
+ question: 'Nasıl doğru test etmeliyim?',
29
+ answer:
30
+ 'Yavaş ve bilinçli tıklayın, tek basışları hedefleyin. Kasıtlı olarak çift tıklamadığınız halde şüpheli sayacı artıyorsa, testi başka bir USB bağlantı noktasında, başka bir tarayıcıda ve mümkünse başka bir bilgisayarda tekrarlayın.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Algılama eşiğini ayarlayın',
37
+ text: '80 ms ile başlayın. Katı anahtar sıçrama tespiti için düşürün veya cihazınız biraz daha geniş kazara aralıklar üretiyorsa yükseltin.',
38
+ },
39
+ {
40
+ name: 'Normal tek tıklama gibi tıklayın',
41
+ text: 'Fare görselinin üzerinde her fare düğmesine birer birer tıklayın. İlk geçişte kasıtlı olarak çift tıklamayın.',
42
+ },
43
+ {
44
+ name: 'Şüpheli sayacı izleyin',
45
+ text: 'Tek tıklamalar yaparken şüpheli olaylar görünürse, hangi görsel düğmenin vurgulandığını kontrol edin ve kompakt olay çipleriyle karşılaştırın.',
46
+ },
47
+ {
48
+ name: 'Başka bir cihazla karşılaştırın',
49
+ text: 'Sağlıklı bir fare, aynı eşik altında yüksek skor tutmalıdır. Cihazları karşılaştırmak, donanım arızalarını yazılım ayarlarından ayırmaya yardımcı olur.',
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: 'tr',
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: 'Fare Çift Tıklama Testi: Düğme Sıçramasını Çevrimiçi Teşhis Edin',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Bir kez bastığınızda çift tıklayan bir fare sadece can sıkıcı değildir. Yanlışlıkla klasörleri açabilir, sürükle-bırak eylemlerini iptal edebilir, bir oyunda iki atış yapabilir, tarayıcı sekmelerini kapatabilir veya siz kullanamadan bağlam menülerinin açılıp kapanmasına neden olabilir. Bu çevrimiçi fare çift tıklama testi, yararlı tanı sinyaline odaklanır: <strong>işletim sisteminiz tarafından raporlanan düğme olayları arasındaki zaman aralığı</strong>.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Basit bir tıklama sayacının aksine, bu araç her düğmeyi bağımsız olarak izler: sol tıklama, sağ tıklama, tekerlek tıklaması, tarayıcı geri ve tarayıcı ileri. Bu önemlidir çünkü bir farenin sol düğmesi hala sağlıklıyken sağ düğmesi arızalı olabilir veya aylarca oyun oynama veya üretkenlik kısayolları kullanımından sonra sadece hatalı ateşleyen aşınmış bir yan düğme olabilir.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'Bu Fare Düğmesi Testi Neyi Ölçer',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Bir fare düğmesine bastığınızda, tarayıcı düğme kodunu içeren bir işaretçi olayı alır. Araç, aynı fiziksel düğme için son zaman damgasını saklar ve aynı düğmenin bir sonraki basışıyla karşılaştırır. Aralık seçtiğiniz eşikten daha kısaysa, olay şüpheli olarak işaretlenir çünkü normal kasıtlı ikinci tıklama genellikle daha uzun sürer.',
117
+ },
118
+ {
119
+ type: 'list',
120
+ items: [
121
+ 'Sol düğme: dosya açarken, metin seçerken veya pencere sürüklerken kazara çift tıklamaları tespit etmek için kullanışlıdır',
122
+ 'Sağ düğme: bağlam menüleri titreştiğinde, iki kez açıldığında veya hemen kapandığında kullanışlıdır',
123
+ 'Tekerlek düğmesi: orta tıklamanın birden fazla sekme açtığı veya yoğun gezinme sonrası başarısız olduğu fareler için kullanışlıdır',
124
+ 'Geri ve İleri düğmeleri: yan anahtarlı oyuncu fareleri ve üretkenlik fareleri için kullanışlıdır',
125
+ 'Düğme başına zamanlama: sol tıklamayı sağ tıklamayla karıştırıp yanlış çift tıklama olarak adlandırmayı önler',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Fareler Neden Çift Tıklamaya Başlar',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Çoğu fare, her düğmenin altında küçük mekanik anahtarlar kullanır. Anahtar kontakları kapandığında, metal yerleşmeden önce çok kısa bir süre için elektriksel olarak sıçrayabilir. Fare ürün yazılımı normalde bu gürültüyü anti-sıçrama mantığı ile filtreler. Anahtar aşındıkça, sıçrama daha uzun, daha gürültülü veya tutarsız hale gelebilir, böylece bilgisayar parmağınız sadece bir fiziksel basış yapmış olsa bile iki düğme basışı alır.',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Çift tıklama her zaman aynı şeyden kaynaklanmaz. Mekanik anahtar aşınması, çok agresif ayarlanmış ürün yazılımı anti-sıçraması, anahtar içindeki toz veya oksidasyon, kablosuz paket kararsızlığı, makro yazılımı, hasarlı bir kablo veya kazara çift tıklamaları fark etmeyi kolaylaştıran bir işletim sistemi ayarı olabilir.',
140
+ },
141
+ {
142
+ type: 'table',
143
+ headers: ['Belirti', 'Olası Neden', 'Ne Test Edilmeli'],
144
+ rows: [
145
+ ['Bir tıklama dosyaları çift tıklanmış gibi açar', 'Sol anahtar sıçraması veya işletim sistemi çift tıklama hızı karışıklığı', '80 ms\'de yavaş tek basışlarla Sol tuşu test edin'],
146
+ ['Sağ tıklama menüsü titreşir veya kapanır', 'Sağ anahtar sıçraması veya bağlam menülerini yakalayan yazılım', 'Sağ tuşu test edin ve fare yardımcı programlarını geçici olarak devre dışı bırakın'],
147
+ ['Orta tıklama iki sekme açar', 'Tekerlek anahtarı aşınması', 'Tekerleği bilinçli tek basışlarla test edin'],
148
+ ['Geri düğmesi iki sayfa atlar', 'Yan anahtar sıçraması veya tarayıcı kısayol tekrarı', 'Geri ve İleri\'yi ayrı ayrı test edin'],
149
+ ['Sadece kablosuzda oluyor', 'Kablosuz parazit, düşük pil veya alıcı yerleşimi', 'Kablolu olarak yeniden test edin veya alıcıyı yaklaştırın'],
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Doğru Anti-Sıçrama Eşiğini Seçme',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'Eşik, bu aracın hala şüpheli olarak kabul ettiği maksimum aralıktır. Varsayılan değer, <strong>80 ms</strong>, pratik bir orta yoldur: birçok istenmeyen çift olayı yakalayacak kadar katı, ancak her normal kasıtlı çift tıklamanın bir donanım arızası haline gelmesine neden olacak kadar agresif değil.',
160
+ },
161
+ {
162
+ type: 'table',
163
+ headers: ['Eşik', 'En İyisi İçin', 'Nasıl Yorumlanır'],
164
+ rows: [
165
+ ['30-50 ms', 'Katı elektriksel sıçrama kontrolleri', 'Aşınmış bir anahtardan çok hızlı çift olayları onaylamak için iyi'],
166
+ ['60-90 ms', 'Genel fare çift tıklama teşhisi', 'Çoğu oyuncu ve ofis faresi için en iyi varsayılan aralık'],
167
+ ['100-140 ms', 'Aralıklı aşınmış anahtarlar', 'Fare bazen daha geniş kazara aralıklar oluşturduğunda kullanışlıdır'],
168
+ ['150-180 ms', 'Stres testi ve zayıf anahtarlar', 'Dikkatli kullanın, çünkü hızlı kasıtlı çift tıklamalar bu aralığa düşebilir'],
169
+ ],
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Güvenilir Bir Test Nasıl Yapılır',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'İlk geçişte, kasıtlı olarak çift tıklamayın. İmleç fare görselinin üzerindeyken her fare düğmesine yavaş ve bilinçli olarak, birer birer basın. Sağlıklı bir anahtar kararlı tek olaylar üretmelidir. Yavaş tek basışlar sırasında şüpheli sayacı artıyorsa, deseni doğrulamak için aynı düğme testini birkaç kez tekrarlayın.',
179
+ },
180
+ {
181
+ type: 'list',
182
+ items: [
183
+ 'Sol tuşu 20 ila 30 yavaş basışla, sonra Sağ, sonra Tekerlek, sonra yan düğmeleri test edin',
184
+ 'Düğme sıçramasını test ederken fareyi sürüklemeyin, çünkü hareket zamanlama sonucundan dikkati dağıtabilir',
185
+ 'Bir düğme şüpheli olaylar gösteriyorsa, USB bağlantı noktasını veya tarayıcıyı değiştirdikten sonra aynı testi tekrarlayın',
186
+ 'Kablosuz fareler için, yeni bir pil ve alıcı fareye yakın olacak şekilde test edin',
187
+ 'Yalnızca bir düğme tekrar tekrar başarısız oluyorsa, arıza muhtemelen tüm cihaz yerine o belirli anahtardadır',
188
+ ],
189
+ },
190
+ {
191
+ type: 'title',
192
+ text: 'Sonuçları Yorumlama',
193
+ level: 3,
194
+ },
195
+ {
196
+ type: 'table',
197
+ headers: ['Sonuç', 'Anlamı', 'Önerilen Sonraki Adım'],
198
+ rows: [
199
+ ['Birçok basıştan sonra 0 şüpheli olay', 'Test edilen düğmeler seçilen eşik altında sağlıklı görünüyor', 'Varsayılan eşiği koruyun veya belirtiler geri dönerse daha sonra tekrar test edin'],
200
+ ['1 izole şüpheli olay', 'Gerçek bir sıçrama veya kazara hızlı basış olabilir', 'Sonuç çıkarmadan önce aynı düğmeyi yavaşça tekrarlayın'],
201
+ ['Bir düğmede tekrarlanan şüpheli olaylar', 'Anahtar sıçraması veya aşınmış kontakların güçlü işareti', 'Başka bir bilgisayarda test edin ve sonucu belgeleyin'],
202
+ ['Her düğmede şüpheli olaylar', 'Yazılım, sürücü, makro yardımcı programı veya tarayıcı ortamı olabilir', 'Fare yazılımını devre dışı bırakın ve yeniden test edin'],
203
+ ['Sadece kablosuz mod başarısız', 'Muhtemelen pil, alıcı yerleşimi veya parazit', 'Kablolu modu deneyin veya alıcıyı yaklaştırın'],
204
+ ],
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'Sağlık puanı hızlı bir özettir, nihai bir karar değildir. En önemli kanıt, <strong>hangi düğmenin</strong> şüpheli olaylar ürettiği ve aynı düğmeye yavaşça bastığınızda desenin tekrar edip etmediğidir. Aceleci bir test sırasındaki tek bir kötü olay, bilinçli tek basışlar sırasındaki beş şüpheli sağ tıklama olayından daha az anlamlıdır.',
209
+ },
210
+ {
211
+ type: 'title',
212
+ text: 'Fareyi Değiştirmeden Önce',
213
+ level: 3,
214
+ },
215
+ {
216
+ type: 'list',
217
+ items: [
218
+ 'Fare yazılımınızın bir anti-sıçrama süresi ayarı olup olmadığını kontrol edin ve değiştirdikten sonra tekrar test edin',
219
+ 'Teşhis sırasında makroları, hızlı ateş profillerini veya düğme yeniden eşlemelerini devre dışı bırakın',
220
+ 'Özellikle bir hub veya ön panel konektörü kullanıyorsanız, farklı bir USB bağlantı noktası deneyin',
221
+ 'Kablosuz fareler için, dongle\'ı fare altlığının yakınında bir uzatma kablosuyla test edin',
222
+ 'Donanım arızasını yazılım davranışından ayırmak için aynı bilgisayarda başka bir fareyle karşılaştırın',
223
+ ],
224
+ },
225
+ {
226
+ type: 'title',
227
+ text: 'Onarım, Garanti ve Kanıt',
228
+ level: 3,
229
+ },
230
+ {
231
+ type: 'paragraph',
232
+ html: 'Arıza mekanikse, dış kabuğu temizlemek sorunu nadiren kalıcı olarak çözer çünkü sorun anahtar kontaklarının içindedir. Bazı kullanıcılar mikro anahtarı değiştirir, ancak bu lehimleme gerektirir ve her fare için buna değmez. Fare garanti kapsamındaysa, aynı düğmede tekrarlanan şüpheli aralıklar, sorunu desteğe açıklarken yararlı kanıtlardır.',
233
+ },
234
+ {
235
+ type: 'paragraph',
236
+ html: 'Garanti talepleri için, arızalı düğmeye yavaşça basarken kısa bir ekran kaydı yapın. Olay çiplerinin düğme etiketini ve şüpheli zamanlamayı gösterdiğinden emin olun. Bu, "farem bazen çift tıklıyor" demekten daha nettir çünkü gerçek düğmeyi ve istenmeyen çift olayın yaklaşık zamanlamasını gösterir.',
237
+ },
238
+ {
239
+ type: 'title',
240
+ text: 'Tarayıcı Tabanlı Fare Testinin Sınırlamaları',
241
+ level: 3,
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Bu test, tarayıcıya ulaşan olayları ölçer. Anahtar içindeki elektrik dalga biçimini doğrudan inceleyemez ve her sürücüyü, işletim sistemini veya satıcı yardımcı programını atlayamaz. Bu yine de yararlıdır: tarayıcı çift olaylar alıyorsa, normal uygulamalarınız da alabilir. Mühendislik düzeyinde doğrulama için osiloskoplar veya anahtar test cihazları gibi donanım araçları daha derin kanıt sağlar, ancak çoğu kullanıcı teşhisi için gerekli değildir.',
246
+ },
247
+ ],
248
+ ui: {
249
+ badge: 'Anti-Sıçrama Laboratuvarı',
250
+ clickTarget: 'Düğme Matrisi',
251
+ clickTargetHint: 'Sol, sağ, tekerlek, geri ve ileriye basın',
252
+ totalClicks: 'Toplam',
253
+ suspiciousClicks: 'Şüpheli',
254
+ fastestGap: 'En hızlı aralık',
255
+ healthScore: 'Sağlık puanı',
256
+ thresholdLabel: 'Algılama eşiği',
257
+ thresholdUnit: 'ms',
258
+ cleanEvent: 'temiz',
259
+ suspiciousEvent: 'şüpheli',
260
+ reset: 'Sıfırla',
261
+ statusIdle: 'Bağımsız olarak test etmek için her fare düğmesine basın',
262
+ statusClean: 'Şüpheli düğme sıçraması tespit edilmedi',
263
+ statusWarning: 'Bir fare düğmesinde şüpheli sıçrama tespit edildi',
264
+ lastGap: 'Son olay',
265
+ logTitle: 'Son düğme olayları',
266
+ emptyLog: 'Fare gövdesi üzerinde herhangi bir fare düğmesine basın.',
267
+ leftButton: 'Sol',
268
+ middleButton: 'Tekerlek',
269
+ rightButton: 'Sağ',
270
+ backButton: 'Geri',
271
+ forwardButton: 'İleri',
272
+ otherButton: 'Diğer',
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 = '鼠标双击测试';
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: 'zh',
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
+ };
@@ -0,0 +1,9 @@
1
+ import type { ToolDefinition } from '../../types';
2
+ import { mouseDoubleClickTest } from './entry';
3
+ export * from './entry';
4
+ export const MOUSE_DOUBLE_CLICK_TEST_TOOL: ToolDefinition = {
5
+ entry: mouseDoubleClickTest,
6
+ Component: () => import('./component.astro'),
7
+ SEOComponent: () => import('./seo.astro'),
8
+ BibliographyComponent: () => import('./bibliography.astro'),
9
+ };