Klaviatūros įvykių savybės interneto technologijose
Kuriant interneto programas ir žaidimus, labai svarbu tiksliai suprasti, kaip naršyklė apdoroja fizinius klaviatūros paspaudimus [who-needs-this]. Šis įrankis leidžia realiuoju laiku stebėti tris pagrindines klavišų savybes, kurias naudoja šiuolaikinės naršyklės: KeyboardEvent.key, KeyboardEvent.code ir senąją keyCode reikšmę [what-it-does, who-needs-this].
- Klavišas (
key): Tai dinamiška reikšmė, kuri tiesiogiai priklauso nuo pasirinkto operacinės sistemos kalbos išdėstymo ir aktyvių modifikatorių (pavyzdžiui, Shift) [rules-and-edge-cases]. Paspaudus tą patį fizinį klavišą, ši savybė gali grąžinti mažąją raidę, didžiąją raidę arba visiškai kitą simbolį, jei pakeičiate įvesties kalbą [rules-and-edge-cases]. - Kodas (
code): Ši savybė nurodo statinę fizinę klavišo vietą klaviatūroje [rules-and-edge-cases]. Ji išlieka nepakitusi nepriklausomai nuo to, kokia kalba ar išdėstymas yra sukonfigūruotas sistemoje [rules-and-edge-cases]. Pavyzdžiui, fizinis klavišas „A“ visada grąžins reikšmę „KeyA“, o kairysis Shift klavišas – „ShiftLeft“ [rules-and-edge-cases]. - Senasis keyCode (
keyCode): Tai pasenęs, tačiau suderinamumui vis dar naudojamas skaitmeninis kodas, kuris anksčiau buvo pagrindinis būdas klavišams identifikuoti [who-needs-this, topic-angles]. Šiuolaikinėse sistemose rekomenduojama pereiti prie standartizuotųkeyircodesavybių [topic-angles].
Fizinis išdėstymas ir programinis atvaizdavimas
Šio įrankio vizualinis žemėlapis atitinka standartinį pilno dydžio ANSI klaviatūros išdėstymą [rules-and-edge-cases]. Naudojant įrankį, svarbu suprasti skirtumą tarp fizinės klaviatūros konstrukcijos ir to, kaip operacinė sistema interpretuoja signalus [rules-and-edge-cases, topic-angles].
Jei naudojate klaviatūrą su ISO išdėstymu (pavyzdžiui, turinčią papildomą klavišą šalia kairiojo Shift arba kitokios formos Enter klavišą), nešiojamojo kompiuterio Fn sluoksnius ar specialius medijos valdymo klavišus, šie elementai vizualiame žemėlapyje neužsidegs [rules-and-edge-cases]. Tačiau jų paspaudimai nėra ignoruojami [rules-and-edge-cases]. Kiekvienas toks paspaudimas sėkmingai užregistruojamas, o jo techniniai duomenys iškart išvedami skiltyje „Naujausias klavišo įvykis“ bei įtraukiami į bendrą lentelę „Įvykių žurnalą“ [rules-and-edge-cases].
Klaviatūros aparatūros gedimų diagnozavimas
Naudojant įvykių žurnalą galima tiksliai nustatyti, ar klaviatūros problemos kyla dėl programinės įrangos trikdžių, ar dėl fizinio nusidėvėjimo [what-it-does, who-needs-this]. Dažniausi mechaninių ir membraninių jungiklių gedimai pasireiškia dviem būdais:
- Nereaguojantys klavišai (angl. dead keys): Paspaudus klavišą, ekrane nepasirodo joks įvykis, o vizualiniame žemėlapyje klavišas nepakeičia būsenos [what-it-does, who-needs-this]. Tai rodo visišką kontakto praradimą arba pažeistą takelį.
- Dvigubas suveikimas (angl. key chattering): Vienas fizinis paspaudimas sukelia kelis greitus „Nuspaustas“ ir „Atleistas“ įvykius žurnale [what-it-does, who-needs-this]. Tai dažna mechaninių klaviatūrų problema, atsirandanti dėl nusidėvėjusių metalinių kontaktų arba dulkių jungiklio viduje.
Įrankis padeda atskirti šiuos gedimus nuo įprasto sisteminio automatinio kartojimo [what-it-does]. Kai klavišas laikomas nuspaustas, operacinė sistema pati siunčia nepertraukiamą paspaudimų srautą [rules-and-edge-cases]. Įrankis tai identifikuoja ir rodo specialų ženklelį „Kartojimas ×{count}“, neapkraudamas įvykių žurnalo pasikartojančiais įrašais [inputs, rules-and-edge-cases].
Naršyklės ir operacinės sistemos apribojimai
Testuojant klaviatūrą, tam tikri klavišų deriniai gali nesukurti jokių įvykių puslapyje [rules-and-edge-cases]. Taip nutinka todėl, kad operacinė sistema arba pati naršyklė perima sisteminius sparčiuosius klavišus dar prieš jiems pasiekiant interneto svetainę [rules-and-edge-cases].
Pavyzdžiui, tokie veiksmai kaip naršyklės skirtukų perjungimas, langų uždarymas, perėjimas į viso ekrano režimą ar sistemos paieškos iškvietimas yra apdorojami aukštesniu lygmeniu [rules-and-edge-cases]. Norint įsitikinti, kad šie klavišai veikia fiziškai, juos reikia spausti atskirai, o ne kaip sisteminio derinio dalį [rules-and-edge-cases].
Siekdamas sumažinti numatytųjų naršyklės veiksmų trukdymą, įrankis siūlo pilno fiksavimo režimą [inputs]. Spustelėjus tiesiai ant ekrane rodomo klaviatūros žemėlapio, aktyvuojamas režimas, kuris leidžia saugiai spausti tokius klavišus kaip Space, Tab ar funkcinius klavišus (F1–F12) neiššaukiant jų įprasto elgesio naršyklėje [inputs]. Šį režimą bet kada galima išjungti paspaudus Esc klavišą [inputs].
Mobiliojo įvesties apdorojimo ypatumai
Virtualios ir ekrano klaviatūros, ypač naudojamos „Android“ įrenginiuose, veikia visiškai kitokiu principu nei fizinės klaviatūros [rules-and-edge-cases, topic-angles]. Jos dažnai nesiunčia standartinių klavišų kodų, o naršyklei perduoda bendruosius įvykius, dėl kurių techniniuose rodmenyse gali atsirasti reikšmė „Unidentified“ [rules-and-edge-cases].
Siekdamas išspręsti šį apribojimą, įrankis turi dedikuotą sekciją „Ekrano klaviatūros patikra“ [inputs, rules-and-edge-cases]. Šioje srityje esantis teksto įvesties laukelis su vietos žymekliu „Bakstelėkite ir rašykite…“ leidžia vartotojui tiesiogiai įvesti tekstą iš mobiliojo įrenginio [inputs]. Taip galima stebėti, kokius tikslius simbolius ir įvykius mobilioji naršyklė sugeba sugeneruoti ir perduoti svetainei realiuoju laiku [inputs, rules-and-edge-cases].
Vietinis duomenų apdorojimas ir privatumas
Visi klaviatūros paspaudimai ir generuojami įvykiai yra apdorojami tik lokaliai, tiesiogiai vartotojo interneto naršyklėje [privacy]. Įrankis nenaudoja jokių išorinių serverių duomenų saugojimui ar analizavimui [privacy].
Svetainėje nėra jokių fone veikiančių duomenų perdavimo mechanizmų [privacy]. Tai reiškia, kad visi užfiksuoti klavišai, jų kodai ir laiko žymos išlieka tik jūsų įrenginio atmintyje [privacy]. Visi surinkti duomenys yra negrįžtamai ištrinami dviem atvejais: rankiniu būdu paspaudus mygtuką „Išvalyti žurnalą“ arba tiesiog užvėrus ar atnaujinus naršyklės skirtuką [inputs, rules-and-edge-cases, privacy].
Dažniausiai užduodami klausimai (DUK)
Kuo skiriasi „key“ ir „code“ reikšmės?
Reikšmė „key“ yra simbolis arba veiksmas, kurį tuo metu sukuria paspaudimas – ji keičiasi priklausomai nuo jūsų klaviatūros išdėstymo ir modifikatorių, todėl tas pats fizinis klavišas gali pateikti „a“ arba „A“, o kitos kalbos išdėstyme – visiškai kitą raidę. Reikšmė „code“ nurodo fizinę klavišo vietą (KeyA, ShiftLeft, Space) ir niekada nesikeičia, todėl žaidimai ir programos savo sparčiuosius klavišus susieja būtent su „code“.
Kodėl mano telefono klaviatūra rodo „Unidentified“?
Ekrano klaviatūros – ypač Android įrenginiuose – dažnai siunčia bendruosius įvykius be tikrųjų klavišų reikšmių, o puslapis gali rodyti tik tai, ką praneša naršyklė. Atidarykite ekrano klaviatūros patikrą po išdėstymu, kad pamatytumėte, ką siunčia jūsų klaviatūra; išorinė arba nešiojamojo kompiuterio klaviatūra pateikia išsamią informaciją.
Laikant nuspaustą klavišą jis suveikia vėl ir vėl – ar jis sugedęs?
Ne. Laikant nuspaustą klavišą, sistema siunčia pasikartojančius paspaudimo įvykius, kurie čia rodomi su „Repeat“ ženkleliu ir skaitikliu – tai yra normalus automatinis kartojimas. Tikrieji gedimo požymiai yra priešingi: keli įvykiai po vieno greito spustelėjimo arba spustelėjimas, kuris nesukuria jokio įvykio, o tai rodo nusidėvėjusį ar stringantį jungiklį.
Kodėl kai kurie klavišų deriniai nerodomi?
Naršyklės ar operacinės sistemos rezervuoti spartieji klavišai – skirtukų ir programų uždarymas ar perjungimas, viso ekrano režimas, sistemos paieška – yra perimami dar prieš puslapiui juos pastebint, todėl jie čia niekada nepasirodo. Ši tyla yra normali, o ne neveikiantis klavišas: išbandykite tuos pačius klavišus po vieną ir kiekvienas iš jų užsiregistruos atskirai.