@jjlmoya/utils-hardware 1.3.0 → 1.5.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 (98) hide show
  1. package/package.json +2 -1
  2. package/src/tests/faq_count.test.ts +1 -1
  3. package/src/tests/i18n_coverage.test.ts +36 -0
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/slug_uniqueness.test.ts +81 -0
  6. package/src/tests/title_quality.test.ts +1 -1
  7. package/src/tool/batteryHealthEstimator/i18n/de.ts +158 -0
  8. package/src/tool/batteryHealthEstimator/i18n/id.ts +158 -0
  9. package/src/tool/batteryHealthEstimator/i18n/it.ts +158 -0
  10. package/src/tool/batteryHealthEstimator/i18n/ja.ts +158 -0
  11. package/src/tool/batteryHealthEstimator/i18n/ko.ts +158 -0
  12. package/src/tool/batteryHealthEstimator/i18n/nl.ts +158 -0
  13. package/src/tool/batteryHealthEstimator/i18n/pl.ts +158 -0
  14. package/src/tool/batteryHealthEstimator/i18n/pt.ts +158 -0
  15. package/src/tool/batteryHealthEstimator/i18n/ru.ts +158 -0
  16. package/src/tool/batteryHealthEstimator/i18n/sv.ts +158 -0
  17. package/src/tool/batteryHealthEstimator/i18n/tr.ts +158 -0
  18. package/src/tool/batteryHealthEstimator/i18n/zh.ts +158 -0
  19. package/src/tool/batteryHealthEstimator/index.ts +15 -7
  20. package/src/tool/deadPixelTest/i18n/de.ts +218 -0
  21. package/src/tool/deadPixelTest/i18n/id.ts +218 -0
  22. package/src/tool/deadPixelTest/i18n/it.ts +218 -0
  23. package/src/tool/deadPixelTest/i18n/ja.ts +218 -0
  24. package/src/tool/deadPixelTest/i18n/ko.ts +218 -0
  25. package/src/tool/deadPixelTest/i18n/nl.ts +218 -0
  26. package/src/tool/deadPixelTest/i18n/pl.ts +218 -0
  27. package/src/tool/deadPixelTest/i18n/pt.ts +218 -0
  28. package/src/tool/deadPixelTest/i18n/ru.ts +218 -0
  29. package/src/tool/deadPixelTest/i18n/sv.ts +218 -0
  30. package/src/tool/deadPixelTest/i18n/tr.ts +218 -0
  31. package/src/tool/deadPixelTest/i18n/zh.ts +217 -0
  32. package/src/tool/deadPixelTest/index.ts +15 -7
  33. package/src/tool/gamepadTest/i18n/de.ts +186 -0
  34. package/src/tool/gamepadTest/i18n/id.ts +186 -0
  35. package/src/tool/gamepadTest/i18n/it.ts +186 -0
  36. package/src/tool/gamepadTest/i18n/ja.ts +186 -0
  37. package/src/tool/gamepadTest/i18n/ko.ts +186 -0
  38. package/src/tool/gamepadTest/i18n/nl.ts +186 -0
  39. package/src/tool/gamepadTest/i18n/pl.ts +186 -0
  40. package/src/tool/gamepadTest/i18n/pt.ts +186 -0
  41. package/src/tool/gamepadTest/i18n/ru.ts +186 -0
  42. package/src/tool/gamepadTest/i18n/sv.ts +186 -0
  43. package/src/tool/gamepadTest/i18n/tr.ts +186 -0
  44. package/src/tool/gamepadTest/i18n/zh.ts +186 -0
  45. package/src/tool/gamepadTest/index.ts +15 -7
  46. package/src/tool/gamepadVibrationTester/i18n/de.ts +155 -0
  47. package/src/tool/gamepadVibrationTester/i18n/id.ts +155 -0
  48. package/src/tool/gamepadVibrationTester/i18n/it.ts +155 -0
  49. package/src/tool/gamepadVibrationTester/i18n/ja.ts +155 -0
  50. package/src/tool/gamepadVibrationTester/i18n/ko.ts +155 -0
  51. package/src/tool/gamepadVibrationTester/i18n/nl.ts +155 -0
  52. package/src/tool/gamepadVibrationTester/i18n/pl.ts +155 -0
  53. package/src/tool/gamepadVibrationTester/i18n/pt.ts +155 -0
  54. package/src/tool/gamepadVibrationTester/i18n/ru.ts +155 -0
  55. package/src/tool/gamepadVibrationTester/i18n/sv.ts +155 -0
  56. package/src/tool/gamepadVibrationTester/i18n/tr.ts +155 -0
  57. package/src/tool/gamepadVibrationTester/i18n/zh.ts +155 -0
  58. package/src/tool/gamepadVibrationTester/index.ts +15 -7
  59. package/src/tool/keyboardTest/i18n/de.ts +146 -0
  60. package/src/tool/keyboardTest/i18n/id.ts +146 -0
  61. package/src/tool/keyboardTest/i18n/it.ts +146 -0
  62. package/src/tool/keyboardTest/i18n/ja.ts +146 -0
  63. package/src/tool/keyboardTest/i18n/ko.ts +146 -0
  64. package/src/tool/keyboardTest/i18n/nl.ts +146 -0
  65. package/src/tool/keyboardTest/i18n/pl.ts +146 -0
  66. package/src/tool/keyboardTest/i18n/pt.ts +146 -0
  67. package/src/tool/keyboardTest/i18n/ru.ts +146 -0
  68. package/src/tool/keyboardTest/i18n/sv.ts +146 -0
  69. package/src/tool/keyboardTest/i18n/tr.ts +146 -0
  70. package/src/tool/keyboardTest/i18n/zh.ts +146 -0
  71. package/src/tool/keyboardTest/index.ts +15 -7
  72. package/src/tool/mousePollingTest/i18n/de.ts +135 -0
  73. package/src/tool/mousePollingTest/i18n/id.ts +135 -0
  74. package/src/tool/mousePollingTest/i18n/it.ts +135 -0
  75. package/src/tool/mousePollingTest/i18n/ja.ts +135 -0
  76. package/src/tool/mousePollingTest/i18n/ko.ts +135 -0
  77. package/src/tool/mousePollingTest/i18n/nl.ts +135 -0
  78. package/src/tool/mousePollingTest/i18n/pl.ts +135 -0
  79. package/src/tool/mousePollingTest/i18n/pt.ts +135 -0
  80. package/src/tool/mousePollingTest/i18n/ru.ts +135 -0
  81. package/src/tool/mousePollingTest/i18n/sv.ts +135 -0
  82. package/src/tool/mousePollingTest/i18n/tr.ts +135 -0
  83. package/src/tool/mousePollingTest/i18n/zh.ts +135 -0
  84. package/src/tool/mousePollingTest/index.ts +15 -7
  85. package/src/tool/toneGenerator/i18n/de.ts +146 -0
  86. package/src/tool/toneGenerator/i18n/id.ts +146 -0
  87. package/src/tool/toneGenerator/i18n/it.ts +146 -0
  88. package/src/tool/toneGenerator/i18n/ja.ts +146 -0
  89. package/src/tool/toneGenerator/i18n/ko.ts +146 -0
  90. package/src/tool/toneGenerator/i18n/nl.ts +146 -0
  91. package/src/tool/toneGenerator/i18n/pl.ts +146 -0
  92. package/src/tool/toneGenerator/i18n/pt.ts +146 -0
  93. package/src/tool/toneGenerator/i18n/ru.ts +146 -0
  94. package/src/tool/toneGenerator/i18n/sv.ts +146 -0
  95. package/src/tool/toneGenerator/i18n/tr.ts +146 -0
  96. package/src/tool/toneGenerator/i18n/zh.ts +146 -0
  97. package/src/tool/toneGenerator/index.ts +15 -7
  98. package/src/types.ts +1 -1
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'test-klawiatury-online';
6
+ const title = 'Online Test Klawiatury i Detektor Ghostingu';
7
+ const description = 'Sprawdź, czy Twoja klawiatura cierpi na Ghosting lub Key Jamming. Wizualizacja klawiszy w czasie rzeczywistym i licznik N-Key Rollover.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Co to jest Ghosting w klawiaturze?',
12
+ answer: 'To defekt występujący, gdy naciskasz wiele klawiszy naraz, a komputer nie rejestruje niektórych z nich. Wynika to z ograniczeń w wewnętrznej matrycy elektrycznej klawiatury, która nie może przetworzyć pewnych kombinacji.',
13
+ },
14
+ {
15
+ question: 'Co oznacza N-Key Rollover (NKRO)?',
16
+ answer: 'NKRO oznacza, że klawiatura może zarejestrować tyle klawiszy, ile jesteś w stanie nacisnąć jednocześnie, bez błędu. Jest to funkcja premium, powszechna w wysokiej klasy klawiaturach mechanicznych i gamingowych.',
17
+ },
18
+ {
19
+ question: 'Dlaczego moja klawiatura zawodzi, gdy naciskam 3 klawisze naraz?',
20
+ answer: 'Większość tanich klawiatur biurowych ma rollover na poziomie 2 lub 3 klawiszy. Jest to wystarczające do pisania, ale niewystarczające do intensywnego grania lub złożonych skrótów klawiszowych.',
21
+ },
22
+ {
23
+ question: 'Jak mogę naprawić klawisz, który nie reaguje?',
24
+ answer: 'Jeśli test nie wykrywa naciśnięcia klawisza, może to być brud pod przełącznikiem, awaria styku elektrycznego lub uszkodzony kabel. Spróbuj wyczyścić klawiaturę sprężonym powietrzem przed rezygnacją.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Skupienie na wizualizatorze',
31
+ text: 'Kliknij dowolne miejsce na stronie, aby upewnić się, że przeglądarka jest aktywna i może przechwytywać naciśnięcia klawiszy sprzętowych.',
32
+ },
33
+ {
34
+ name: 'Uruchom test odpowiedzi',
35
+ text: 'Naciskaj po kolei każdy klawisz na klawiaturze. Odpowiadający mu klawisz na ekranie zaświeci się na zielono, jeśli działa poprawnie.',
36
+ },
37
+ {
38
+ name: 'Sprawdź ghosting',
39
+ text: 'Naciśnij popularne klawisze gamingowe (W, A, S, D, Spacja, Shift) jednocześnie, aby zobaczyć, czy się blokują, czy wszystkie się zaświecą.',
40
+ },
41
+ {
42
+ name: 'Zweryfikuj maksymalny rollover',
43
+ text: 'Spróbuj nacisnąć obiema rękami jak najwięcej klawiszy naraz i obserwuj licznik maksymalnej liczby jednocześnie naciśniętych klawiszy.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'pl',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: 'Często Zadawane Pytania',
86
+ faq: faqData,
87
+ bibliographyTitle: 'Referencje Techniczne',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Keyboard/Keypad Page - HID Usage Tables',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mechanical vs Membrane Keyboards - Technical Deep Dive',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Test Klawiatury Online: Wykryj Ghosting i N-Key Rollover',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Interaktywne narzędzie do diagnostyki klawiatury. Sprawdź, czy Twoje urządzenie cierpi na ghosting, blokowanie lub ograniczenia rollover. Czytelne wizualnie, ze wsparciem dla wszystkich rodzajów klawiatur.',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'Co to jest Ghosting?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Ghosting występuje, gdy naciskasz określoną kombinację klawiszy, a klawiatura rejestruje fantomowe naciśnięcie, którego nie wykonałeś. Wynika to z ograniczeń w wewnętrznej matrycy obwodów.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'N-Key Rollover i Maksymalny Rollover',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> Pozwala na jednoczesne rejestrowanie wszystkich naciśniętych klawiszy. <strong>6KRO:</strong> Stary limit standardu USB. <strong>2-3KRO:</strong> Typowe dla tanich klawiatur, wystarczające do pisania.',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Klawiatury Mechaniczne vs Membranowe',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Klawiatury mechaniczne mają indywidualne przełączniki z izolowanymi diodami, co eliminuje ghosting. Klawiatury membranowe współdzielą ścieżki przewodzące, co powoduje błędy przy jednoczesnych kombinacjach.',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: 'Test Wejścia',
140
+ title: 'Test Klawiatury i Detektor Ghostingu',
141
+ description: 'Zweryfikuj N-Key Rollover i wykryj uszkodzone klawisze.',
142
+ simultaneousLabel: 'Jednoczesne',
143
+ eventLogLabel: 'Log zdarzeń',
144
+ resetBtn: 'Resetuj',
145
+ },
146
+ };
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'teste-teclado-online';
6
+ const title = 'Teste de Teclado Online e Detetor de Ghosting';
7
+ const description = 'Verifique se o seu teclado sofre de Ghosting ou Key Jamming. Visualizador de teclas em tempo real e contador de N-Key Rollover.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'O que é o Ghosting num teclado?',
12
+ answer: 'É um defeito que ocorre quando prime várias teclas ao mesmo tempo e o computador não regista algumas delas. Deve-se a limitações na matriz elétrica interna do teclado que não consegue processar certas combinações.',
13
+ },
14
+ {
15
+ question: 'O que significa N-Key Rollover (NKRO)?',
16
+ answer: 'NKRO significa que o teclado pode registar tantas teclas quantas premir simultaneamente sem falhas. É uma funcionalidade premium, comum em teclados mecânicos e de gaming de gama alta.',
17
+ },
18
+ {
19
+ question: 'Porque é que o meu teclado falha quando primo 3 teclas ao mesmo tempo?',
20
+ answer: 'A maioria dos teclados de escritório baratos tem um rollover de 2 ou 3 teclas. Isto é suficiente para escrever, mas insuficiente para gaming intensivo ou atalhos complexos.',
21
+ },
22
+ {
23
+ question: 'Como posso reparar uma tecla que não responde?',
24
+ answer: 'Se o teste não detetar a pressão da tecla, pode ser sujidade por baixo do interruptor, falha de contacto elétrico ou um cabo danificado. Tente limpar o teclado com ar comprimido antes de desistir.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Focar o visualizador',
31
+ text: 'Clique em qualquer lugar na página para garantir que o navegador tem o foco e pode capturar as pressões de teclas de hardware.',
32
+ },
33
+ {
34
+ name: 'Executar o teste de resposta',
35
+ text: 'Prima cada tecla do seu teclado uma a uma. A tecla correspondente no ecrã ficará verde se funcionar corretamente.',
36
+ },
37
+ {
38
+ name: 'Verificar ghosting',
39
+ text: 'Prima teclas de gaming comuns (W, A, S, D, Espaço, Shift) todas de uma vez para ver se bloqueiam ou se acendem todas.',
40
+ },
41
+ {
42
+ name: 'Verificar rollover máximo',
43
+ text: 'Tente premir o máximo de teclas que conseguir com as duas mãos e observe o contador de pressão simultânea de teclas máxima.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'pt',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: 'Perguntas Frequentes',
86
+ faq: faqData,
87
+ bibliographyTitle: 'Referências Técnicas',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Keyboard/Keypad Page - HID Usage Tables',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mechanical vs Membrane Keyboards - Technical Deep Dive',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Teste de Teclado Online: Detete Ghosting e N-Key Rollover',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Uma ferramenta interativa para diagnóstico de teclado. Verifique se o seu periférico sofre de ghosting, bloqueio ou limitações de rollover. Visualmente claro com suporte para todos os tipos de teclado.',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'O que é Ghosting?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'O ghosting ocorre quando prime uma combinação específica de teclas e o teclado regista uma pressão fantasma que não fez. Isto deve-se a limitações na matriz do circuito interno.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'N-Key Rollover e Rollover Máximo',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> Permite registar todas as teclas premidas simultaneamente. <strong>6KRO:</strong> Limite antigo do padrão USB. <strong>2-3KRO:</strong> Comum em teclados baratos, suficiente para escrever.',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Teclados Mecânicos vs Membrana',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Teclados mecânicos têm interruptores individuais com díodos isolados, eliminando o ghosting. Teclados de membrana partilham trilhos condutores, causando falhas em combinações simultâneas.',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: 'Teste de Input',
140
+ title: 'Teste de Teclado e Detetor de Ghosting',
141
+ description: 'Verifique o N-Key Rollover e detete teclas com falha.',
142
+ simultaneousLabel: 'Simultâneas',
143
+ eventLogLabel: 'Log de Eventos',
144
+ resetBtn: 'Reset',
145
+ },
146
+ };
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'test-klaviatury-online';
6
+ const title = 'Онлайн тест клавиатуры и детектор гостинга';
7
+ const description = 'Проверьте клавиатуру на гостинг или залипание клавиш. Визуализатор клавиш в реальном времени и счетчик N-Key Rollover.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Что такое гостинг (Ghosting) на клавиатуре?',
12
+ answer: 'Это дефект, возникающий при нажатии нескольких клавиш одновременно, когда компьютер не регистрирует некоторые из них. Это связано с ограничениями во внутренней электрической матрице клавиатуры, которая не может обработать определенные комбинации.',
13
+ },
14
+ {
15
+ question: 'Что означает N-Key Rollover (NKRO)?',
16
+ answer: 'NKRO означает, что клавиатура может безошибочно регистрировать столько клавиш, сколько вы можете нажать одновременно. Это премиальная функция, распространенная в высококлассных механических и игровых клавиатурах.',
17
+ },
18
+ {
19
+ question: 'Почему моя клавиатура не работает при нажатии 3 клавиш одновременно?',
20
+ answer: 'Большинство дешевых офисных клавиатур имеют 2- или 3-клавишный ролловер. Этого достаточно для набора текста, но недостаточно для интенсивных игр или сложных сочетаний клавиш.',
21
+ },
22
+ {
23
+ question: 'Как исправить клавишу, которая не реагирует?',
24
+ answer: 'Если тест не обнаруживает нажатие, это может быть грязь под переключателем, неисправность электрического контакта или поврежденный кабель. Попробуйте очистить клавиатуру сжатым воздухом, прежде чем сдаваться.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Сфокусируйтесь на визуализаторе',
31
+ text: 'Нажмите в любом месте страницы, чтобы убедиться, что браузер находится в фокусе и может фиксировать нажатия клавиш.',
32
+ },
33
+ {
34
+ name: 'Запустите тест отклика',
35
+ text: 'Нажимайте каждую клавишу на клавиатуре по одной. Соответствующая клавиша на экране загорится зеленым, если она работает правильно.',
36
+ },
37
+ {
38
+ name: 'Проверьте на гостинг',
39
+ text: 'Нажмите основные игровые клавиши (W, A, S, D, Пробел, Shift) одновременно, чтобы увидеть, не блокируются ли они и все ли они загораются.',
40
+ },
41
+ {
42
+ name: 'Проверьте максимальный ролловер',
43
+ text: 'Попробуйте нажать как можно больше клавиш обеими руками и следите за счетчиком максимального количества одновременных нажатий.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'ru',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: 'Часто задаваемые вопросы',
86
+ faq: faqData,
87
+ bibliographyTitle: 'Технические справки',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Keyboard/Keypad Page - HID Usage Tables',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mechanical vs Membrane Keyboards - Technical Deep Dive',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Тест клавиатуры онлайн: обнаружение гостинга и N-Key Rollover',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Интерактивный инструмент для диагностики клавиатуры. Проверьте устройство на наличие гостинга, блокировки или ограничений ролловера. Визуально понятный интерфейс с поддержкой всех типов клавиатур.',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'Что такое гостинг?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Гостинг возникает, когда вы нажимаете определенную комбинацию клавиш, и клавиатура регистрирует ложное нажатие, которого вы не совершали. Это связано с ограничениями внутренней схемной матрицы.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'N-Key Rollover и максимальный ролловер',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> Позволяет регистрировать все нажатые клавиши одновременно. <strong>6KRO:</strong> Старый лимит стандарта USB. <strong>2-3KRO:</strong> Обычное явление для дешевых клавиатур, достаточно для набора текста.',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Механические клавиатуры против мембранных',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Механические клавиатуры имеют индивидуальные переключатели с изолированными диодами, что исключает гостинг. Мембранные клавиатуры используют общие проводящие дорожки, что приводит к ошибкам при одновременных нажатиях.',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: 'Тест ввода',
140
+ title: 'Тест клавиатуры и детектор гостинга',
141
+ description: 'Проверьте N-Key Rollover и выявите неисправные клавиши.',
142
+ simultaneousLabel: 'Одновременно',
143
+ eventLogLabel: 'Лог событий',
144
+ resetBtn: 'Сброс',
145
+ },
146
+ };
@@ -0,0 +1,146 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TestTecladoUI } from '../ui';
4
+
5
+ const slug = 'tangentbordstest-online';
6
+ const title = 'Online Tangentbordstest & Ghosting detektor';
7
+ const description = 'Kontrollera om ditt tangentbord lider av Ghosting eller Key Jamming. Knappvisualisering i realtid och N-Key Rollover-räknare.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Vad är Ghosting på ett tangentbord?',
12
+ answer: 'Det är ett fel som uppstår när du trycker på flera tangenter samtidigt och datorn inte registrerar några av dem. Det beror på begränsningar i tangentbordets interna elektriska matris som inte kan bearbeta vissa kombinationer.',
13
+ },
14
+ {
15
+ question: 'Vad betyder N-Key Rollover (NKRO)?',
16
+ answer: 'NKRO betyder att tangentbordet kan registrera så många tangenter som du kan trycka på samtidigt utan fel. Det är en premiumfunktion, vanlig i högkvalitativa mekaniska tangentbord och gaming-tangentbord.',
17
+ },
18
+ {
19
+ question: 'Varför fallerar mitt tangentbord när jag trycker på 3 tangenter samtidigt?',
20
+ answer: 'De flesta billiga kontorstangentbord har en 2- eller 3-tangents rollover. Detta är tillräckligt för att skriva men otillräckligt för intensivt spelande eller komplexa kortkommandon.',
21
+ },
22
+ {
23
+ question: 'Hur kan jag fixa en tangent som inte svarar?',
24
+ answer: 'Om testet inte upptäcker tangenttryckningen kan det bero på smuts under brytaren, elektriskt kontaktfel eller en skadad kabel. Försök att rengöra tangentbordet med tryckluft innan du ger upp.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Fokusera visualiseringen',
31
+ text: 'Klicka var som helst på sidan för att säkerställa att webbläsaren har fokus och kan fånga tangenttryckningar.',
32
+ },
33
+ {
34
+ name: 'Kör responstestet',
35
+ text: 'Tryck på varje tangent på ditt tangentbord en efter en. Motsvarande tangent på skärmen kommer att lysa grönt om den fungerar korrekt.',
36
+ },
37
+ {
38
+ name: 'Kontrollera efter ghosting',
39
+ text: 'Tryck på vanliga gaming-tangenter (W, A, S, D, Mellanslag, Skift) samtidigt för att se om de låser sig eller om alla tänds.',
40
+ },
41
+ {
42
+ name: 'Verifiera maximal rollover',
43
+ text: 'Försök att trycka på så många tangenter som möjligt med båda händerna och titta på räknaren för maximalt antal samtidiga tangenttryckningar.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step, i) => ({
63
+ '@type': 'HowToStep',
64
+ position: i + 1,
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'sv',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<TestTecladoUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faqTitle: 'Vanliga frågor',
86
+ faq: faqData,
87
+ bibliographyTitle: 'Tekniska referenser',
88
+ bibliography: [
89
+ {
90
+ name: 'USB Keyboard/Keypad Page - HID Usage Tables',
91
+ url: 'https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf',
92
+ },
93
+ {
94
+ name: 'Mechanical vs Membrane Keyboards - Technical Deep Dive',
95
+ url: 'https://deskthority.net/wiki/Rollover',
96
+ },
97
+ ],
98
+ howTo: howToData,
99
+ schemas: [faqSchema, howToSchema, appSchema],
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Online Tangentbordstest: Detektera Ghosting och N-Key Rollover',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Ett interaktivt verktyg för tangentbordsdiagnostik. Kontrollera om din kringutrustning lider av ghosting, jamming eller rollover-begränsningar. Visuellt tydligt med stöd för alla typer av tangentbord.',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'Vad är Ghosting?',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Ghosting uppstår när du trycker på en specifik kombination av tangenter och tangentbordet registrerar ett fantom-tangenttryck som du inte gjorde. Detta beror på begränsningar i den interna kretsmatrisen.',
118
+ },
119
+ {
120
+ type: 'title',
121
+ text: 'N-Key Rollover och maximal rollover',
122
+ level: 3,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: '<strong>NKRO (N-Key Rollover):</strong> Tillåter registrering av alla nedtryckta tangenter samtidigt. <strong>6KRO:</strong> Gammal gräns för USB-standard. <strong>2-3KRO:</strong> Vanligt på billiga tangentbord, tillräckligt för att skriva.',
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Mekaniska vs Membran-tangentbord',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Mekaniska tangentbord har individuella brytare med isolerade dioder, vilket eliminerar ghosting. Membran-tangentbord delar ledarspår, vilket orsakar fel i samtidiga kombinationer.',
136
+ },
137
+ ],
138
+ ui: {
139
+ badge: 'Inmatningstest',
140
+ title: 'Tangentbordstest och Ghosting detektor',
141
+ description: 'Verifiera N-Key Rollover och detektera felaktiga tangenter.',
142
+ simultaneousLabel: 'Samtidiga',
143
+ eventLogLabel: 'Händelselogg',
144
+ resetBtn: 'Återställ',
145
+ },
146
+ };