@jjlmoya/utils-hardware 1.21.0 → 1.22.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.
- package/package.json +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +4 -1
- package/src/index.ts +1 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/mouseScrollTest/bibliography.astro +14 -0
- package/src/tool/mouseScrollTest/bibliography.ts +16 -0
- package/src/tool/mouseScrollTest/component.astro +150 -0
- package/src/tool/mouseScrollTest/entry.ts +29 -0
- package/src/tool/mouseScrollTest/i18n/de.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/en.ts +253 -0
- package/src/tool/mouseScrollTest/i18n/es.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/fr.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/id.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/it.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/ja.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/ko.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/nl.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/pl.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/pt.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/ru.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/sv.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/tr.ts +248 -0
- package/src/tool/mouseScrollTest/i18n/zh.ts +248 -0
- package/src/tool/mouseScrollTest/index.ts +9 -0
- package/src/tool/mouseScrollTest/logic.ts +277 -0
- package/src/tool/mouseScrollTest/mouse-scroll-test.css +610 -0
- package/src/tool/mouseScrollTest/seo.astro +15 -0
- package/src/tool/mouseScrollTest/ui.ts +34 -0
- package/src/tools.ts +2 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MouseScrollTestUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'fare-tekerlegi-testi';
|
|
7
|
+
const title = 'Fare Tekerleği Testi';
|
|
8
|
+
const description = 'Fare tekerleği atlamalarını, ters sıçramaları, tutarsız kaydırma yönünü ve zayıf kodlayıcı sinyallerini yerel tarayıcı tabanlı bir fare tekerleği testi ile teşhis edin.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Fare tekerleği testi neyi tespit eder?',
|
|
13
|
+
answer: 'Bir fare tekerleği testi, tekerlek olaylarını kaydeder ve kararsız yön değişikliklerini, zayıf küçük deltaları ve tutarsız kaydırmayı arar. Bu belirtiler genellikle tekerlek kodlayıcısı kirli, aşınmış, hizasız veya elektronik olarak gürültülü olduğunda ortaya çıkar.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Ters kaydırma sıçraması nedir?',
|
|
17
|
+
answer: 'Ters bir sıçrama, bir yönde kaydırdığınızda ancak bilgisayarın kısa bir süre ters yönde bir olay almasıyla oluşur. Sabit kaydırma sırasında tekrarlanıyorsa, kodlayıcı geri sekmesi veya kirlenmenin güçlü bir işaretidir.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Bu test dokunmatik yüzeylerle çalışır mı?',
|
|
21
|
+
answer: 'Evet, ancak sonuç fiziksel fare tekerlekleri için en anlamlıdır. Dokunmatik yüzeyler ve yumuşak kaydırma tekerlekleri birçok küçük delta oluşturur, bu nedenle hassasiyet kontrolü kasıtlı ince hareketi şüpheli titreşimden ayırmaya yardımcı olur.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Test fare verilerimi yüklüyor mu?',
|
|
25
|
+
answer: 'Hayır. Hesaplama tarayıcınızda yerel olarak çalışır. Araç yalnızca imleciniz yakalama alanı içindeyken tekerlek olaylarını kullanır.',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{
|
|
31
|
+
name: 'İmleci yakalama panelinin üzerine yerleştirin',
|
|
32
|
+
text: 'İmleci kaydırma laboratuvarı alanına taşıyın, böylece sayfa çevredeki belgeyi hareket ettirmeden tekerlek olaylarını yakalayabilsin.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Tek yönde sabit şekilde kaydırın',
|
|
36
|
+
text: 'Her seferinde bir yönü test edin: birkaç tıklama boyunca yavaşça yukarı kaydırın, sıfırlayın veya duraklatın, ardından aşağı yönü ayrı olarak test edin. Hızlı kasıtlı yön değişiklikleri yanlış ters sıçrama okumaları oluşturabilir.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Ters sıçramalara dikkat edin',
|
|
40
|
+
text: 'Parmağınız hala bir yönde hareket ederken ters dönüş sayacı artıyorsa, deseni doğrulamak için aynı hareketi tekrarlayın.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Hassasiyeti ayarlayın',
|
|
44
|
+
text: 'Yumuşak dokunmatik yüzeyler için hassasiyeti artırın veya katı mekanik tekerlek testleri için azaltın. Kararlılık puanı hemen güncellenir.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'FAQPage',
|
|
51
|
+
mainEntity: faqData.map((item) => ({
|
|
52
|
+
'@type': 'Question',
|
|
53
|
+
name: item.question,
|
|
54
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const howToSchema: WithContext<HowTo> = {
|
|
59
|
+
'@context': 'https://schema.org',
|
|
60
|
+
'@type': 'HowTo',
|
|
61
|
+
name: title,
|
|
62
|
+
description,
|
|
63
|
+
step: howToData.map((step, i) => ({
|
|
64
|
+
'@type': 'HowToStep',
|
|
65
|
+
position: i + 1,
|
|
66
|
+
name: step.name,
|
|
67
|
+
text: step.text,
|
|
68
|
+
})),
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
72
|
+
'@context': 'https://schema.org',
|
|
73
|
+
'@type': 'SoftwareApplication',
|
|
74
|
+
name: title,
|
|
75
|
+
description,
|
|
76
|
+
applicationCategory: 'UtilityApplication',
|
|
77
|
+
operatingSystem: 'All',
|
|
78
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
79
|
+
inLanguage: 'tr',
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const content: ToolLocaleContent<MouseScrollTestUI> = {
|
|
83
|
+
slug,
|
|
84
|
+
title,
|
|
85
|
+
description,
|
|
86
|
+
faq: faqData,
|
|
87
|
+
howTo: howToData,
|
|
88
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
90
|
+
seo: [
|
|
91
|
+
{
|
|
92
|
+
type: 'title',
|
|
93
|
+
text: 'Fare Tekerleği Testi: Tekerlek Atlamalarını ve Ters Sıçramaları Bulun',
|
|
94
|
+
level: 2,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'paragraph',
|
|
98
|
+
html: 'Arızalı bir fare tekerleği nadiren bir anda bozulur. Genellikle küçük belirtilerle başlar: bir tıklama yanlış yönde kaydırır, sayfa siz aşağı kaydırırken yukarı sıçrar veya tekerlek normal hissettirir ancak tarayıcı tutarsız olaylar alır. Bu fare tekerleği testi, tarayıcıya ulaşan sinyali kaydeder ve tanı için önemli olan desenleri vurgular.',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html: 'Amaç bir sayfanın ne kadar hareket ettiğini ölçmek değildir. Yararlı sinyal <strong>yön tutarlılığıdır</strong>. Mekanik bir tekerleği sabit şekilde aşağı doğru döndürdüğünüzde, olay akışı o yönde kalmalıdır. Dar bir zaman penceresi içindeki kısa ters yön olayları şüphelidir çünkü kirli veya aşınmış kaydırma kodlayıcılarının tekerlek hareketini yanlış okuma biçimiyle eşleşir.',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'title',
|
|
106
|
+
text: 'Aracın Ölçtükleri',
|
|
107
|
+
level: 3,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'list',
|
|
111
|
+
items: [
|
|
112
|
+
'Test panelinde yakalanan toplam tekerlek tıklaması',
|
|
113
|
+
'Ters sıçramalar: önceki yön hala güncelken oluşan hızlı işaret değişiklikleri',
|
|
114
|
+
'En uzun temiz çalışma: kaç ardışık olayın tutarlı bir yönde kaldığı',
|
|
115
|
+
'Son delta: en son tekerlek olayının ham yönü ve boyutu',
|
|
116
|
+
'Dikey ve yatay aktivite karşılaştırması, eğim tekerlekleri ve dokunmatik yüzeyler için yararlı',
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'table',
|
|
121
|
+
headers: ['Sinyal', 'Sağlıklı Desen', 'Şüpheli Desen'],
|
|
122
|
+
rows: [
|
|
123
|
+
['Dikey tekerlek', 'Sabit kaydırma sırasında uzun yukarı veya aşağı olay serileri', 'Parmağınız bir yönü korurken değişen yukarı/aşağı olaylar'],
|
|
124
|
+
['Yatay eğim', 'Yalnızca eğim veya yatay hareketler kullanırken sol veya sağ olaylar', 'Normal dikey tekerlek kullanımı sırasında beklenmedik yan hareket'],
|
|
125
|
+
['Küçük deltalar', 'Yumuşak tekerlekler veya dokunmatik yüzeylerde ara sıra küçük değerler', 'Tırtıklı mekanik tekerlekte yüksek oranda küçük kararsız değerler'],
|
|
126
|
+
['Kararlılık puanı', 'Birkaç kasıtlı geçiş boyunca yüksek kalır', 'Aynı yön testinde ters dönüşler oluştuğu için tekrar tekrar düşer'],
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: 'Kaydırma Tekerleği Atlamasının Yaygın Nedenleri',
|
|
132
|
+
level: 3,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'Çoğu fare tekerleği, dönüşü darbelere dönüştüren bir kodlayıcı kullanır. Toz, oksidasyon, aşınmış kontaklar, gevşek tekerlek aksı, ürün yazılımı filtreleme sorunları veya hasarlı bir kablo bu darbeleri tutarsız hale getirebilir. Kodlayıcı kısaca yanlış fazı bildirdiğinde, tekerlek orijinal yönde hareket etmeye devam etse bile işletim sistemi ters yönde bir tekerlek olayı alabilir.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'table',
|
|
140
|
+
headers: ['Belirti', 'Olası Neden', 'Sonraki Kontrol'],
|
|
141
|
+
rows: [
|
|
142
|
+
['Sayfa aşağı kaydırırken yukarı sıçrıyor', 'Kodlayıcı geri sekmesi veya tekerlek mekanizmasında kir', 'Yavaş bir aşağı geçiş yapın ve ters dönüş sayacını izleyin'],
|
|
143
|
+
['Yalnızca bir uygulama kötü kaydırıyor', 'Uygulama yumuşatma, yakınlaştırma modu veya özel fare kısayolu', 'Tarayıcıda test edin ve başka bir uygulamayla karşılaştırın'],
|
|
144
|
+
['Tekerlek hava üfledikten sonra çalışıyor, sonra tekrar arızalanıyor', 'Geçici kalıntı hareketi veya aşınmış kodlayıcı kontakları', 'Birkaç dakika normal kullanımdan sonra tekrarlayın'],
|
|
145
|
+
['Beklenmedik yatay hareket görünüyor', 'Eğim tekerleği gürültüsü, dokunmatik yüzey hareketi veya sürücü eşlemesi', 'Dikey kaydırma yaparken yatay eksen göstergesini kontrol edin'],
|
|
146
|
+
['Kablosuz fare düzensiz kaydırıyor', 'Zayıf pil, alıcı mesafesi veya parazit', 'Yeni pil ve alıcı fareye yakın şekilde yeniden test edin'],
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'title',
|
|
151
|
+
text: 'Güvenilir Şekilde Test Etme',
|
|
152
|
+
level: 3,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'list',
|
|
156
|
+
items: [
|
|
157
|
+
'Normal sayfa hareketini önlemek için kaydırmadan önce imleci yakalama panelinin içine yerleştirin',
|
|
158
|
+
'Her seferinde bir yönü test edin: yön değiştirmeden 10-20 tekerlek tıklaması boyunca yavaşça yukarı kaydırın',
|
|
159
|
+
'Sıfırlayın veya duraklatın, ardından aynı tek yönlü geçişi aşağı doğru tekrarlayın',
|
|
160
|
+
'Yukarı ve aşağı arasında hızla geçiş yapmayın, çünkü kasıtlı hızlı yön değişiklikleri ters sıçramalar gibi görünebilir',
|
|
161
|
+
'Ters dönüşler görünürse, tekrarlanabilir olduğunu doğrulamak için sorunlu yönü birkaç kez tekrarlayın',
|
|
162
|
+
'Donanımı yazılımdan ayırmanız gerekiyorsa aynı bilgisayarda başka bir fareyle karşılaştırın',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'title',
|
|
167
|
+
text: 'Puanı Yorumlama',
|
|
168
|
+
level: 3,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'paragraph',
|
|
172
|
+
html: 'Kararlılık puanı hızlı bir özettir. Yüksek bir puan, aracın tutarlı yön ve az sayıda küçük belirsiz delta gördüğü anlamına gelir. Düşük bir puan, özellikle dokunmatik yüzeylerde veya yüksek çözünürlüklü yumuşak tekerleklerde farenin bozuk olduğunu otomatik olarak kanıtlamaz, ancak yavaş bir tek yönlü test sırasında tekrarlanan ters sıçramalar gerçek bir tekerlek sorununun güçlü kanıtıdır.',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'table',
|
|
176
|
+
headers: ['Sonuç', 'Anlamı', 'Önerilen Eylem'],
|
|
177
|
+
rows: [
|
|
178
|
+
['Ters dönüş yok ve uzun temiz çalışmalar', 'Tekerlek sinyali tutarlı görünüyor', 'Yalnızca belirtiler gerçek kullanımda ortaya çıkarsa test etmeye devam edin'],
|
|
179
|
+
['Tek bir izole ters dönüş', 'Kazara yön değişikliği veya bir gürültülü olay olabilir', 'Aynı yönü yavaşça tekrarlayın'],
|
|
180
|
+
['Aynı geçişte birkaç ters dönüş', 'Muhtemelen kodlayıcı geri sekmesi, kir veya tekerlek aşınması', 'Başka bir bilgisayarda tekrar test edin ve sonucu belgeleyin'],
|
|
181
|
+
['Birçok titreşim olayı ancak ters dönüş yok', 'Hassasiyet bu cihaz türü için çok düşük olabilir', 'Dokunmatik yüzey veya yumuşak kaydırma cihazları için hassasiyeti artırın'],
|
|
182
|
+
['Dikey tekerlek kullanımı sırasında yatay olaylar', 'Olası eğim tekerleği gürültüsü veya sürücü eşleme gürültüsü', 'Özel fare yazılımını devre dışı bırakın ve yeniden test edin'],
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
type: 'title',
|
|
187
|
+
text: 'Mekanik Tekerlek vs Dokunmatik Yüzey',
|
|
188
|
+
level: 3,
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: 'paragraph',
|
|
192
|
+
html: 'Tırtıklı bir mekanik tekerlek normalde net yönlü adımlar üretir. Bir dokunmatik yüzey veya serbest dönen tekerlek, işletim sistemi yumuşak kaydırma uyguladığı için birçok küçük delta üretebilir. Bu nedenle bu araç hassasiyet kontrolü içerir: artırmak küçük hareketleri yok sayar ve testin önemli olacak kadar büyük yön değişikliklerine odaklanmasını sağlar.',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
type: 'title',
|
|
196
|
+
text: 'Fareyi Değiştirmeden Önce Denenecekler',
|
|
197
|
+
level: 3,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
type: 'list',
|
|
201
|
+
items: [
|
|
202
|
+
'Sayfaya özgü bir tekerlek işleyiciyi elemek için başka bir tarayıcıda test edin',
|
|
203
|
+
'Tanı sırasında üretici fare yazılımını, kaydırma hızlandırmasını veya makro katmanlarını devre dışı bırakın',
|
|
204
|
+
'Kablosuz fareler için yeni bir pil kullanın ve alıcıyı yaklaştırın',
|
|
205
|
+
'Fare fişten çekili veya kapalıyken tekerleğin etrafını basınçlı hava ile temizleyin',
|
|
206
|
+
'Fare garanti kapsamındaysa, tekrarlanan ters dönüş desenini kanıt olarak kaydedin',
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
type: 'paragraph',
|
|
211
|
+
html: 'Tarayıcı tabanlı testler kodlayıcıyı elektriksel olarak inceleyemez, ancak normal yazılımınızın tam olarak ne aldığını gösterebilir. Tarayıcı, dikkatli bir tek yönlü kaydırma sırasında yanlış yönde tekerlek olayları alıyorsa, diğer uygulamalar da alabilir.',
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
ui: {
|
|
215
|
+
badge: 'Tekerlek Sinyal Laboratuvarı',
|
|
216
|
+
captureTitle: 'Sinyal panelinin içinde kaydırın',
|
|
217
|
+
captureHint: 'Ters sıçramaları ortaya çıkarmak için sabit tek yönlü tekerlek geçişleri kullanın',
|
|
218
|
+
focusLockTitle: 'Bu kaydırma bölgesini etkinleştir',
|
|
219
|
+
focusLockText: 'Bu bölgeye tıklayın ve burada kaydırın. Bu bölge etkinken sayfa hareket etmez.',
|
|
220
|
+
stabilityScore: 'Kararlılık puanı',
|
|
221
|
+
statusIdle: 'Tekerlek tutarlılığını ölçmeye başlamak için panelin üzerinde kaydırın',
|
|
222
|
+
statusClean: 'Tekerlek yönü yakalanan örneklerde kararlı',
|
|
223
|
+
statusWarning: 'Son kaydırma sırasında ters sıçramalar tespit edildi',
|
|
224
|
+
statusMixed: 'Birçok küçük delta tespit edildi; bu cihaz için hassasiyeti ayarlayın',
|
|
225
|
+
directionNote: 'Her seferinde bir yönü test edin. Hızla yukarı ve aşağı geçiş yapmak yanlış ters sıçrama okumaları oluşturabilir.',
|
|
226
|
+
totalTicks: 'Tıklama',
|
|
227
|
+
reversals: 'Ters dönüşler',
|
|
228
|
+
longestRun: 'En iyi çalışma',
|
|
229
|
+
lastDelta: 'Son delta',
|
|
230
|
+
verticalAxis: 'Dikey',
|
|
231
|
+
horizontalAxis: 'Yatay',
|
|
232
|
+
dominantDirection: 'Son yön',
|
|
233
|
+
upward: 'Yukarı',
|
|
234
|
+
downward: 'Aşağı',
|
|
235
|
+
leftward: 'Sol',
|
|
236
|
+
rightward: 'Sağ',
|
|
237
|
+
noDirection: 'Hareket yok',
|
|
238
|
+
noDataValue: '-',
|
|
239
|
+
sensitivityLabel: 'Titreşim hassasiyeti',
|
|
240
|
+
sensitivityUnit: 'delta',
|
|
241
|
+
reset: 'Sıfırla',
|
|
242
|
+
logTitle: 'Tekerlek olay akışı',
|
|
243
|
+
emptyLog: 'Yavaş, sabit tekerlek hareketiyle panelin üzerinde kaydırın.',
|
|
244
|
+
cleanEvent: 'temiz',
|
|
245
|
+
reversalEvent: 'ters sıçrama',
|
|
246
|
+
jitterEvent: 'küçük delta',
|
|
247
|
+
},
|
|
248
|
+
};
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MouseScrollTestUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'mouse-scroll-test';
|
|
7
|
+
const title = '鼠标滚轮测试';
|
|
8
|
+
const description = '通过本地浏览器滚轮测试,诊断鼠标滚轮跳帧、反向跳动、滚轮方向不一致以及编码器信号弱等问题。';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: '鼠标滚轮测试能检测什么?',
|
|
13
|
+
answer: '鼠标滚轮测试记录滚轮事件,查找不稳定的方向变化、微弱的小增量以及不一致的滚动。当滚轮编码器脏污、磨损、未对准或存在电噪声时,这些症状经常出现。',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: '什么是反向滚动跳动?',
|
|
17
|
+
answer: '反向跳动是指您向一个方向滚动时,计算机却短暂接收到相反方向的事件。如果在匀速滚动期间反复出现,则强烈表明编码器存在抖动或污染。',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: '此测试适用于触摸板吗?',
|
|
21
|
+
answer: '可以,但对于物理鼠标滚轮来说结果最有意义。触摸板和顺滑滚轮会产生许多微小的增量,因此灵敏度控制有助于区分有意的精细移动和可疑的抖动。',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: '测试会上传我的鼠标数据吗?',
|
|
25
|
+
answer: '不会。计算在您的浏览器本地执行。该工具仅在指针处于捕获区域内时使用滚轮事件。',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{
|
|
31
|
+
name: '将指针悬停在捕获面板上',
|
|
32
|
+
text: '将光标移动到滚轮实验室区域内,以便页面在不移动周围文档的情况下捕获滚轮事件。',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: '在一个方向上匀速滚动',
|
|
36
|
+
text: '一次只测试一个方向:缓慢向上滚动多格,重置或暂停,然后单独测试向下滚动。故意的快速方向改变可能会产生错误的反向跳动读数。',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: '观察反向跳动',
|
|
40
|
+
text: '如果在手指仍向一个方向移动时反转计数器增加,请重复相同的动作以确认该模式。',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: '调整灵敏度',
|
|
44
|
+
text: '对于顺滑触摸板可提高灵敏度,对于严格的机械滚轮测试则降低灵敏度。稳定性分数会立即更新。',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'FAQPage',
|
|
51
|
+
mainEntity: faqData.map((item) => ({
|
|
52
|
+
'@type': 'Question',
|
|
53
|
+
name: item.question,
|
|
54
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const howToSchema: WithContext<HowTo> = {
|
|
59
|
+
'@context': 'https://schema.org',
|
|
60
|
+
'@type': 'HowTo',
|
|
61
|
+
name: title,
|
|
62
|
+
description,
|
|
63
|
+
step: howToData.map((step, i) => ({
|
|
64
|
+
'@type': 'HowToStep',
|
|
65
|
+
position: i + 1,
|
|
66
|
+
name: step.name,
|
|
67
|
+
text: step.text,
|
|
68
|
+
})),
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
72
|
+
'@context': 'https://schema.org',
|
|
73
|
+
'@type': 'SoftwareApplication',
|
|
74
|
+
name: title,
|
|
75
|
+
description,
|
|
76
|
+
applicationCategory: 'UtilityApplication',
|
|
77
|
+
operatingSystem: 'All',
|
|
78
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
79
|
+
inLanguage: 'zh',
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const content: ToolLocaleContent<MouseScrollTestUI> = {
|
|
83
|
+
slug,
|
|
84
|
+
title,
|
|
85
|
+
description,
|
|
86
|
+
faq: faqData,
|
|
87
|
+
howTo: howToData,
|
|
88
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
89
|
+
bibliography,
|
|
90
|
+
seo: [
|
|
91
|
+
{
|
|
92
|
+
type: 'title',
|
|
93
|
+
text: '鼠标滚轮测试:发现滚轮跳帧和反向跳动',
|
|
94
|
+
level: 2,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'paragraph',
|
|
98
|
+
html: '鼠标滚轮故障很少一次性彻底损坏。通常从小症状开始:一格滚动方向错误,向下滚动时页面却向上跳动,或者滚轮手感正常但浏览器接收到不一致的事件。此鼠标滚轮测试会记录到达浏览器的信号,并高亮显示与诊断相关的模式。',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html: '目的不是测量页面移动了多远。有用的信号是<strong>方向一致性</strong>。当您匀速向下转动机械滚轮时,事件流应该保持在那个方向。在狭窄时间窗口内的短暂反向事件是可疑的,因为这符合脏污或磨损的滚轮编码器误读滚轮运动的方式。',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'title',
|
|
106
|
+
text: '工具测量的内容',
|
|
107
|
+
level: 3,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'list',
|
|
111
|
+
items: [
|
|
112
|
+
'测试面板中捕获的滚轮总格数',
|
|
113
|
+
'反向跳动:在前一方向还较近时发生的快速符号变化',
|
|
114
|
+
'最长干净序列:多少连续事件保持了一致的方向',
|
|
115
|
+
'最后增量:最近一次滚轮事件的原始方向和幅度',
|
|
116
|
+
'垂直与水平活动,对倾斜滚轮和触摸板很有用',
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'table',
|
|
121
|
+
headers: ['信号', '正常模式', '可疑模式'],
|
|
122
|
+
rows: [
|
|
123
|
+
['垂直滚轮', '匀速滚动时出现长的上或下事件序列', '手指保持一个方向时上下事件交替出现'],
|
|
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: 'table',
|
|
140
|
+
headers: ['症状', '可能原因', '下一步检查'],
|
|
141
|
+
rows: [
|
|
142
|
+
['向下滚动时页面向上跳动', '编码器抖动或滚轮机构内有污垢', '进行一次缓慢的向下扫描并观察反转计数器'],
|
|
143
|
+
['仅有一个应用滚动异常', '应用平滑处理、缩放模式或自定义鼠标快捷键', '在浏览器中测试并与另一应用比较'],
|
|
144
|
+
['吹气后滚轮正常,随后再次失效', '碎屑暂时移动或编码器触点磨损', '正常使用几分钟后重复测试'],
|
|
145
|
+
['出现意外的水平移动', '倾斜滚轮噪声、触摸板手势或驱动程序映射', '垂直滚动时检查水平轴指示器'],
|
|
146
|
+
['无线鼠标滚动不稳定', '电池电量低、接收器距离远或干扰', '使用新电池并将接收器靠近鼠标重新测试'],
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'title',
|
|
151
|
+
text: '如何可靠测试',
|
|
152
|
+
level: 3,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'list',
|
|
156
|
+
items: [
|
|
157
|
+
'滚动前将指针放在捕获面板内,以便页面阻止正常的页面移动',
|
|
158
|
+
'一次只测试一个方向:不改变方向地缓慢向上滚动10到20格',
|
|
159
|
+
'重置或暂停,然后将相同的单向扫描向下重复一次',
|
|
160
|
+
'不要在上下之间快速切换,因为故意的快速方向改变可能看起来像反向跳动',
|
|
161
|
+
'如果出现反转,重复失败的方向多次以确认可复现性',
|
|
162
|
+
'如果需要区分硬件和软件问题,在同一台计算机上使用另一只鼠标进行比较',
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'title',
|
|
167
|
+
text: '解读评分',
|
|
168
|
+
level: 3,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'paragraph',
|
|
172
|
+
html: '稳定性分数是一个快速总结。高分意味着工具观察到一致的方向和较少的微小不确定增量。低分并不自动证明鼠标坏了,尤其是在触摸板或高分辨率顺滑滚轮上,但在缓慢的单向测试中反复出现的反向跳动是真正滚轮问题的有力证据。',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'table',
|
|
176
|
+
headers: ['结果', '含义', '建议操作'],
|
|
177
|
+
rows: [
|
|
178
|
+
['无反转且长序列干净', '滚轮信号看起来一致', '仅在实际使用中出现症状时继续测试'],
|
|
179
|
+
['一次孤立的反转', '可能是意外的方向改变或一次噪声事件', '缓慢重复同一方向'],
|
|
180
|
+
['同一次扫描中多次反转', '可能是编码器抖动、污垢或滚轮磨损', '在另一台计算机上重新测试并记录结果'],
|
|
181
|
+
['许多抖动事件但无反转', '灵敏度可能对此设备类型过低', '对触摸板或顺滑滚轮设备提高灵敏度'],
|
|
182
|
+
['垂直滚轮使用期间出现水平事件', '可能是倾斜滚轮噪声或驱动程序映射噪声', '禁用自定义鼠标软件并重新测试'],
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
type: 'title',
|
|
187
|
+
text: '机械滚轮与触摸板对比',
|
|
188
|
+
level: 3,
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: 'paragraph',
|
|
192
|
+
html: '有刻度的机械滚轮通常会产生清晰的方向步进。触摸板或自由旋转滚轮可能会产生许多微小增量,因为操作系统会进行顺滑滚动处理。这就是此工具包含灵敏度控制的原因:提高它可以忽略微小运动,让测试专注于足够大的方向变化。',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
type: 'title',
|
|
196
|
+
text: '更换鼠标之前应尝试的事项',
|
|
197
|
+
level: 3,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
type: 'list',
|
|
201
|
+
items: [
|
|
202
|
+
'在另一个浏览器中测试以排除页面特定的滚轮处理程序',
|
|
203
|
+
'诊断期间禁用制造商鼠标软件、滚动加速或宏图层',
|
|
204
|
+
'对于无线鼠标,使用新电池并缩短接收器距离',
|
|
205
|
+
'在鼠标拔下或关闭电源时用压缩空气清洁滚轮周围',
|
|
206
|
+
'如果鼠标在保修期内,将重复的反转模式记录下来作为证据',
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
type: 'paragraph',
|
|
211
|
+
html: '基于浏览器的测试无法对编码器进行电气检查,但可以准确显示您的正常软件接收到的内容。如果在谨慎的单向滚动期间浏览器接收到错误方向的滚轮事件,其他应用程序也可能会接收到。',
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
ui: {
|
|
215
|
+
badge: '滚轮信号实验室',
|
|
216
|
+
captureTitle: '在信号面板内滚动',
|
|
217
|
+
captureHint: '使用匀速单向滚轮扫描来发现反向跳动',
|
|
218
|
+
focusLockTitle: '激活此滚动区域',
|
|
219
|
+
focusLockText: '点击此区域并在此处滚动。此区域激活时页面不会移动。',
|
|
220
|
+
stabilityScore: '稳定性分数',
|
|
221
|
+
statusIdle: '在面板上滚动以开始测量滚轮一致性',
|
|
222
|
+
statusClean: '滚轮方向在捕获的样本中稳定',
|
|
223
|
+
statusWarning: '最近滚动期间检测到反向跳动',
|
|
224
|
+
statusMixed: '检测到许多小增量;请为此设备调整灵敏度',
|
|
225
|
+
directionNote: '一次只测试一个方向。快速上下切换可能会产生错误的反向跳动读数。',
|
|
226
|
+
totalTicks: '格数',
|
|
227
|
+
reversals: '反转',
|
|
228
|
+
longestRun: '最佳序列',
|
|
229
|
+
lastDelta: '最后增量',
|
|
230
|
+
verticalAxis: '垂直',
|
|
231
|
+
horizontalAxis: '水平',
|
|
232
|
+
dominantDirection: '最后方向',
|
|
233
|
+
upward: '上',
|
|
234
|
+
downward: '下',
|
|
235
|
+
leftward: '左',
|
|
236
|
+
rightward: '右',
|
|
237
|
+
noDirection: '无移动',
|
|
238
|
+
noDataValue: '-',
|
|
239
|
+
sensitivityLabel: '抖动灵敏度',
|
|
240
|
+
sensitivityUnit: '增量',
|
|
241
|
+
reset: '重置',
|
|
242
|
+
logTitle: '滚轮事件流',
|
|
243
|
+
emptyLog: '用缓慢稳定的滚轮运动在面板上滚动。',
|
|
244
|
+
cleanEvent: '干净',
|
|
245
|
+
reversalEvent: '反向跳动',
|
|
246
|
+
jitterEvent: '微小增量',
|
|
247
|
+
},
|
|
248
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../../types';
|
|
2
|
+
import { mouseScrollTest } from './entry';
|
|
3
|
+
export * from './entry';
|
|
4
|
+
export const MOUSE_SCROLL_TEST_TOOL: ToolDefinition = {
|
|
5
|
+
entry: mouseScrollTest,
|
|
6
|
+
Component: () => import('./component.astro'),
|
|
7
|
+
SEOComponent: () => import('./seo.astro'),
|
|
8
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
9
|
+
};
|