Oculus Questで物理キーボードを使用する


はじめに

Oculus Questで文字入力する場合には、通常ソフトウェアキーボードが表示されて入力することになるのですが、あまり入力しやすくはないように思います。

そこで物理キーボードを使えないか調べてみたところ、Bluetoothでキーボード接続を実現されている方がいて、やり方を公開されていました。

Oculus Quest も文章書き&開発マシンにする

Oculus Questをつけた状態では当然キーボードが見えないのですが、自分はブラインドタッチは無理だったので、キーボードのモデルを作って物理キーボードと位置合わせして入力してみました。


開発環境

Unity 2019.1.9f1

Oculus Integration for Unity - 1.37

TVLauncherGo 1.0

Logicool K380BK Bluetooth ワイヤレス キーボード


動作例

キーボードのモデルの位置を、物理キーボードの位置と合わせて・・・

com.oculus.vrshell-20190708-222938_Trim1_300x300_fps10.gif

testと入力

com.oculus.vrshell-20190708-222938_Trim2_300x300_fps10.gif

全然正しく入力できてません。

位置が微妙にずれているためか、思ったようにキーボードが押せていないです。


所感

キーボードのモデルは写真をテクスチャとして張り付けただけですが、VR空間中でのサイズが物理キーボードのサイズと一致するようにする調整が若干面倒でした。後から気が付いたのですが、VR空間内で調整すれば簡単だったかも・・

このままではとても実用に耐えないので、やはりソフトウェアキーボードを使うことになりそうです。


補足

キーボードの入力確認に使用したのは以下のコードです。

OVRDebugConsole.Logは通常はログ出力に使うものなので1文字入力ごとに改行されてしまいますが、とりあえず確認には使えるかと。


OVRDebugConsoleTest.cs

using System.Collections;

using System.Collections.Generic;
using UnityEngine;

public class OVRDebugConsoleTest : MonoBehaviour
{
void Update()
{
if (Input.inputString != null && Input.inputString != "")
{
OVRDebugConsole.Log(Input.inputString);
}
}
}