Android アプリ「SundayPad」を公開しました
予定のない休日の午後に PC の前でごろりと横になって DVD を観たりあちこちのサイトを見て回ったりするのは楽しいのですが、ひとたび「のんびりモード」に浸るとキーボードに触るのが億劫になります。ウェブ検索用にちょっとキーワードを入力したいのだけれど今の体勢を崩すのはなんだか悔しい。こんな時スマホなら音声入力を手軽に使えるので便利です。でも外出先ならともかく休日の自宅でわざわざ端末の小さな画面を追いかけるのはあまり嬉しくない気もする。不精者はあれこれ悩みます。
ある時ふと思いました。スマホには得意で賢い音声認識だけをやらせて、その結果を簡単に PC 上で利用できるようにすれば何かと便利ではないか?
さっそく Google 音声認識と連携し認識結果文字列を送信する簡単な Android アプリと、それを受信して PC 上のアプリの所定のフィールドへその文字列を送出する Windows プログラムを作ってみました。期待通りそれはシンプルな割に便利なものになりましたが、しばらく使っている内に「PC のマウスカーソルを操作できればもっと便利になる」ということに気づき、タッチパッド機能と必要最小限のソフトウェアキーボードを加えることにしました。

同僚たちに試作版を見せるとなるほどと受けもよく、そこで出されたアイディアを含めて機能追加と改良を行いひと通り形になったのが Android アプリ「SundayPad」と、PC 用のエージェントプログラム「SpAgent」です。興味のある方はお試し下さい。
改訂履歴
v1.0.1 (2012-06-07)
- 要求元の Android 端末のアドレスが前回認証ずみのものと同一であれば PC 側での受け入れ確認ダイアログの表示をスキップ
- Windows 環境でのカーソルの細かい移動をなめらかに
インストール・ダウンロード
Android アプリ「SundayPad」 (2012-06-07 更新)


SundayPad - Google Play のページ
PC 用エージェントプログラム「SpAgent」
Windows 版 - SpAgent.zip (2012-06-07 更新)
Mac 版 - SpAgent.dmg (2012-06-07 更新)
動作環境
SundayPad は Android OS 2.1 以上に対応します。
バージョン 2.2 以上の環境をお勧めします。
SpAgent の動作は以下のそれぞれ単一のテスト環境においてのみ確認しています
Windows 版
- Windows 8 Consumer Preview 32 bit/ 64 bit (デスクトップ環境)
- Windows 7 Professional SP1 32 bit/ 64 bit
- Windows Vista Business SP2 32 bit/ 64 bit
- Windows XP Professional SP3 32 bit
- Windows XP Home SP3
- Windows 2000 SP4
Mac 版
- Mac OS X バージョン 10.6.8
Android パーミッション
SundayPad は以下の目的のために所定の Android パーミッションを必要とします。
プライベートネットワーク上の PC で稼動中の SpAgent とソケット通信を行うために使用
現在のアクティブなネットワーク接続の情報を得るために使用
Wi-Fi 経由で接続しているネットワークのブロードキャストアドレスならびに現端末のIPアドレスを得るために使用
ユーザが所定の操作を行った際に振動で通知するために使用
SundayPad & SpAgent の概要
注意事項
使い方
1. SpAgent の実行 (PC 側)
最初に、SundayPad からの操作対象とする PC 上で「SpAgent」を実行して下さい。
SpAgent を起動すると画面にデフォルトの設定内容が表示されます。設定は「設定」メニューから変更可能です。

- ポート番号
SundayPad との通信に使用する待ち受けポート番号です。デフォルトは「59639」です。
※デフォルトのポート番号を使用の場合のみ SundayPad での PC 自動検出(後述)の対象となります - 認証キー文字列
SpAgent が SundayPad からの接続を許可する際に要求する"合言葉"です。デフォルトは「使用しない」です
「待ち受けを開始」ボタンを押すと SundayPad から接続可能な状態となります。ボタン押下時に OS から SpAgent の通信許可を尋ねられた場合はプライベートネットワーク限定の許可設定を行って下さい。

2. SundayPad の実行 (Android 端末側)
〜 PC 上の SpAgent との接続
Android 端末上で SundayPad を初めて実行すると 対象 PC の自動検出を行うか否かの問い合わせが行われます。ここで「はい」を選択すると SpAgent を稼動中の PC の検索が行われ、検出した PC の IP アドレスがリストに表示されます。
※検出されない場合は「1. SpAgent の実行 (PC 側)」の手順を確認して下さい


ここまでの手順が正しければ SundayPad と SpAgent の接続が確立し、PC を操作可能な状態となります。
3. SundayPad の操作方法 (Android 端末側)
SundayPad の操作方法はとてもシンプルです。

(A) Google 音声認識 UI を起動し PC へ認識結果テキストを送出します(後述)
(B) この黒い領域をタッチパッドとして使用します
(C) タッチパッドの「ドラッグモード」(後述)の ON/OFF
(D) PC のマウス右ボタンとして機能します
(E) タッチパッドの「ホイールモード」(後述)の ON/OFF
(F) PC の ESCAPE キーとして機能します
(G) PC の SPACE キーとして機能します
(H) PC の BACKSPACE キーとして機能します
(I) PC の ENTER キーとして機能します

左図:一本指でパッドをスライドすると PC 側のマウスカーソルが移動します
右図:指を一本パッド上に固定したままにするとマウス L ボタンを押し続けている状態となり、そのまま別の指でパッドをスライドするとドラッグ操作となります
※マルチタッチ操作は端末の仕様によりここでの説明とは異なる挙動となる可能性があります
「Drag」ボタンを押下しドラッグモードを ON にするとマウスの左ボタンがロックされた状態になります。そのためこのモードでは一本指でのスライドがドラッグ操作となります。再度「Drag」ボタンを押下するとモードを終了します。
「Wheel」ボタンを押下しホイールモードを ON にすると、パッドがマウスのスクロールホイールとして機能します。 このモードではパッドの Y 方向のスライド操作がホイールの回転操作として扱われます(下図右)。再度「Wheel」ボタンを押下するとモードを終了します。
ホイールモードはパッド上での「三本指の長押し」によっても ON/OFF することができます(下図左)。この三本指の操作によってホイールモードが ON/OFF された場合は端末の振動で通知されます。この通知により、ウェブ閲覧時などホイールモードの切り替えを多用する際にパッドを見ずに操作を行うことが可能となります。
※マルチタッチ操作は端末の仕様によりここでの説明とは異なる挙動となる可能性があります

端末上で音声認識を行い、その結果のテキストを PC 上のアプリケーションへ送出することができます。
(1) PC 上の所定のアプリのテキストフィールドへフォーカスをセットして下さい
(2) SundayPad 上部のマイクボタンを押下して Google 音声認識 UI を起動し発話します
(3) リスト表示された認識結果候補から適切なものをタップします
(4) PC 側アプリのフォーカスを持つテキストフィールドへ当該文字列が貼り込まれます

※ Mac 版 SpAgent ではアプリケーションへのテキスト貼り込みにクリップボードを使用しており、この操作を行うとクリップボードの内容が認識結果文字列で上書きされます。
(tanabe)
トラックバックURL
この記事へのコメント

タブレットにはマウス系デパイスが無いのでカーソル自体が表示されません。sundaypad自体は動いているのですが・・・(マウスを接続すればカーソルが現れsundaypadでokです)何とかならないでしょうか?
残念ながら今のところ手元に同様の環境がないlこともあって踏み込めないのですが、上手くご利用頂ければ幸いです。