what you see is what you get

名前だけでも覚えて帰ってください

Android wearでKeynoteをリモートコントロールする方法

f:id:keisukekatsuki:20170425005852j:plain:w640
Photo by Maurizio Pesce from flickr (CC BY 2.0)

講演資料は普段Keynoteで作っていて、iPhone使ってた頃は純正のiOSアプリでスライドの送り戻しをやっていたんだけど、2年前にさよならiPhoneした。で、Androidに切り替えたんだけど、Android AppにもKeynote対応のリモコンアプリはいくつかあって困ってなかった。ただ最近安くソニーSmartWatch3 SWR50を譲ってもらったので、Apple Watch的な感じでAndroid wearKeynoteを操作したいと思った。で、それなりに動いたので、メモがてら書き残しておく。

やりたいこと

僕の環境

  • macOS Sierra version 10.12.4(これを書いているときの最新版)
  • Keynote Ver 1.7(これを書いているときの最新版)
  • Zenfone 3 laser(Android 6.0.1 Marshmallow)
  • SmartWatch3 SWR50(Android wear 1.5)

上記環境以外ではチェックしてないのであしからず。

手順

前提:MacAndroidは同じWi-Fiネットワークにあること

  1. macOSの設定でAndroid端末からリモートログインできるようにする
  2. Google play Storeで「Mac Remote for wear」アプリをダウンロードする
  3. Mac Remote」でIPアドレスとID/Passを設定する
  4. Mac Remote」にKeynoteを動かすAppleScriptを設定する
  5. Android端末でテスト
  6. Android wearでテスト

手順2~手順5まではAndroid端末の操作。Android wearを使うのは最後だけ。

macOSの設定でAndroid端末からリモートログインできるようにする

「設定」→「共有」でリモートログインにチェックマークを入れる。このとき「すべてのユーザー」にアクセスを許可してはダメ。「次のユーザのみ」にして、自分が使うユーザIDを設定すること。あとここで表示されてるMacのローカルIPアドレスをメモしておくこと。

f:id:keisukekatsuki:20170424232552p:plain:w480

Google play Storeで「Mac Remote for wear」アプリをダウンロードする。

https://play.google.com/store/apps/details?id=be.hcpl.android.bubble&hl=ja

Mac Remote」でIPアドレスとID/Passを設定する

ここからAndroid端末でもろもろ設定。「Mac Remote」Appを立ち上げる。で、ハンバーガーメニューをタップして出てくる「Connect」画面で、MacにログインするIDとパスワード、そしてさっきメモしたMacのローカルIPアドレスを設定する。設定が終わったら画面右上のチェックマークをタップして、接続できるかチェック。正しく接続できたらアプリのAbout画面が出てくるはず。

f:id:keisukekatsuki:20170424233407j:plain:w320

Mac Remote」にKeynoteを動かすAppleScriptを設定する

またハンバーガーメニューをタップ。今度は「Manage Apps」を選んで、画面右上の+でKeynoteをリモートで動かす設定をする。

f:id:keisukekatsuki:20170424233906j:plain:w320

your app nameにはKeynoteと入力。

play pause commandには下記のAppleScriptを入力。多分コピペすれば大丈夫。

if running of application "Keynote" is true then
  tell application "Keynote"
    activate
    try
      if playing is false then start the front document
    end try
   end tell
end if

previous commandには下記のAppleScriptを入力。これも多分コピペすれば大丈夫。

if running of application "Keynote" is true then
  tell application "Keynote"
    activate
    try
      show previous
    end try
  end tell
end if

next commandには下記のAppleScriptを入力。これも多分コピペすれば大丈夫。

if running of application "Keynote" is true then
  tell application "Keynote"
    activate
    try
      show next
    end try
  end tell
end if

show previousshow nextになっただけ。

info commandは……僕は必要ないので何も設定してない。

ここまで設定したら右上のチェックマークをタップして保存。するとハンバーガーメニューをタップすると「Keynote」って設定ができてるはずなので、それをタップ。

Android端末でテスト

下記のようなリモコン画面が出てくるはず。

f:id:keisukekatsuki:20170425000429j:plain:w320

でっかい再生ボタンにplay pause commandが割り当てられている。下の小さな「>」がnext command、「<」がprevious command(「?」は多分info commandが割り当てられているんだと思う)。

で、MacでプレゼンしたいKeynoteファイルを開いて、でっかい再生ボタンをタップすればプレゼンがスタートする。「>」をタップすればスライドが進むし、「<」をタップすればスライドが戻る。

ここまでがAndroid端末の操作。

Android wearでテスト

ここでやっとAndroid wearが登場。アプリ一覧から「Mac Remote」を選ぶと……

f:id:keisukekatsuki:20170425002218p:plain

はいリモコン画面でました。ボタンのアサインはさっきAndroid端末でテストしたときと一緒。

f:id:keisukekatsuki:20170425002225p:plain

動いた? やったーー! キミもKeynoteAndroid wearで操作するフレンズなんだね

その他いろいろ

  • 僕はでっかい再生ボタンでスライドが前に進むように設定した。上記AppleScriptの設定でコードを入れ替えればよいだけ。スライドのスタートはMac本体でやることがほとんどだから、正直あんまり必要ない。押しやすいボタンでスライド送れるようにすると操作ミスがなくてよさげ。

  • プレゼンが終わったらmacOSのリモートログインをOFFにするのを忘れないこと。ONにしたままだとセキュリティ的によろしくない。

  • タイムラグはある。これはしょうがない。Android端末で操作したほうがタイムラグは短め。そしてやっぱ純正のiOSアプリが最強。他にいい方法をご存じの方は教えてください。

  • PowerPointはMicrosoftが純正Remote Appを出してるし、Google SlidesはそのままiOS/Android Appでできる。

  • wena wristもカッコいいけど、SmartWatch 3の後継も出してくれないですかねソニーさん……。出たら買う。

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。