昨日カスタムキーボードと外付けキーボードの大発見をし、1,2時間ほど強力な幸福感に包まれていました。
さっそくそれを記事にまとめたいと思います。
過去に「iOS8.3におけるiPadと外付けキーボードの相性」という記事を書きましたが、これよりも更に深く踏み込んだ内容だと思います。
この記事の内容は、iPadとiOS9.2.1、belkinのキーボード「QODE Ultimate Pro」で行ったことを元にしています。
style="display:inline-block;width:336px;height:280px"
data-ad-client="ca-pub-3481943934845626"
data-ad-slot="8806407289">
ATOKにできてCoardにできなかったこと
Coardという外付けキーボードとの併用を前提にしたカスタムキーボードを作っているんですが、
ある時、ATOKではできるのにCoardではできないことがあることに気がつきました。
それは「外付けキーボードのスクリーンキーボードON/OFFキーに反応するかどうか」ということです。
たいていのiPad用キーボードにはファンクションキーにキーボードアイコンが印字された「スクリーンキーボードON/OFFキー」なるものがあると思います。
今まではずっと、カスタムキーボードはそのファンクションキーに反応しない仕様だと思い込んでいました。
(実際、現バージョンのCoardでは反応しません)
しかしCoardと同じカスタムキーボードであるにも関わらず、ATOKはそのキーを押すたびに表示したり隠したりが自在にできるのです。
これは有るまじきことと思いさらに観察してみると、見た目上のある違いがあることに気がつきました。
それはキーボードを隠した際に、キーボード上部のショートカットバーに下矢印「⌄」があるかどうかの違いです。
この矢印はショートカットバーを隠すためのボタンですが、ATOKでは表示されるもののCoardでは表示されません。
他のカスタムキーボードとしてSunriseでも試してみると、SunriseはCoardと同じ挙動でした。
このATOKに特別な挙動を与えている原因はなんなのかと気になり、設定のキーボードリストを眺めてみると、ここでもまたある違いに気がつきました。
カスタムキーボードは名前の下に言語が書かれていますが、ATOKのみ「日本語」です。
ショートカットバーに下矢印が現れないCoardとSunriseは「英語」でした。
そしてシステムキーボードの言語は「日本語」なんです。
カスタムキーボードに付随する「言語」
先に見たようにカスタムキーボードには必ずなんらかの「言語名」が付いています。
この言語名が意味するのは何でしょうか。
僕は当初、カスタムキーボードを選択中の外付けキーボードの入力言語は、この付随した言語が適用されるものじゃないかと思いました。
しかしCoardやSunriseのように「英語」が付いていても、日本語のシステムキーボードを入れていれば日本語入力になります。
そしてATOKのみが「日本語」になっていてシステムキーボードと同じ言語であることに気がついたとき、
もしやと思いシステムキーボードを英語に替えてみました。
予想していた通り、CoardもSunriseも外付けキーボードのファンクションキーに見事反応するようになり、ショートカットバーには下矢印が現れ、
逆にATOKは反応しなくなったのです。
いったんここでまとめますと、
まず前提として、外付けキーボードのデフォルト入力言語は設定アプリのキーボードリストの一番上にある言語になるという認識が大切です。
次に、カスタムキーボード選択中に外付けキーボードから入力できる言語は前述のデフォルト入力言語であるということ。
そして、外付けキーボード上の「スクリーンキーボードON/OFFキー」で操作できるカスタムキーボードは、付随言語がデフォルト入力言語と同じもののみ、ということです。
カスタムキーボードの言語と足並みを揃えるメリット
外付けキーボードのデフォルト言語とカスタムキーボードの付随言語を統一すると、iPadでのキーボード操作がかなり快適になります。
カスタムキーボードと外付けキーボードを併用する上でのメリットを
独断で並べると以下の通り。
1. ファンクションキーで好きな時に表示・非表示ができる。
2. 切り替え後の表示・非表示の状態をシステムキーボードと揃えられる。
3. キーボードを隠せば、変換候補が表示される。
4. 日本語のテキスト入力が安定する。
5. 外付けキーボードのキーがまともに動作する。
1.については前述した通り。
2.は例えば、システムキーボードを表示させたままATOKへ切り替えると、ATOKも表示され、システムキーボードを隠したまま切り替えると、ATOKも隠れたままってことです。その逆もしかり。
3.は日本人にはとても重要なんですが、カスタムキーボードを隠すと代わりに変換候補リストが表示されるようになるんです!
これを発見したときはかつてないほどの喜びに飲み込まれました。
カスタムキーボード表示中は相変わらず変換候補が消えてしまうものの、キーボードを隠せば現れるというだけでも使い勝手は全然違います。しかもファンクションキーで表示・非表示もできるようになるわけですから。
これは中国語も同様です。
「4. 日本語のテキスト入力が安定する。」は、例えば外付けキーボードから日本語を入力し、Returnで確定した瞬間にテキストが消えるといった不具合です。
「5. 外付けキーボードのキーがまともに動作する。」についてはキーボードメーカーによるかもしれません。
僕のbelkinキーボードでは、カスタムキーボードの言語が一致していないと矢印キーの↑↓が反応しなくなり上下にカーソルを動かせなくなります。
要は言語を揃えることによって外付けキーボードが正しく動作するようになるということですね。
カスタムキーボードの「複数言語」は万能
実はカスタムキーボードの言語は「複数言語」を設定することができます。
複数言語を設定することにより、前述のメリットをどんなキーボード言語でも受けることが可能になります。
もちろんこれはユーザーがいじれる部分ではなく、各々の開発者がXcode上(info.plist)でPrimaryLanguageに”mul”を設定しないといけません。
デベロッパー寄りの話になってしまうんですが、
Appleの”CFLocaleIdentifier.c”というドキュメントの中にひっそり紛れていました。
他のカスタムキーボードでは複数言語をサポートしているんでしょうか?
いくつかのキーボードをインストールしてみたところ、意外とみんな対応していました(汗)
実のところ、カスタムキーボードそれぞれに優先言語を設定できる仕様の本当の理由はわかっていませんが、
おそらくそのカスタムキーボードがどの言語をターゲットに作られているのかをユーザーに知らせるためではないかと予想しています。
それが技術的な問題で、結果的に外付けキーボードの動作に悪影響を及ぼしてしまったのかもしれません。
でなければ、わざわざ「複数言語」以外を設定するメリットがないからです。
認知のためだけの機能のはずが、外付けキーボードの意味不明な仕様と思われユーザーを困惑させているとはAppleは思ってもみないんじゃないですかね。
ハードウェアとソフトウェアの閉じるキーの違い
ハードウェア上の「スクリーンキーボードON/OFFキー」でキーボードを非表示にできますが、
ソフトウェアキーボードにも閉じるキーがあります。
しかしこの2つのキーには違いがあって、編集状態を解除するかしないかという点で異なります。
ハードウェアのファンクションキーは編集状態を維持しままキーボードを隠す、
ソフトウェアの閉じるキーはキーボードを閉じ、編集状態も解除します。
※カスタムキーボードの付随言語が一致していない場合は挙動が変わる可能性があります。
(まとめ)ソフトウェアとハードウェアのキーボードの関係
ではiOSのキーボードの関係を箇条書きでまとめてみます。
1. 設定アプリのキーボードリストの一番上のシステムキーボードは、暗黙的にデフォルト入力言語になっている。
2. 外付けキーボードのデフォルト入力言語は1.が設定される。
3. カスタムキーボード選択中は、外付けキーボードから入力できる言語は1.の言語になる。
4. 外付けキーボード上の「スクリーンキーボードON/OFFキー」で操作できるカスタムキーボードは、付随言語が1.と同じもののみ。
5. カスタムキーボード選択中に変換候補を表示できるのは、4.が適用されている場合のみ。
6. 4.が適用されている場合は、カスタムキーボードを隠した際に”ショートカットバーを閉じる”ボタンが現れる。
5. カスタムキーボードが「複数言語」をサポートしていれば、外付けキーボードの動作はどの入力言語でも安定する。
6. 設定中のキーボードがカスタムキーボードのみの場合、デフォルト入力言語は「英語」になる。
7. 日本語ローマ字キーボードの”ABC”キーをONにすれば、カスタムキーボードへ切り替えたとしても(一時的に)外付けキーボードの入力言語は「英語」になる。
僕が確かめた限りはこんなところです。
Safariの隠しキーボードがたくさんあることも発見しましたので、
ぜひこちらもご覧ください。
【iOS9】Safari 隠しキーボードショートカット一覧 | CoardWare
「iPadで仕事をする人のためのキーボードアシスタント」がコンセプトなCoardもどんどんアップデートしていきますので、どうぞよろしくお願いします。
それでは良きiPadライフを!
Coard for iPad 製品紹介
iPadのアプリにもショートカットキーを! ~iPadと外部スイッチによる果てしない実験 序章~ ( その他教育 ) – お道具箱日記 – Yahoo!ブログ