2012年05月21日

Android アプリ「SundayPad」を公開しました

はてなブックマークに登録

2012-06-07: バージョン 1.0.1 を公開しました


予定のない休日の午後に 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 パーミッションを必要とします。

  • INTERNET
    プライベートネットワーク上の PC で稼動中の SpAgent とソケット通信を行うために使用
  • ACCESS_NETWORK_STATE
    現在のアクティブなネットワーク接続の情報を得るために使用
  • ACCESS_WIFI_STATE
    Wi-Fi 経由で接続しているネットワークのブロードキャストアドレスならびに現端末のIPアドレスを得るために使用
  • VIBRATE
    ユーザが所定の操作を行った際に振動で通知するために使用

SundayPad & SpAgent の概要

  • SundayPad は、Andorid 端末から PC (Windows, Mac) を操作するためのアプリケーションです。 このアプリは PC 用のエージェントプログラム「SpAgent」とペアで使用します
  • Andorid 端末を Wi-Fi 経由で PC 用のワイヤレスタッチパッドとして扱うことができます
  • Google 音声認識と連携し PC 上の所定のアプリケーションへ音声認識結果のテキストを送出することができます
  • ある端末からの操作要求に対する許可・不許可は PC 側で決定することができます
  • UI は必要最小限の要素で構成されており単純明快です
  • 休日に楽な姿勢でのんびりウェブページをブラウズするのに使ったり、プレゼンテーション用の小道具として使ったり、さまざまな場面でご利用下さい

注意事項

  • SundayPad はプライベート IP アドレス空間を使用するネットワーク環境においてのみ動作します
  • SundayPad は Android 端末のアクティブなネットワーク接続が Wi-fi である場合にのみ動作します
  • 操作対象とする PC は SundayPad を実行する端末と同じネットワークに接続されている必要があります
  • SundayPad は通信内容を暗号化する処理を含みません
  • SundayPad は Windows Vista 以降の UAC 権限昇格確認ダイアログなど、PC のシステムセキュリティによって保護された UI を操作することはできません

使い方

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 側)」の手順を確認して下さい

操作対象とする PC の IP アドレスをタップすると、PC 側で稼動中の SpAgent が「[(IPアドレス)] からの接続要求を受け入れますか?」と尋ねてきます。ここで「はい」を押下すると SundayPad が「認証キー文字列」を尋ねてきます。SpAgent 側で認証キー文字列の使用を設定している場合は SpAgent のウィンドウに表示されている 4文字の認証キー文字列を入力して「OK」を押下して下さい。認証キー文字列の使用を設定していない場合はブランクのまま「OK」を押下します。

ここまでの手順が正しければ 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 上のアプリへ送出する

端末上で音声認識を行い、その結果のテキストを PC 上のアプリケーションへ送出することができます。

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

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


(tanabe)
klab_gijutsu2 at 18:23│Comments(2)TrackBack(0)Android | win

トラックバックURL

この記事へのコメント

1. Posted by win8タブレットで使いたい   2014年02月24日 19:59
5 非常にありがたいソフトです、有難うございます。
タブレットにはマウス系デパイスが無いのでカーソル自体が表示されません。sundaypad自体は動いているのですが・・・(マウスを接続すればカーソルが現れsundaypadでokです)何とかならないでしょうか?
2. Posted by tanabe   2014年02月25日 06:43
コメントをありがとうございます。意外な使い方ですね(^^;
残念ながら今のところ手元に同様の環境がないlこともあって踏み込めないのですが、上手くご利用頂ければ幸いです。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント