@jjlmoya/utils-hardware 1.29.0 → 1.30.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 (33) 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 +1 -1
  6. package/src/tests/tool_validation.test.ts +1 -1
  7. package/src/tool/mouseJitterAngleSnappingTest/bibliography.astro +14 -0
  8. package/src/tool/mouseJitterAngleSnappingTest/bibliography.ts +16 -0
  9. package/src/tool/mouseJitterAngleSnappingTest/component.astro +110 -0
  10. package/src/tool/mouseJitterAngleSnappingTest/entry.ts +29 -0
  11. package/src/tool/mouseJitterAngleSnappingTest/i18n/de.ts +289 -0
  12. package/src/tool/mouseJitterAngleSnappingTest/i18n/en.ts +289 -0
  13. package/src/tool/mouseJitterAngleSnappingTest/i18n/es.ts +289 -0
  14. package/src/tool/mouseJitterAngleSnappingTest/i18n/fr.ts +289 -0
  15. package/src/tool/mouseJitterAngleSnappingTest/i18n/id.ts +289 -0
  16. package/src/tool/mouseJitterAngleSnappingTest/i18n/it.ts +289 -0
  17. package/src/tool/mouseJitterAngleSnappingTest/i18n/ja.ts +289 -0
  18. package/src/tool/mouseJitterAngleSnappingTest/i18n/ko.ts +289 -0
  19. package/src/tool/mouseJitterAngleSnappingTest/i18n/nl.ts +289 -0
  20. package/src/tool/mouseJitterAngleSnappingTest/i18n/pl.ts +289 -0
  21. package/src/tool/mouseJitterAngleSnappingTest/i18n/pt.ts +289 -0
  22. package/src/tool/mouseJitterAngleSnappingTest/i18n/ru.ts +289 -0
  23. package/src/tool/mouseJitterAngleSnappingTest/i18n/sv.ts +289 -0
  24. package/src/tool/mouseJitterAngleSnappingTest/i18n/tr.ts +289 -0
  25. package/src/tool/mouseJitterAngleSnappingTest/i18n/zh.ts +289 -0
  26. package/src/tool/mouseJitterAngleSnappingTest/index.ts +9 -0
  27. package/src/tool/mouseJitterAngleSnappingTest/logic.ts +245 -0
  28. package/src/tool/mouseJitterAngleSnappingTest/model.ts +38 -0
  29. package/src/tool/mouseJitterAngleSnappingTest/mouse-jitter-angle-snapping-test.css +412 -0
  30. package/src/tool/mouseJitterAngleSnappingTest/render.ts +48 -0
  31. package/src/tool/mouseJitterAngleSnappingTest/seo.astro +15 -0
  32. package/src/tool/mouseJitterAngleSnappingTest/ui.ts +29 -0
  33. package/src/tools.ts +2 -1
@@ -0,0 +1,289 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MouseJitterAngleSnappingTestUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'fare-titreme-acisi-testi';
7
+ const title = 'Fare Titreşim ve Açı Düzeltme Testi';
8
+ const description =
9
+ 'Sensör titreşimini, dengesiz takibi ve hareketi yapay olarak düzleştiren açı düzeltmeyi veya öngörüyü tespit etmek için çevrimiçi ham fare izleri çizin.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Fare titreşimi nedir?',
14
+ answer:
15
+ 'Fare titreşimi, eliniz düzgün hareket ettiğinde bile imleç yolundaki istenmeyen sallanma veya gürültülü harekettir. Kirli bir sensör penceresinden, kötü bir yüzeyden, yüksek kalkış davranışından, elektriksel gürültüden, kablosuz kararsızlıktan veya seçilen DPI\'da zorlanan bir sensörden kaynaklanabilir.',
16
+ },
17
+ {
18
+ question: 'Açı düzeltme nedir?',
19
+ answer:
20
+ 'Açı düzeltme, bazen öngörü olarak adlandırılır, fare yazılımının hafif kusurlu insan hareketini daha düz yatay, dikey veya çapraz çizgilere dönüştürmeye çalıştığı bir düzeltme özelliğidir. Bazı ofis kullanıcıları bunu beğenir, ancak birçok oyuncu ve sanatçı öngörüsüz ham hareketi tercih eder.',
21
+ },
22
+ {
23
+ question: 'Bu test fare sensörümün bozuk olduğunu kanıtlayabilir mi?',
24
+ answer:
25
+ 'Sensörü elektriksel olarak inceleyemez, ancak tarayıcınızın aldığı hareket yolunu gösterir. Tekrarlanan yumuşak geçişler gürültülü noktalar, ani sapmalar veya doğal olmayan şekilde düz bölümler oluşturuyorsa, sonuç fare, yüzey, DPI, kablosuz bağlantı veya yazılım ayarlarını sorun gidermek için faydalı bir kanıttır.',
26
+ },
27
+ {
28
+ question: 'En güvenilir sonuç için nasıl çizmeliyim?',
29
+ answer:
30
+ 'Yavaş çapraz çizgiler, orta hızda eğriler ve uzun yatay geçişler çizin. Aynı hareketi birkaç kez test edin. Titreşimi yavaş kontrollü çizgilerde görmek daha kolaydır, açı düzeltmeyi ise çapraz hareket şüpheli derecede düz veya basamaklı hale geldiğinde tespit etmek daha kolaydır.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Sensörü ve fare altlığını temizleyin',
37
+ text: 'Test etmeden önce sensör penceresindeki toz veya tüyleri temizleyin ve sabit bir fare altlığı veya masa yüzeyi kullanın.',
38
+ },
39
+ {
40
+ name: 'Yavaş çapraz çizgiler çizin',
41
+ text: 'Farenin ana düğmesini basılı tutun ve birkaç çapraz çizgi çizin. Ham bir sensör doğal el değişimini göstermeli, tek bir açıya mükemmel şekilde zorlanmış bir çizgi değil.',
42
+ },
43
+ {
44
+ name: 'Yumuşak eğriler çizin',
45
+ text: 'Daireler, S-eğrileri ve yaylar yapın. Titreşim, amaçlanan eğrinin dışına sıçrayan kaba, gürültülü noktalar olarak görünür.',
46
+ },
47
+ {
48
+ name: 'DPI ve yüzey ayarlarını karşılaştırın',
49
+ text: 'Sorunun ne zaman ortaya çıktığını bulmak için aynı hareketi farklı DPI seviyelerinde, yoklama hızlarında, kalkış ayarlarında ve yüzeylerde tekrarlayın.',
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<MouseJitterAngleSnappingTestUI> = {
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: 'Çevrimiçi Fare Titreşim Testi: Sensör Gürültüsünü ve Açı Düzeltmeyi Kontrol Edin',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'İyi bir fare sensörü, görünür gürültü eklemeden veya yolu gizlice düzeltmeden elinizi takip etmelidir. Sensör kirli olduğunda, yüzeyin izlenmesi zor olduğunda, DPI donanım için çok yüksek olduğunda veya yazılım öngörü uyguladığında, imleç yolu doğal hissettirmeyebilir. Bu fare titreşim testi, ham izler çizmenize ve sensör sorunlarının belirsiz olmak yerine görünür hale gelmesi için bireysel okuma noktalarını incelemenize olanak tanır.',
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Test etmenin en faydalı yolu basittir: kontrollü çizgiler ve eğriler çizin, ardından izin şekline bakın. Sağlıklı bir ham sensör, küçük insan kusurlarıyla hareketinizi takip eden bir yol üretir. Gürültülü bir sensör kaba noktalar, küçük ani sapmalar ve düzensiz yalpalama üretir. Açı düzeltme veya öngörü özellikli bir fare, çapraz veya yatay hareketi, yazılım elinizi düzeltiyormuş gibi doğal olmayan şekilde düz gösterebilir.',
108
+ },
109
+ {
110
+ type: 'title',
111
+ text: 'Fare Titreşimi Nasıl Görünür',
112
+ level: 3,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Fare titreşimi, normal el titremesiyle aynı şey değildir. Herkes hafif kusurlu çizgiler çizer. Eliniz yavaş ve istikrarlı hareket ettiğinde bile noktalar hareket yönünden dışarı sıçradığında titreşim şüpheli hale gelir. Genellikle bir çizginin etrafında bulanık bir kenar, küçük yan ani sıçramalar veya pürüzsüz yerine çizik gibi görünen bir iz olarak ortaya çıkar.',
117
+ },
118
+ {
119
+ type: 'table',
120
+ headers: ['İz Deseni', 'Olası Anlamı', 'Sonraki Adım'],
121
+ rows: [
122
+ ['Yavaş çizgiler sırasında küçük rastgele ani sapmalar', 'Sensör gürültüsü, kir veya yüzey izleme sorunu', 'Sensör penceresini temizleyin ve farklı bir fare altlığı deneyin'],
123
+ ['Yalnızca yüksek DPI\'da titreşim', 'Sensör veya yazılım bu hassasiyette zorlanıyor', '400, 800, 1600 ve 3200 DPI\'da yeniden test edin'],
124
+ ['Yalnızca kablosuz modda sert hareket', 'Pil, alıcı mesafesi veya parazit', 'Alıcıyı yaklaştırın ve yeni bir pille test edin'],
125
+ ['Kalkış yakınında veya fareyi eğerken gürültü', 'Kalkış mesafesi veya yüzeyle düzensiz temas', 'Fareyi düz tutun ve mümkünse kalkış mesafesini azaltın'],
126
+ ['Bir masada titreşim var, diğerinde yok', 'Yüzey dokusu veya yansıtıcılık sorunu', 'Optik sensörler için tasarlanmış mat bir fare altlığı kullanın'],
127
+ ],
128
+ },
129
+ {
130
+ type: 'title',
131
+ text: 'Açı Düzeltme Nasıl Görünür',
132
+ level: 3,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Açı düzeltme titreşimden farklıdır. Gürültü eklemek yerine, doğal değişimi ortadan kaldırır. Elle çapraz bir çizgi çizerseniz, ham bir sensör küçük insan sapmalarını korumalıdır. Açı düzeltme etkinken, çizgi mükemmel düz yatay, dikey veya çapraz bir yöne kilitlenebilir. Bu, masaüstü çizimini kolaylaştırabilir, ancak genellikle rekabetçi nişan alma, piksel sanatı, fotoğraf düzenleme ve imlecin elle tam olarak eşleşmesi gereken herhangi bir görev için istenmez.',
137
+ },
138
+ {
139
+ type: 'comparative',
140
+ items: [
141
+ {
142
+ title: 'Ham sensör davranışı',
143
+ description: 'İz, küçük doğal eğriler ve düzeltmeler dahil olmak üzere elinizi takip eder. Çapraz çizgiler, hareketiniz mükemmel olmadıkça matematiksel olarak kusursuz değildir.',
144
+ },
145
+ {
146
+ title: 'Açı düzeltme davranışı',
147
+ description: 'İz, özellikle yatay, dikey veya 45 derece gibi yaygın açıların yakınında, uzun bölümler boyunca şüpheli derecede düz görünür.',
148
+ },
149
+ {
150
+ title: 'Titreşim davranışı',
151
+ description: 'İz gürültülü, bulanık veya dikenli hale gelir. Çok düz olmak yerine, dengesiz ve kaba görünür.',
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Farenizi Doğru Şekilde Test Etme',
158
+ level: 3,
159
+ },
160
+ {
161
+ type: 'list',
162
+ items: [
163
+ 'Temiz bir sensör penceresi ve bilinen iyi bir fare altlığı ile başlayın',
164
+ 'Köşeden köşeye yavaş çapraz çizgiler çizin ve aynı hareketi birkaç kez tekrarlayın',
165
+ 'Düz çizgilerde görünmeyebilecek titreşimi ortaya çıkarmak için daireler ve S-eğrileri çizin',
166
+ 'Birden fazla DPI seviyesinde test edin, çünkü bazı sensörler çok yüksek hassasiyette daha gürültülü hale gelir',
167
+ 'Mümkünse açı düzeltme, öngörü, yüzey ayarlama veya hızlanma gibi üretici yazılımı özelliklerini devre dışı bırakın',
168
+ 'Fareniz her ikisini de destekliyorsa kablolu ve kablosuz modları karşılaştırın',
169
+ 'Fare arızasını yüzey sorunlarından ayırmak için aynı yüzeyde başka bir fareyle karşılaştırın',
170
+ ],
171
+ },
172
+ {
173
+ type: 'title',
174
+ text: 'Puanları Yorumlama',
175
+ level: 3,
176
+ },
177
+ {
178
+ type: 'paragraph',
179
+ html: 'Araç, bir titreşim puanı, bir açı düzeltme puanı, doğrusallık, ortalama sapma ve yakalanan örnek sayısını gösterir. Bu değerler en iyi karşılaştırmalı olarak kullanılır. Bir değişkeni değiştirdikten sonra aynı el hareketiyle aynı çizgiyi çizin: DPI, yüzey, kablosuz alıcı yerleşimi veya fare yazılım ayarı. Bir puan, yüzeyi değiştirdikten veya sensörü temizledikten sonra düşerse, olası bir neden bulmuşsunuzdur.',
180
+ },
181
+ {
182
+ type: 'table',
183
+ headers: ['Sonuç', 'Ne Önerdiği', 'Pratik Eylem'],
184
+ rows: [
185
+ ['Düşük titreşim ve düşük düzeltme', 'Sensör yolu doğal ve kararlı görünüyor', 'Mevcut ayarları koruyun ve bunu referans olarak kullanın'],
186
+ ['Yüksek titreşim, düşük düzeltme', 'Fare izliyor ancak yol gürültülü', 'Sensörü temizleyin, yüzeyi değiştirin, DPI\'ı düşürün ve yeniden test edin'],
187
+ ['Düşük titreşim, yüksek düzeltme', 'Yol yazılım tarafından düzeltilmiş olabilir', 'Fare yazılımında öngörü veya açı düzeltme seçeneklerini arayın'],
188
+ ['Yüksek titreşim ve yüksek düzeltme', 'İz dengesiz ve aşırı düzeltilmiş olabilir', 'Fare yazılım profillerini sıfırlayın ve varsayılan ayarlardan yeniden test edin'],
189
+ ['Puanlar yüzeye göre güçlü şekilde değişiyor', 'Sensör bir yüzey dokusunu veya yansıtıcılığını sevmiyor', 'En temiz izi veren yüzeyi kullanın'],
190
+ ],
191
+ },
192
+ {
193
+ type: 'title',
194
+ text: 'DPI, Yoklama Hızı ve Fare Titreşimi',
195
+ level: 3,
196
+ },
197
+ {
198
+ type: 'paragraph',
199
+ html: 'Yüksek DPI otomatik olarak daha iyi izleme anlamına gelmez. Bazı fareler orta DPI\'da temiz çalışır ancak çok yüksek DPI\'da daha fazla görünür gürültü gösterir, çünkü küçük sensör hataları daha büyük imleç hareketine dönüşür. Yoklama hızı da izin hissini değiştirebilir. Daha yüksek bir yoklama hızı daha sık güncelleme sağlar, ancak kirli bir sensörü, kötü bir yüzeyi veya yazılım öngörüsünü düzeltemez.',
200
+ },
201
+ {
202
+ type: 'paragraph',
203
+ html: 'Adil bir karşılaştırma için el hareketinizi benzer tutun ve her seferinde bir ayarı değiştirin. Örneğin, aynı çapraz çizgiyi 800 DPI, 1600 DPI ve 3200 DPI\'da çizin. Yol yalnızca en yüksek değerde bulanıklaşıyorsa, en iyi çözüm fareyi değiştirmek yerine DPI\'ı düşürmek ve oyun içi hassasiyeti ayarlamak olabilir.',
204
+ },
205
+ {
206
+ type: 'title',
207
+ text: 'Fare Sensörü Titreşiminin Yaygın Nedenleri',
208
+ level: 3,
209
+ },
210
+ {
211
+ type: 'list',
212
+ items: [
213
+ 'Optik sensör penceresinin yakınında toz, tüy veya yağ',
214
+ 'Parlak, yansıtıcı, şeffaf veya düzensiz yüzeyler',
215
+ 'Küçük sensör hatalarını büyüten çok yüksek DPI ayarları',
216
+ 'Düşük pil veya kablosuz parazit',
217
+ 'Alıcının fareden uzakta veya metal PC kasasının arkasında olması',
218
+ 'Yazılım filtreleri, yüzey kalibrasyonu veya üretici yazılım profilleri',
219
+ 'Fare eğildiğinde veya hızlı hareket ettirildiğinde kalkış mesafesi sorunları',
220
+ 'Yoğun kullanım sonrası aşınmış veya hasar görmüş sensör merceği',
221
+ ],
222
+ },
223
+ {
224
+ type: 'title',
225
+ text: 'Oyuncular ve Tasarımcılar Neden Önemser',
226
+ level: 3,
227
+ },
228
+ {
229
+ type: 'paragraph',
230
+ html: 'Oyunlarda titreşim, nişangah elin tam olarak amaçladığı yerde durmadığı için mikro ayarlamaları zorlaştırabilir. Açı düzeltme de aynı derecede sorunlu olabilir: düz masaüstü çizgileri çizmeye yardımcı olabilir, ancak küçük nişan düzeltmelerini de bozabilir ve çapraz takibi filtrelenmiş hissettirebilir. Tasarımcılar, illüstratörler, CAD kullanıcıları ve fotoğraf editörleri için sensör düzeltmesi, serbest el hareketini daha az dürüst ve kontrol etmesi daha zor hale getirebilir.',
231
+ },
232
+ {
233
+ type: 'paragraph',
234
+ html: 'Bir farenin iyi olması için mükemmel bir ize ihtiyacı yoktur. İnsan hareketi doğal olarak kusurludur. Uyarı işaretleri tekrarlanabilirdir: aynı yüzey her zaman gürültülü noktalar oluşturur, aynı DPI her zaman ani sapmalar oluşturur veya aynı fare her zaman çaprazları şüpheli derecede düz yaparken başka bir fare yapmaz.',
235
+ },
236
+ {
237
+ type: 'title',
238
+ text: 'Yeni Bir Fare Almadan Önce',
239
+ level: 3,
240
+ },
241
+ {
242
+ type: 'list',
243
+ items: [
244
+ 'Fare kapalıyken sensör penceresini dikkatlice temizleyin',
245
+ 'Tercihen mat kumaş veya hibrit oyun yüzeyi olan farklı bir fare altlığı deneyin',
246
+ 'DPI\'ı düşürün ve yazılım hassasiyetiyle telafi edin',
247
+ 'Açı düzeltme, öngörü, işaretçi hassasiyeti ve hızlanma seçeneklerini devre dışı bırakın',
248
+ 'Kablosuz alıcıyı bir USB uzatma kablosu kullanarak yaklaştırın',
249
+ 'Üretici yazılımı destekliyorsa fare yazılım profilini güncelleyin veya sıfırlayın',
250
+ 'Karşılaştırma için aynı bilgisayar ve yüzeyde başka bir fare test edin',
251
+ ],
252
+ },
253
+ {
254
+ type: 'diagnostic',
255
+ variant: 'info',
256
+ title: 'Faydalı tanı kuralı',
257
+ html: '<p>Tek bir garip iz yeterli değildir. Önemli olan tekrarlanabilir bir desendir. Titreşim veya açı düzeltme aynı ayarlar altında tekrar tekrar ortaya çıkıyor ve sensörü temizlediğinizde, yüzeyi değiştirdiğinizde, DPI\'ı düşürdüğünüzde veya öngörüyü devre dışı bıraktığınızda kayboluyorsa, en olası nedeni bulmuşsunuzdur.</p>',
258
+ },
259
+ ],
260
+ ui: {
261
+ badge: 'Ham Sensör İzi',
262
+ canvasLabel: 'Fare titreşim ve açı düzeltme testi çizim alanı',
263
+ canvasHint: 'Yavaş çaprazlar, daireler ve eğriler çizin. Düzensiz takibi kolayca fark etmek için bireysel sensör noktaları görünür kalır.',
264
+ pointerPrompt: 'Basılı tutun ve çizim alanı içinde çizin',
265
+ samples: 'Örnekler',
266
+ jitterScore: 'Titreşim',
267
+ snappingScore: 'Düzeltme',
268
+ straightness: 'Doğrusallık',
269
+ rawDeviation: 'Ort. sapma',
270
+ statusIdle: 'Ham fare hareketini yakalamak için alan içinde çizin',
271
+ statusHealthy: 'İz son örneklerde doğal ve kararlı görünüyor',
272
+ statusJitter: 'Son izde gürültülü hareket tespit edildi',
273
+ statusSnapping: 'Şüpheli derecede düz hareket tespit edildi',
274
+ statusMixed: 'İzde hem titreşim hem de olası açı düzeltme görünüyor',
275
+ reset: 'Sıfırla',
276
+ holdShift: 'İpucu: her seferinde bir değişikliği test edin. DPI, yüzey, kablosuz mod ve öngörü ayarları izi değiştirebilir.',
277
+ sensitivity: 'Algılama hassasiyeti',
278
+ low: 'kararlı',
279
+ high: 'katı',
280
+ traceLog: 'İz olayları',
281
+ emptyLog: 'Olay günlüğünü başlatmak için birkaç kontrollü çizgi çizin.',
282
+ jitterEvent: 'titreşim',
283
+ snappingEvent: 'açı düzeltme',
284
+ combinedEvent: 'titreşim ve açı düzeltme',
285
+ cleanEvent: 'temiz iz',
286
+ pxUnit: 'px',
287
+ percentUnit: '%',
288
+ },
289
+ };
@@ -0,0 +1,289 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MouseJitterAngleSnappingTestUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'mouse-jitter-angle-snapping-test';
7
+ const title = '鼠标抖动与角度修正测试';
8
+ const description =
9
+ '在线绘制原始鼠标轨迹,检测传感器抖动、不稳定的跟踪以及使移动人为变直的角度修正或预测。';
10
+
11
+ const faqData = [
12
+ {
13
+ question: '什么是鼠标抖动?',
14
+ answer:
15
+ '鼠标抖动是指即使手在平稳移动,光标路径中也会出现不必要的晃动或噪声。可能来源于脏污的传感器窗口、糟糕的表面、较高的抬起距离行为、电气噪声、无线不稳定或在所选DPI下表现不佳的传感器。',
16
+ },
17
+ {
18
+ question: '什么是角度修正?',
19
+ answer:
20
+ '角度修正,有时称为预测,是一种修正功能,鼠标固件试图将略微不完美的人类运动转换为更直线的水平、垂直或对角线。一些办公室用户喜欢,但许多游戏玩家和艺术家更喜欢没有预测的原始移动。',
21
+ },
22
+ {
23
+ question: '这个测试能证明我的鼠标传感器有问题吗?',
24
+ answer:
25
+ '不能对传感器进行电气检查,但它显示了浏览器接收到的移动路径。如果反复的平滑移动产生了噪声点、突然的偏差或不自然地笔直的线段,那么结果就是排除鼠标、表面、DPI、无线连接或固件设置故障的有用证据。',
26
+ },
27
+ {
28
+ question: '我应该如何绘制以获得最可靠的结果?',
29
+ answer:
30
+ '绘制缓慢的对角线、中速曲线和长距离水平移动。多次测试相同的移动。抖动在缓慢受控的线条中更容易看到,而当对角线移动变得可疑地平直或呈阶梯状时,角度修正更容易被发现。',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: '清洁传感器和鼠标垫',
37
+ text: '测试前,清除传感器窗口的灰尘或毛发,使用稳定的鼠标垫或桌面。',
38
+ },
39
+ {
40
+ name: '绘制缓慢的对角线',
41
+ text: '按住鼠标主键,绘制几条对角线笔画。原始传感器应显示自然的手部变化,而不是被强制完美对齐到一个角度的线条。',
42
+ },
43
+ {
44
+ name: '绘制平滑曲线',
45
+ text: '绘制圆形、S形曲线和弧线。抖动表现为从预期曲线跳出的粗糙噪声点。',
46
+ },
47
+ {
48
+ name: '比较DPI和表面设置',
49
+ text: '在不同的DPI级别、轮询率、抬起距离设置和表面上重复相同的移动,以找出问题何时出现。',
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<MouseJitterAngleSnappingTestUI> = {
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: '一个好的鼠标传感器应当跟随你的手,不添加可见噪声,也不暗中修正路径。当传感器脏污、表面难以追踪、DPI对硬件来说太高,或固件应用了预测时,光标路径可能不再感觉自然。这个鼠标抖动测试让你绘制原始轨迹并检查各个读取点,使传感器问题变得可见而不是模糊不清。',
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: 'table',
120
+ headers: ['轨迹模式', '可能的含义', '下一步尝试'],
121
+ rows: [
122
+ ['慢速线条中随机出现小尖峰', '传感器噪声、脏污或表面追踪问题', '清洁传感器窗口并尝试不同的鼠标垫'],
123
+ ['仅在高DPI下出现抖动', '传感器或固件在该灵敏度下表现不佳', '在400、800、1600和3200 DPI下重新测试'],
124
+ ['仅在无线模式下出现粗糙移动', '电池、接收器距离或干扰', '将接收器靠近并用新电池测试'],
125
+ ['抬起附近或倾斜鼠标时出现噪声', '抬起距离或与表面接触不均匀', '保持鼠标平放,如有可能降低抬起距离'],
126
+ ['一个桌子上有抖动而另一个没有', '表面纹理或反射率问题', '使用专为光学传感器设计的哑光鼠标垫'],
127
+ ],
128
+ },
129
+ {
130
+ type: 'title',
131
+ text: '角度修正的外观',
132
+ level: 3,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: '角度修正与抖动不同。它不是添加噪声,而是消除自然变化。如果你用手绘制对角线,原始传感器应该保留微小的人类偏差。启用角度修正后,线条可能锁定在完美笔直的水平、垂直或对角线方向上。这可能使桌面绘图更容易,但对于竞技瞄准、像素艺术、照片编辑以及任何需要光标与手精确匹配的任务,通常是不需要的。',
137
+ },
138
+ {
139
+ type: 'comparative',
140
+ items: [
141
+ {
142
+ title: '原始传感器行为',
143
+ description: '轨迹跟随你的手,包括小的自然弯曲和修正。除非你的移动是完美的,否则对角线在数学上并不完美。',
144
+ },
145
+ {
146
+ title: '角度修正行为',
147
+ description: '轨迹在长段中看起来可疑地平直,特别是在水平、垂直或45度等常见角度附近。',
148
+ },
149
+ {
150
+ title: '抖动行为',
151
+ description: '轨迹变得嘈杂、模糊或尖刺。不是太直,而是看起来不稳定和粗糙。',
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: '如何正确测试鼠标',
158
+ level: 3,
159
+ },
160
+ {
161
+ type: 'list',
162
+ items: [
163
+ '从干净的传感器窗口和已知好的鼠标垫开始',
164
+ '从一角到另一角绘制缓慢的对角线,并多次重复相同的移动',
165
+ '绘制圆形和S形曲线以揭示在直线中可能不会出现的抖动',
166
+ '在多个DPI级别下测试,因为一些传感器在非常高的灵敏度下会变得更嘈杂',
167
+ '如有可能,禁用厂商软件功能,如角度修正、预测、表面调节或加速',
168
+ '如果你的鼠标支持有线和无线两种模式,请进行比较',
169
+ '在同一表面上用另一个鼠标进行比较,以区分鼠标故障和表面问题',
170
+ ],
171
+ },
172
+ {
173
+ type: 'title',
174
+ text: '解读分数',
175
+ level: 3,
176
+ },
177
+ {
178
+ type: 'paragraph',
179
+ html: '该工具显示抖动分数、角度修正分数、笔直度、平均偏差和捕获的样本数。这些值最好用于比较。更改变量后(DPI、表面、无线接收器位置或鼠标固件设置),用相同的鼠标手势绘制相同的线条。如果更换表面或清洁传感器后分数下降,你就找到了可能的原因。',
180
+ },
181
+ {
182
+ type: 'table',
183
+ headers: ['结果', '暗示什么', '实际操作'],
184
+ rows: [
185
+ ['低抖动和低修正', '传感器路径看起来自然且稳定', '保持当前设置并以此为基准'],
186
+ ['高抖动,低修正', '鼠标在追踪但路径有噪声', '清洁传感器、更换表面、降低DPI并重新测试'],
187
+ ['低抖动,高修正', '路径可能被固件修正', '在鼠标软件中寻找预测或角度修正选项'],
188
+ ['高抖动和高修正', '轨迹不稳定且可能被过度修正', '重置鼠标软件配置文件并从默认设置重新测试'],
189
+ ['分数随表面变化很大', '传感器不喜欢某种表面纹理或反射率', '使用轨迹最干净的表面'],
190
+ ],
191
+ },
192
+ {
193
+ type: 'title',
194
+ text: 'DPI、轮询率和鼠标抖动',
195
+ level: 3,
196
+ },
197
+ {
198
+ type: 'paragraph',
199
+ html: '高DPI并不意味着自动更好的追踪。一些鼠标在中等DPI下表现干净,但在非常高的DPI下会暴露更多可见噪声,因为微小的传感器误差被放大为更大的光标移动。轮询率也会改变轨迹的感觉。更高的轮询率提供更频繁的更新,但无法修复脏污的传感器、糟糕的表面或固件预测。',
200
+ },
201
+ {
202
+ type: 'paragraph',
203
+ html: '为了公平比较,保持手部移动相似,一次只更改一个设置。例如,在800 DPI、1600 DPI和3200 DPI下绘制相同的对角线。如果路径仅在最高值下变得模糊,最佳解决方案可能是降低DPI并调整游戏内灵敏度,而不是更换鼠标。',
204
+ },
205
+ {
206
+ type: 'title',
207
+ text: '鼠标传感器抖动的常见原因',
208
+ level: 3,
209
+ },
210
+ {
211
+ type: 'list',
212
+ items: [
213
+ '光学传感器窗口附近的灰尘、毛发或油脂',
214
+ '光滑、反光、透明或不平整的表面',
215
+ '放大微小传感器误差的极高DPI设置',
216
+ '电池电量低或无线干扰',
217
+ '接收器远离鼠标或在金属PC机箱后面',
218
+ '固件过滤器、表面校准或厂商软件配置文件',
219
+ '倾斜或快速移动鼠标时的抬起距离问题',
220
+ '大量使用后磨损或损坏的传感器镜头',
221
+ ],
222
+ },
223
+ {
224
+ type: 'title',
225
+ text: '为什么游戏玩家和设计师关心',
226
+ level: 3,
227
+ },
228
+ {
229
+ type: 'paragraph',
230
+ html: '在游戏中,抖动可能使微调更加困难,因为准星不会精确地停在手预期的位置。角度修正也同样有问题:它可能有助于在桌面上画直线,但也可能扭曲小的瞄准修正,使对角线追踪感觉被过滤。对于设计师、插画师、CAD用户和照片编辑者来说,传感器修正可能使自由手移动感觉不那么诚实且更难控制。',
231
+ },
232
+ {
233
+ type: 'paragraph',
234
+ html: '鼠标不需要完美的轨迹才算好。人类移动天生就不完美。警示信号是可重复的:同样的表面总是产生噪声点,同样的DPI总是产生尖峰,或者同样的鼠标总是让对角线可疑地平直而另一个鼠标不会。',
235
+ },
236
+ {
237
+ type: 'title',
238
+ text: '购买新鼠标之前',
239
+ level: 3,
240
+ },
241
+ {
242
+ type: 'list',
243
+ items: [
244
+ '在鼠标关闭时小心清洁传感器窗口',
245
+ '尝试不同的鼠标垫,最好是哑光布面或混合游戏表面',
246
+ '降低DPI并用软件灵敏度补偿',
247
+ '禁用角度修正、预测、指针精度和加速选项',
248
+ '使用USB延长线将无线接收器移近',
249
+ '如果厂商软件支持,更新或重置鼠标固件配置文件',
250
+ '在同一台电脑和表面上测试另一只鼠标进行比较',
251
+ ],
252
+ },
253
+ {
254
+ type: 'diagnostic',
255
+ variant: 'info',
256
+ title: '有用的诊断规则',
257
+ html: '<p>单次奇怪的轨迹是不够的。可重复的模式才是关键。如果在相同设置下抖动或角度修正反复出现,然后在清洁传感器、更换表面、降低DPI或禁用预测后消失,你就找到了最可能的原因。</p>',
258
+ },
259
+ ],
260
+ ui: {
261
+ badge: '原始传感器轨迹',
262
+ canvasLabel: '鼠标抖动与角度修正测试绘图区',
263
+ canvasHint: '绘制缓慢的对角线、圆形和曲线。各个传感器点保持可见,以便容易发现粗糙的追踪。',
264
+ pointerPrompt: '按住并在绘图区内绘制',
265
+ samples: '采样',
266
+ jitterScore: '抖动',
267
+ snappingScore: '修正',
268
+ straightness: '笔直度',
269
+ rawDeviation: '平均偏差',
270
+ statusIdle: '在场内绘制以捕获原始鼠标移动',
271
+ statusHealthy: '最近采样中轨迹看起来自然且稳定',
272
+ statusJitter: '最近轨迹中检测到噪声移动',
273
+ statusSnapping: '检测到可疑地平直的移动',
274
+ statusMixed: '轨迹中同时出现抖动和可能的角度修正',
275
+ reset: '重置',
276
+ holdShift: '提示:一次测试一个更改。DPI、表面、无线模式和预测设置都可能改变轨迹。',
277
+ sensitivity: '检测灵敏度',
278
+ low: '稳定',
279
+ high: '严格',
280
+ traceLog: '轨迹事件',
281
+ emptyLog: '绘制几个受控笔画以启动事件日志。',
282
+ jitterEvent: '抖动',
283
+ snappingEvent: '角度修正',
284
+ combinedEvent: '抖动和角度修正',
285
+ cleanEvent: '干净轨迹',
286
+ pxUnit: 'px',
287
+ percentUnit: '%',
288
+ },
289
+ };
@@ -0,0 +1,9 @@
1
+ import type { ToolDefinition } from '../../types';
2
+ import { mouseJitterAngleSnappingTest } from './entry';
3
+ export * from './entry';
4
+ export const MOUSE_JITTER_ANGLE_SNAPPING_TEST_TOOL: ToolDefinition = {
5
+ entry: mouseJitterAngleSnappingTest,
6
+ Component: () => import('./component.astro'),
7
+ SEOComponent: () => import('./seo.astro'),
8
+ BibliographyComponent: () => import('./bibliography.astro'),
9
+ };