mtgto/macSKK

メモやテキストエディトの状態で放置してディスプレイがオフになるとABCしか使えなくなる

pgary3 opened this issue · 10 comments

pgary3 commented

私の環境だけかもしれませんし、MacOS側の問題のようにも思いますが、再現できたので報告します。
M1 MacBook Air Sonoma 14.3をバッテリーで使用していて、MacOS純正のメモやテキストエディトを使っている状態で放置し、ディスプレイがオフになるまで待つと、復帰した時、IMEのアイコンがABCのAになり、メニューバーのIMEアイコンからmacSKKを選べなくなります。
ただ、他のソフトにフォーカスを切り替えると、macSKKが使えるようになるので実用上の問題はあまりありません。

mtgto commented

@pgary3 さん報告ありがとうございます。
試しにmac mini + Sonoma 14.3でディスプレイのオフまでの時間を短かくして試してみたのですが再現はしませんでした。
こちらで再現するための条件が不足しているのか、環境の違いによるものなのかがまだ切り分けできてないと思われます。

もし再現できるようでしたら、以下のような情報があるとこちらで再現しやすくなるかもしれません。

  • macSKKのバージョンは最新か (v0.17.1が最新)
  • ディスプレイがオフになる前のメモやテキストエディタでの入力モードは ABC (macSKK) なのか ひらがな (macSKK) なのか
  • ディスプレイがオフになって復帰したときにパスワードロック画面になっているか
  • 復帰したときの「IMEのアイコンがABCのA」とは ABC (macSKK) なのか、(macOS標準の) ABC なのか
  • メニューバーのIMEアイコンからmacSKKを選べなくなります とは、メニューバーのIMEアイコンをクリックして開いたメニューに ひらがな (macSKK)ABC (macSKK) が表示されていないということか
  • ABCしか使えないというのはaと打つと a と入力され あ とならないという状態のことか。例えばC-jを打っても日本語モードにならないということであっているか

もしお時間よろしければもう少し情報をいただけると調査に役立ちそうです。よろしくお願いします。

pgary3 commented

検証いただきありがとうございます。再現されないようで申し訳ありません。
・0.17.1でも起こりますが、現象に気づいたのは0.16.1を使っている時でした
・オフになる前のモードは、ABC (macSKK) と ひらがな (macSKK) の両方で起こりました
・オフから復帰したときはパスワードロック画面にはなっていません。設定の「ロック画面」で、バッテリー駆動時と電源アダプタ時のディスプレイオフ時間を1分後、パスワード要求が5分後で検証しています。ただ検証のためにディスプレイオフ時間を短かくしたので、最初にこの現象に気づいたときは、バッテリー駆動時のオフ時間が5分後、電源アダプタ時のオフ時間は30分後でした
・復帰したときのAは、macOS標準のABCになっています
・macSKKはグレーで選択できなくなっています。画像が撮れたので添付します
macskk
・aと打つとaと入力され、c-jでも切り替わりません。ただ一度他のアプリやディスクトップをクリックすれば戻るので問題はありません
後は、アンチウイルスにESETを使っているのが特殊かもしれません。一応メニューから保護を無効にしても再現するのは確認しましたが、アンインストールまでは試していません
すみません、私の環境で何か変なことが起こっているだけで、実用上は全く問題ありませんので、こんなこともあるという事例の報告ということで、よろしくお願いいたします

mtgto commented

詳細な情報とスクショありがとうございます。macSKKだけがグレー表示(無効)になっていますね、これはたしかにおかしな状態です。
今の自分の知識では選択無効になっている理由に心当たりは残念ながらないのですが、なんらかの方法で再現できれば調査できるかなと思います。
ディスプレイがオフになるだけで再現できているようですので、私の方でも複数の環境を使ってまずは再現を試みてみます。

こちら、自分の環境バージョン0.20.0でも下記の手順で再現しました。

  1. MacBook Airの外部モニターを外す
  2. MBAの画面を閉じる
  3. 再びすぐ開く

しかし、自分が有している別のMacBook Proでは再現せず、再現条件がよくわかりませんね。

あれから大部環境が変わり、macSKKのバージョンは0.20.0、macOSはSonoma14.4です。
下記の記事にある入力ソースからABCを削除し、@ (ASCII) を追加する手順を試してみました。
https://zenn.dev/yoshiyoshifujii/articles/78798db6472bf4
これまでと同様に、メモにしてディスプレイオフになるまで待つと、@になり、macSKKはグレーで選択できなくなるのですが、
表示は@のままですが、ctrl+jとlで日本語と英語入力を行き来でき、表示が変化しない以外は日本語変換もできました。

私もたまに気がつくと選択できなくなっていることがあります。
再現条件などわかっていない状態で恐縮なのですが、取り急ぎ共有させてください🙇
スクリーンショット 2024-03-29 14 17 30

今現在は入力ソースからmacSKKを削除→追加をやり直しても復帰できておりません...

皆様報告ありがとうございます。
直接関係があるかわからないのですがOS再起動の準備中に一度クラッシュしたことがあり、原因がSwiftUIのバグなのか怪しいのですがひとまずクラッシュしないような対処を入れました。(このコメントをしている最新のv0.20.0にはまだ入れていません)
#139

私の環境で再現できてなくて恐縮なのですが、Issueの状態が再現したときに、

  • macSKKのプロセスは生きているか (再起動してないか)
    • アクティビティモニタで自分のプロセスをmacSKKで検索するとヒットします
    • 再起動したかはCPUタブでCPU時間がどれくらい経っているか、などで推測できるかもしれません。
  • macSKKに関するエラーとか無効化したとか、それらしきログが出ていないか
    • コンソールアプリでmacSKKで検索するとか

をもしやっていただければ、原因究明のためのなにかの参考になるかもしれません。

また、別件で「macSKKが重い」理由について、変換候補パネルを入力アプリごとに生成しているのが問題かも? と思ったのでだめもとで別途対応を入れてみようと思います。

tani commented

私のコンピュータでも問題が発生しましたので、状況を共有致します。

ディレクトリの状況

~
❯ ls ~/Library/Application\ Scripts/net.mtgto.inputmethod.macSKK/

~
❯ ls ~/Library/Application\ Scripts/net.mtgto.inputmethod.macSKK.FetchUpdateService

~
❯ tree ~/Library/Input\ Methods/macSKK.app/Contents/
/Users/tani/Library/Input Methods/macSKK.app/Contents/
├── Info.plist
├── MacOS
│   └── macSKK
├── PkgInfo
├── Resources
│   ├── AppIcon.icns
│   ├── Assets.car
│   ├── Credits.rtf
│   ├── InfoPlist.strings
│   ├── en.lproj
│   │   └── Localizable.strings
│   ├── ja.lproj
│   │   └── Localizable.strings
│   └── kana-rule.conf
├── XPCServices
│   ├── FetchUpdateService.xpc
│   │   └── Contents
│   │       ├── Info.plist
│   │       ├── MacOS
│   │       │   └── FetchUpdateService
│   │       └── _CodeSignature
│   │           └── CodeResources
│   └── SKKServClient.xpc
│       └── Contents
│           ├── Info.plist
│           ├── MacOS
│           │   └── SKKServClient
│           └── _CodeSignature
│               └── CodeResources
└── _CodeSignature
    └── CodeResources

15 directories, 17 files

システム概要

❯ fastfetch
                     ..'          tani@Masayas-Laptop
                 ,xNMM.           -------------------
               .OMMMMo            OS: macOS Sonoma 14.5 arm64
               lMM"               Host: MacBook Air (13-inch, M3, 2024)
     .;loddo:.  .olloddol;.       Kernel: Darwin 23.5.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:     Uptime: 1 day, 5 hours, 32 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.     Packages: 129 (brew), 9 (brew-cask)
 XMMMMMMMMMMMMMMMMMMMMMMMX.       Shell: zsh 5.9
;MMMMMMMMMMMMMMMMMMMMMMMM:        Display (Color LCD): 3420x2224 @ 60Hz (as 1710x1112) [Built-in]
:MMMMMMMMMMMMMMMMMMMMMMMM:        DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.       WM: Quartz Compositor
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.     WM Theme: Multicolor (Dark)
 'XMMMMMMMMMMMMMMMMMMMMMMMMMMk    Font: .AppleSystemUIFont [System], Helvetica [User]
  'XMMMMMMMMMMMMMMMMMMMMMMMMK.    Cursor: Fill - Black, Outline - White (47px)
    kMMMMMMMMMMMMMMMMMMMMMMd      Terminal: WezTerm 20240203-110809-5046fc22
     ;KMMMMMMMWXXWMMMMMMMk.       Terminal Font: UDEV Gothic NF
       "cooc*"    "*coo'"         CPU: Apple M3 (8) @ 4.06 GHz
                                  GPU: Apple M3 (10) [Integrated]
                                  Memory: 9.71 GiB / 24.00 GiB (40%)
                                  Swap: Disabled
                                  Disk (/): 49.15 GiB / 460.43 GiB (11%) - apfs [Read-only]
                                  Local IP (en0): 192.168.100.100/24 *
                                  Battery: 88% [Discharging]
                                  Locale: en_US.UTF-8

プロセスの経過時間

4時間経過してるので再起動してなさそうです。

Screenshot 2024-05-17 at 17 18 04

アクティビティモニターから取得したログ

Sample of macSKK.txt

試しにChatGPTに解析させてみたのも参考に添付します。
chatgpt_macskk.md

macSKK側のログ

Preference から取得できるログは取得し損ねたので、再発したときに取得して追記致します。

暫定的な解決策

アクティビティモニターから macSKKのプロセスを終了させて、macSKKやローマ字入力の設定などを入れ替えたりして、
macSKKのプロセスを起こすと、再び入力できるようになります。

関連していそうな事象なのでこちらにコメントします。入力ソースを「ABC (macSKK)」「ひらがな (macSKK)」のみにして「ひらがな」を選択した状態でスリープに移行すると、一切の文字(つまりパスワード)を入力できず英数/かなキーにも反応しなくなります。スリープから復帰すると正常に入力できるのでプロセスが死んでいる訳ではなさそうですが……。

  • 右上
    スクリーンショット 2024-05-25 23 55 07
  • **下
    スクリーンショット 2024-05-25 23 56 12

macSKK v0.24.2 + macOS 14.5の環境で、たまたまメモリ不足でいろいろなアプリケーションが死んでいる状態で再現しました。macSKKプロセスが死んでいたので、OSに殺されたのかなあと思っています。