こんにちは、JAGA(ja_gaimopotato)です。
iPad AirとiPad mini for Retinaディスプレイを購入して、色々と遊んでいます。
この前キーボードを接続してみよう思い、余っていたApple Wireless Keyboard JISを繋げてみました。
すると、不思議なことにUSキー配列として認識している場合があるのです。
ハードウェアキーボードを接続すると・・・
設定アプリからキーボードを選択すると各ソフトウェアキーボードごとに、ハードウェアキーボードのキー配列も選択することができます。
日本語ローマ字を選択して、ハードウェアキーボードを「U.S.」に設定していました。
これが原因で、USキー配列として認識しているのかと考えたのですがそうでもないようでした。
あとで、分かりましたがローマ字入力を有効にする場合はUSを選択する必要があります。
「かな入力」という設定はかな文字入力となるようです。
Apple純正のアプリのKeynoteやNumbers、Pagesなどは全く問題なくJIS配列として認識しています。
ですが、それ以外のアプリはほとんどUSキー配列として認識していました。
唯一Day Oneという日記アプリだけはJISキー配列として認識しているようです。
Day One (日誌 / 日記)
カテゴリ: ライフスタイル
価格: ¥300
一応調べてみた。
ぼくはMacはUSキーボードですので、US配列だと思って打てば、それでも構わないのですが何だか気持ち悪く感じていました。
こういうことを見つけるとどうも、答えが知りたくなる性分なので一応iPadでサンプルアプリを作って以下の項目を試してみましたが、ぼくの環境ではどちらもJISキー配列で認識していました。
- UITextViewに入力
- UIWebViewに入力
UIWebViewは、以下のようなコードでcontenteditable
を有効にした状態でテストしました。
NSString *html = @"<html><body><div id=\"content\" contenteditable=\"true\"></div></body></html>";
[_htmlView loadHTMLString:html baseURL:nil];
答えはわからず。
なぜこんなにも、USキー配列として認識するアプリが多いのでしょう。
あと考えられることは以下のような感じですかね。
- SDKのバージョン
- UITextView以外の独自クラスで実装
- アプリをローカライズするとおかしくなる(テストでは英語がデフォルト)
- iOS6からのバックアップデータが悪さをしている。
ご存知の方はいらっしゃるのでしょうか。
今調べている最中なので、結果が分かり次第ご報告します。
自分もapple wireless keyboardのJIS配列を使っていて、アプリによってUS配列の認識になってしまうことで悩んでいます。
ターミナルエミュレーターアプリにでLinuxサーバにログインし、作業をすることがあるのですが、そこで記号が思い通りに入力できず、不便な思いをしています。
iOS6で第4世代のiPadを使っている頃はiPadの再起動などで解消したのですが・・・。