かならずお読みください注意事項

新しい mouse を探して 番外編

Android で EVA Facial Mouse が

エンチャント文字盤をうまくクリックできない理由と対策

4つのことば クリックで発声します
EVA Facial Mouse でも動きます

0 はじめに

前回は、Android端末に EVA Facial Mouse をインストールする方法と設定についてお話ししました。インストール自体は実に簡単なのですが、使う人に合わせた設定はなかなか簡単ではありません。しかしこれがうまくできるなら、不自由のある人にとって新しい選択肢ができて、必要以上にあきらめなくてもよくなります。これはたいへんよろこばしい事だと思います。

しかし前回の出来事であきらめがつかないことがひとつありました。エンチャント文字盤がうまく動かなかったことです。あきらめの悪いのが私の性分ですので、もうすこしあきらめずに取り組みました。今回のお題は『あきらめない』です。

1 現象のまとめ

Android 端末で EVA Facial Mouse は問題なく動きました。画面タッチでできるのと同様のことが、EVAでクリックすればできました。ブラウザでのWebサイトの操作も問題ありませんでした。

ところが、エンチャント文字盤の『4つの言葉』や『50音文字盤』などで、文字をクリックしても全然反応しません。しかし同じところをタップすると動作します。

もうひとつ、エンチャント文字盤を起動した時に画面中央にstartと表示されますが、これは EVA Facial Mouse でもタップでも消えます。ですのでまんざら EVA Facial Mouse は動いていないわけではありません。

2 調査

さて こちらのサンプルのページ にあるこれまで制作物でも試して見ました。 こちらはサンプル置き場ではありますがこのような場合には実験場になります。 エンチャント文字盤の初期の試作品、『くまが歩く』と『物理エンジンシリーズ』 こちらの『ばなな』シリーズ が動きましたがそれ以外は動きませんでした。

これらを総合すると、

game_.rootScene.addEventListener(Event.TOUCH_START, function(e) {
})
が動くのに
word1.addEventListener(Event.TOUCH_START, function(e) {
})
が動かないことがわかりました。

そこでこの関数がうまく動かないなら、代わりにクリックした時の座標値を用いてその数値が条件に当てはまれば動作する試作品を作って見ましたがこれも動きません。どんな座標値がとれているのか表示させてみると、なんと(0,0)でした。

つまり EVA Facial Mouse はエンチャントの画面でクリックした際の座標値をとるところがうまく働いていないようです。

では、画面を動きまわっている、 EVA Facial Mouse のマウスカーソルはいったい何者なのでしょう?まさかと思いつつもOTGケーブルを使い、USBマウスをタブレットにつないでみました。すると、もう一つのマウスカーソルが現れました。もちろんWindowsなどではこのようなことは起きません。

ふたつのマウス

赤矢印はUSBマウス、青矢印は EVA Facial Mouse のマウスカーソル
何となくUFO写真に見える

EVA Facial Mouse は本来のマウスを操作するソフト(マウスエミュレータ)というよりも、もうひとつの別のマウスのようです。ただこれがenchantと相性が悪いためか、クリック信号は本体に出力できるのに座標値はうまく出力できない今回のトラブルが起きたようです。

3 対策

EVA Facial Mouse と enchat.js が両立できず、どちらかをとるとしたら、Android用の顔認識マウスは非常に稀少ですので、 enchat.js をあきらめるしかありません。そこで enchant.jsなしでつくったコミュニケーションエイドのサンプルが、このページのトップです。Androidでは、タップでも EVA Facial Mouse でも動きます。またパソコンでも動きます。

enchantを見慣れているとずいぶん地味に見えますが、作り込んでいけばいろいろできるのはご存じの通りです。またこれがhtml本来の使い方ですので、基本に忠実と言えばその通りです。ただエンチャント得意の自由自在のアニメーションは使いにくくなります。

4 おわりに

前回見つかった不具合の原因探しをしました。その結果、EVA Facial Mouse とenchant.js を両方使うとクリック座標値の取得がうまくいかないことがわかりました。対策として、enchant.jsを使わずにサンプルを作ってみるとそれなりのものができました。

これまでエンチャントを使ってコミュニケーションエイドの可能性を探ってきました。エンチャントの豊富なアニメーション機能はエンターテイメント的にはたいへん魅力的で、小児対象のアプリなどには必須かつ重要な要素になります。

しかし、大人向けコミュニケーションエイドでは話は別です。基本的機能はJavaScriptで実現できているのは、このページトップのサンプルのとおりです。またenchant.jsを使わずに基本のhtml+css+JavaScriptを使う方が可能性が広がることも予想できます。

そして何よりも、現在のところ非常に稀少なAndroid端末用顔認識間マウスとして EVA Facial Mouse を利用する道筋が出て来たのが収穫でした。

ちょうどエンチャントに限界を感じ始めていましたので、これからはユーザや用途、目的に合わせた支援について考えていきたいと思います。

ところで、 EVA Facial Mouse を作った Cesar Mauri さんはどうしてマウスを一から作ろうとしたのでしょう。やっぱりマウスのないあのタブレットのことを考えたのでしょうか?


2019/5/24 公開

研究企画課リハ工学科にもどる ←もくじはこちらです