バグ報告
現在トライアルで利用してます。快適にメモが出来て気に入っているのですが、一点どうしても出来ないことがあるので報告させてください。
Gboard で日本語に切り替えるために地球儀マークを押しても日本語に切り替わりません。押しても変わらずに、英語キーボードのままです。
ただし件名の欄では正常に切り替えられます。
利用環境
- Platform: Android
- Platform version: (8.0.0)
- App Version: (2.0.0)
Galaxy note 8
再現方法
ノート入力画面に移動して、地球儀マークをタップする。
craftzdog
(Takuya Matsuyama)
2
Ichiroさん
ご報告ありがとうございます。
日本語キーボードが表示されないとのことですね。それは奇妙ですね。
当方Moto G5(Android 7.0)で動作確認を行っていて、同じくGboardを使用しているのですが以下の通り問題は発生していません。
また、ベータ時に他の日本ユーザさんにも動作確認をしていただいたのですが、そのような報告はありませんでした。
Android 8.0では @Yuko_Otawara さんによって動作確認(Huawei P10)されていますので、OSバージョンが原因とは考えにくいです。
なので機種依存の可能性があります。
再現でき次第対応したいと思います。
他になにか考えられる原因など分かりましたらご報告ください。
返信早いですね!ありがとうございます。
もうちょっと細かく調査して分かったことがあれば、また報告しますね。
1 Like
craftzdog
(Takuya Matsuyama)
4
ちなみに、エディタはWebViewで実装されています。
他のアプリのWebView内でも同じような現象が起きていないか確認してみてください。
なにかヒントになるかもしれません。
ありがとうございます。
WebView で実装されている他のアプリって、あまり知らないのですが、知っていればひとつ教えてもらっても良いです?
あと adb logcat して切り替えキーを連打したときのログを一応貼っておきます。
役に立つかわかりませんが・・・。
06-23 13:30:45.202 1565 2089 D InputReader: Input event(12): value=1 when=17900444915000
06-23 13:30:45.202 1565 2089 D InputReader: Input event(12): value=1 when=17900444915000
06-23 13:30:45.202 1565 2089 I InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.5553 ] when=17900444915000
06-23 13:30:45.204 1565 2088 I InputDispatcher: Delivering touch to (3378): action: 0x4, toolType: 1
06-23 13:30:45.204 1565 2088 I InputDispatcher: Delivering touch to (3378): action: 0x4, toolType: 1
06-23 13:30:45.204 1565 2088 I InputDispatcher: Delivering touch to (2893): action: 0x0, toolType: 1
06-23 13:30:45.204 2893 2893 D ViewRootImpl@e46726c[InputMethod]: ViewPostIme pointer 0
06-23 13:30:45.214 629 629 D SEC LightsHAL: lcd : 12542 +
06-23 13:30:45.218 629 629 D SEC LightsHAL: lcd : 12542 -
06-23 13:30:45.223 2893 2893 D ViewRootImpl@e46726c[InputMethod]: Relayout returned: old=[0,63][1080,2220] new=[0,63][1080,2220] result=0x1 surface={valid=true 512021549056} changed=false
06-23 13:30:45.230 635 635 I android.hardware.wifi@1.0-service: getLinkLayerStats
06-23 13:30:45.231 629 629 D SEC LightsHAL: lcd : 12540 +
06-23 13:30:45.236 629 629 D SEC LightsHAL: lcd : 12540 -
06-23 13:30:45.248 629 629 D SEC LightsHAL: lcd : 12538 +
06-23 13:30:45.250 1565 4353 V WindowManager: Relayout Window{e20d5d1 u0 InputMethod}: viewVisibility=0 req=1080x2220 WM.LayoutParams{(0,0)(fillxwrap) gr=#50 sim=#20 ty=2011 fl=#800108 pfl=0x1000000 fmt=-2 wanim=0x1030056 vsysui=0x310 needsMenuKey=2 colorMode=0 naviIconColor=0}
06-23 13:30:45.254 629 629 D SEC LightsHAL: lcd : 12538 -
06-23 13:30:45.255 2893 2893 D ViewRootImpl@e46726c[InputMethod]: Relayout returned: old=[0,63][1080,2220] new=[0,63][1080,2220] result=0x1 surface={valid=true 512021549056} changed=false
06-23 13:30:45.264 629 629 D SEC LightsHAL: lcd : 12536 +
06-23 13:30:45.268 629 629 D SEC LightsHAL: lcd : 12536 -
06-23 13:30:45.281 629 629 D SEC LightsHAL: lcd : 12534 +
06-23 13:30:45.286 629 629 D SEC LightsHAL: lcd : 12534 -
06-23 13:30:45.297 629 629 D SEC LightsHAL: lcd : 12532 +
06-23 13:30:45.298 1565 2089 D InputReader: Input event(12): value=0 when=17900545621000
06-23 13:30:45.298 1565 2089 D InputReader: Input event(12): value=0 when=17900545621000
06-23 13:30:45.298 1565 2089 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=17900545621000
06-23 13:30:45.298 1565 2088 I InputDispatcher: Delivering touch to (2893): action: 0x1, toolType: 1
06-23 13:30:45.298 2893 2893 D ViewRootImpl@e46726c[InputMethod]: ViewPostIme pointer 1
06-23 13:30:45.298 629 629 D SEC LightsHAL: lcd : 12532 -
06-23 13:30:45.313 629 629 D SEC LightsHAL: lcd : 12530 +
06-23 13:30:45.316 629 629 D SEC LightsHAL: lcd : 12530 -
06-23 13:30:45.330 629 629 D SEC LightsHAL: lcd : 12528 +
06-23 13:30:45.333 629 629 D SEC LightsHAL: lcd : 12528 -
06-23 13:30:45.339 1565 2089 D InputReader: Input event(12): value=1 when=17900587187000
06-23 13:30:45.339 1565 2089 D InputReader: Input event(12): value=1 when=17900587187000
06-23 13:30:45.339 1565 2089 I InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.5554 ] when=17900587187000
06-23 13:30:45.340 1565 2088 I InputDispatcher: Delivering touch to (3378): action: 0x4, toolType: 1
06-23 13:30:45.340 1565 2088 I InputDispatcher: Delivering touch to (3378): action: 0x4, toolType: 1
06-23 13:30:45.340 1565 2088 I InputDispatcher: Delivering touch to (2893): action: 0x0, toolType: 1
06-23 13:30:45.340 2893 2893 D ViewRootImpl@e46726c[InputMethod]: ViewPostIme pointer 0
06-23 13:30:45.347 629 629 D SEC LightsHAL: lcd : 12526 +
06-23 13:30:45.349 629 629 D SEC LightsHAL: lcd : 12526 -
06-23 13:30:45.355 2893 2893 D ViewRootImpl@e46726c[InputMethod]: Relayout returned: old=[0,63][1080,2220] new=[0,63][1080,2220] result=0x1 surface={valid=true 512021549056} changed=false
06-23 13:30:45.365 629 629 D SEC LightsHAL: lcd : 12524 +
06-23 13:30:45.365 629 629 D SEC LightsHAL: lcd : 12524 -
06-23 13:30:45.381 629 629 D SEC LightsHAL: lcd : 12522 +
06-23 13:30:45.386 629 629 D SEC LightsHAL: lcd : 12522 -
06-23 13:30:45.397 629 629 D SEC LightsHAL: lcd : 12520 +
06-23 13:30:45.401 629 629 D SEC LightsHAL: lcd : 12520 -
06-23 13:30:45.414 629 629 D SEC LightsHAL: lcd : 12518 +
06-23 13:30:45.416 1565 3535 V WindowManager: Relayout Window{e20d5d1 u0 InputMethod}: viewVisibility=0 req=1080x2220 WM.LayoutParams{(0,0)(fillxwrap) gr=#50 sim=#20 ty=2011 fl=#800108 pfl=0x1000000 fmt=-2 wanim=0x1030056 vsysui=0x310 needsMenuKey=2 colorMode=0 naviIconColor=0}
06-23 13:30:45.417 629 629 D SEC LightsHAL: lcd : 12518 -
06-23 13:30:45.422 2893 2893 D ViewRootImpl@e46726c[InputMethod]: Relayout returned: old=[0,63][1080,2220] new=[0,63][1080,2220] result=0x1 surface={valid=true 512021549056} changed=false
06-23 13:30:45.432 629 629 D SEC LightsHAL: lcd : 12516 +
06-23 13:30:45.434 629 629 D SEC LightsHAL: lcd : 12516 -
06-23 13:30:45.448 629 629 D SEC LightsHAL: lcd : 12514 +
06-23 13:30:45.453 629 629 D SEC LightsHAL: lcd : 12514 -
06-23 13:30:45.457 1565 2089 D InputReader: Input event(12): value=0 when=17900704846000
06-23 13:30:45.457 1565 2089 D InputReader: Input event(12): value=0 when=17900704846000
06-23 13:30:45.457 1565 2089 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=17900704846000
06-23 13:30:45.457 1565 2088 I InputDispatcher: Delivering touch to (2893): action: 0x1, toolType: 1
06-23 13:30:45.459 2893 2893 D ViewRootImpl@e46726c[InputMethod]: ViewPostIme pointer 1
06-23 13:30:45.464 629 629 D SEC LightsHAL: lcd : 12512 +
06-23 13:30:45.466 629 629 D SEC LightsHAL: lcd : 12512 -
craftzdog
(Takuya Matsuyama)
6
普段Androidを使わないので確信は無いのですが、Pocketはメモしたページをアプリ内で開くときにWebViewを使っているはずです。
ログありがとうございます!
読んでみたのですが、「InputMethodのレイアウトが変更されなかった」という事実しか分かりませんでした。
こんにちは
Gboard は普段使用していないので、改めて私の方でも確認してみました。
(前述されていますが、私の環境は Huawei P10 Plus/Android 8.0 です)
※Beta の報告時に「Plus」の部分を書き忘れていました。。すみません。
確認してみたところ、確かに意図せぬ動きかなという動作なのですが、申告とも違う動き方に見えます。
私の環境では、以下のような遷移をします。
以下では「→」のタイミングで地球儀マークをタップしています
Gboard (日本語) → Gboard (英語) → インストール済みの他入力アプリ(※)
※タイミングによってこの他入力アプリも、切り替わり先が異なるようです。昨日確認したときは「Google 日本語入力」に切り替わっていましたが、今確認したら「CodeBoard IME」に切り替わりました。この切り替わり先が変わってしまう原因は分かりませんが……
以上です。
何かの参考になれば幸いです。
Otawaraさん、ありがとうございます!
私も Google日本語入力ではうまくいきました。
しかし Gboard(日本語) は出てきません。
Gboard(日本語) は無効にして Gboard(英語)/Google日本語入力にしたら、とりあえず不自由なくなったので、しばらくこれで使ってみます。
Otawara さんのこちらの返信で Google日本語入力を入れて気がついたのですが、 @craftzdog がアップされていたキーボードの画像を確認すると、もしかしてこれ は Google日本語入力のキーボードではないかと思いました。
もし Gboard(日本語) だと 左上に G マークがありそうだな、と思って・・。
それと他の上手くいくキーボードと比べてみると、 キーボードの設定画面に Gboard だけ「多言語入力」となっていたので、このあたりが関係しているのかもと思いました。
ご参考になれば。
とりあえず私は Google日本語入力との併用で試用を継続してみます。
サポートありがとうございます。
craftzdog
(Takuya Matsuyama)
10
@Yuko_Otawara さん、 @Ichiro_Nakatani さん
情報ありがとうございます。すみません、ご指摘の通り僕はGboardではなくGoogle日本語入力を使用していました。
まずこの現象の原因を技術的に説明します:
アプリのエディタはGboard(英語)の入力補完機能と相性が悪く、挙動に支障が出るため無効にする必要がありました。
そこで、キーボードがGboardの時に限ってinputType
をパスワード(TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
)に指定するようにしました。
しかしその副作用は、Gboardで他言語のキーボードに切り替えられなくなることでした。
なぜなら、Androidアプリ側からはキーボードの種別が「Gboardかどうか」しか知るすべがなく、Gboardの「どの言語か」までは判別出来ないからです。
つまり、Gboard(日本語)にした時を検知して、inputType
をもとに戻す事が技術的にできそうにありません。
考えられる解決方法は、アプリのエディタとGboard(英語)の入力補完機能との相性の悪さを解消するしかなさそうです。
この問題はかなり複雑で、時間がかかりそうです。
ご不便をおかけしますが、Google日本語入力を併用して頂きますようお願いします。
Related issue
1 Like
craftzdog
(Takuya Matsuyama)
11
v2.3.0にて、試験的にですが設定からGboardを許可できるようにしました。
これでGboardの日本語入力が出来るようになります。
ただし、英字入力は不安定ですのでご注意ください。これは既知の問題ですが現在解決不能です。
回避するにはGboardの設定のsuggestionsを無効にしてください。
この問題は将来的に解決できる可能性があります。
アプリ内で使用しているエディタコンポーネントのCodeMirrorがモバイル対応を視野に入れて再構築中です。
ひとまず本トピックは解決済みとしたいと思います。
craftzdog
(Takuya Matsuyama)
12
続報です。
根本解決方法が見つかったので念のためこちらでもシェアしておきます:
おおー、ありがとうございます。
私はすでにiPhoneに戻っているので、現在は不便は感じてないのですが、次にAndroidを使う時には試してみますね!
craftzdog
(Takuya Matsuyama)
14
ベータにて上記の解決方法をテストしていましたが、上手く動いている様子なのでv3.2.0を正式にリリースしました。
これをもって本トピックは解決済みとしたいと思います。
ご協力ありがとうございました!