A virtuális valóság élmények részben szöveges inputra épülnek, a billentyűzet funkció megoldása azonban nehéz feladatot állít a fejlesztők elé. A vizuális feedback hiánya (az egyes billenytűk aktiválásakor) és az egy helyben álló elem (billentyűzet) korlátozzák a szoba-léptékű, mozgásos VR élményt. Az ipari sztenderdek hiánya arra késztetett, hogy saját szövegbeviteli mechanizmus kialakítást javasoljunk, ami intuitív megoldást ad a felhasználónak.

Első megközelítésre a redukált QWERTY elrendezést választottuk, hogy helyet spóroljunk, ez a layout a hagyományos érintőképernyős billentyűzetnek felel meg. A desktop VR-ban legtöbb esetben a six-degrees-of-freedom (6Dof) kontrollereket használják interakcióra. Amíg ezek a kontrollerek nagyjából pontos tenyér/kéz követést tesznek lehetővé, az ujj mozgás követéséhez távolról sem alkalmazhatóak ilyen pontossággal. Ez a megkötés azt eredményezi, hogy egy ujjunkat használjuk per kéz a gépelésre, hasonlóan az érintőképernyők két hüvelykujjas megoldásához. A virtuális billentyűzet enyhén ívesen jelenik meg a user körül, ezáltal könnyebben elérhető bármilyen pozícióból a kontrollerek segítségével. Mindegyik billentyűsor valamennyire a vertikális tengely mentén eltolva jelenik meg az előzőhöz képest, kiküszöbölve több billenytű egyszerre való benyomódását. Ez a megoldás hasonló a Daydream Labs dobverőhöz hasonló billenyűzetéhez.

A sebesség növeléséhez úgy döntöttünk, hogy az érintőképernyős billentyűzethez hasonlóan, következő szó előrejelzést és auto-complete algoritmusokat is beépítünk, ami a szövegbevitelt real-time segíti. A Levenshtein távolság-alapú auto-korrekció a helyesírási hibák elkerülését könnyíti meg, míg az N-Gram model a következő szó előrejelzéséhez ad támogatást. Jelenleg a billenytűzet különböző subredditekből vett beszélgetéseket használja corpusként, egy általános “tudást” téve lehetővé. Ugyanakkor, ha egy speciális témához szeretnénk használni, mint például egy sci-fi témájú játékhoz, akkor egy speciálisabb corpus (pl. sci-fi témájú filmek párbeszédeinek) betáplálása jobban szolgálja a célt.  

A VR billentyűzetet hamarosan a Unity Asset Store-on tervezzük közzé tenni, hogy a fejlesztők szabadon használhassák különböző VR élmények tervezéséhez.

A GitHub repository-t itt találjátok: https://github.com/rjth/Punchkeyboard