Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一部のアプリケーションで英字モード/カタカナモードなどに切りかえる際に lq が入力される #119

Closed
gw31415 opened this issue Feb 19, 2024 · 9 comments

Comments

@gw31415
Copy link

gw31415 commented Feb 19, 2024

便利に使用させていただいております。

KittyやLINE、weztermなど一部のアプリケーションでは、入力モードを切りかえる際入力に用いていたLキーやQキーの文字がそのまま入力されてしまうことがあります。

参考までに、AquaSKKだと空文字挿入などを行うことで対応しているようです。
https://github.com/codefirst/aquaskk/wiki/Workaround

@mtgto
Copy link
Owner

mtgto commented Feb 22, 2024

試してみたのですが、自分の環境ではKittyとLINEはAquaSKKでもmacSKKでも同じようにLやQがそのまま入力されてしまいました。
@gw31415 さんの環境ではAquaSKKの互換性機能で対応されているのでしょうか。もう少し情報をいただければありがたいです。KittyはもしかしたらKitty自体の設定が必要だったりするのかしら…?

検証した環境

AquaSKKの互換性モードを使用しない場合

Kitty

操作 期待される動作 macSKK AquaSKK
かなモードでlキーを入力 英数モードに切り替わり何も入力されない 🙅 英数モードに切り替わるがlが入力される 🙅 英数モードに切り替わりlが入力される
かなモードでqキーを入力 カナモードに切り替わり何も入力されない 🙅 カナモードに切り替わるがqが入力される 🙅 カナモードに切り替わるがqが入力される
英数モードでC-jを入力 かなモードに切り替わり何も入力されない 🙅 かなモードに切り替わるが改行される 🙅 かなモードに切り替わるが改行される

LINE

操作 期待される動作 macSKK AquaSKK
かなモードでlキーを入力 英数モードに切り替わり何も入力されない 🙅 英数モードに切り替わるがlが入力される 🙅 英数モードに切り替わりlが入力される
かなモードでqキーを入力 カナモードに切り替わり何も入力されない 🙅 カナモードに切り替わるがqが入力される 🙅 カナモードに切り替わるがqが入力される
英数モードでC-jを入力 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない

Wezterm

操作 期待される動作 macSKK AquaSKK
かなモードでlキーを入力 英数モードに切り替わり何も入力されない 🙆 英数モードに切り替わり何も入力されない 🙆 英数モードに切り替わり何も入力されない
かなモードでqキーを入力 カナモードに切り替わり何も入力されない 🙆 カナモードに切り替わり何も入力されない 🙆 カナモードに切り替わり何も入力されない
英数モードでC-jを入力 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない

まとめ

  • macSKKもAquaSKKも変わらず、KittyとLINEではq/l入力で文字が入力されてしまう
  • Weztermは特に問題なさそう?

AquaSKKの互換性モードを使用する場合

Kitty

https://zenn.dev/tsukkee/articles/stmk_advent_calendar_vim#%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB を参考に空文字挿入を有効にしてみましたが、自分の環境では特に変わりませんでした。なにが違うんでしょうか…

Macを再起動したら反映されました。私の環境ではAquaSKKの設定を変えるだけじゃ変わらなかったぽいです。

操作 期待される動作 AquaSKK AquaSKK (空文字挿入を有効化)
かなモードでlキーを入力 英数モードに切り替わり何も入力されない 🙅 英数モードに切り替わるがlが入力される 🙆 英数モードに切り替わり何も入力されない
かなモードでqキーを入力 カナモードに切り替わり何も入力されない 🙅 カナモードに切り替わるがqが入力される 🙆 カナモードに切り替わり何も入力されない
英数モードでC-jを入力 かなモードに切り替わり何も入力されない 🙅 かなモードに切り替わるが改行される 🙆 かなモードに切り替わり何も入力されない

LINE

元から露払後確定が有効になっていましたが、今回のテスト項目では特に変化がないようでした。

Kittyと同様、空文字挿入を有効にしたらlやqが挿入される問題が解消されたようです。

操作 期待される動作 AquaSKK AquaSKK (空文字挿入を有効化)
かなモードでlキーを入力 英数モードに切り替わり何も入力されない 🙅 英数モードに切り替わるがlが入力される 🙆 英数モードに切り替わり何も入力されない
かなモードでqキーを入力 カナモードに切り替わり何も入力されない 🙅 カナモードに切り替わるがqが入力される 🙆 カナモードに切り替わり何も入力されない
英数モードでC-jを入力 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない 🙆 かなモードに切り替わり何も入力されない

@mtgto
Copy link
Owner

mtgto commented Feb 28, 2024

Kittyについて、AquaSKKの空文字挿入と同じ処理をしてみたところ

  • C-jによるかな入力への切り替え
  • qによるカナ入力への切り替え
  • lによる英数入力への切り替え

いずれについても改行されたりqやlが入力されることがなくなりました。

AquaSKKの空文字挿入を有効にした場合の実際の挙動は、"\f" (0x0c) をsetMarkedTextして空文字列をsetMarkedTextしている。
https://github.com/codefirst/aquaskk/blob/4.7.5/platform/mac/src/server/SKKInputController.mm#L405-L412

@gw31415
Copy link
Author

gw31415 commented Feb 29, 2024

お返事遅れました!気づかず申し訳ございません。
そうですね、空文字挿入の処理を有効にすると挿入されることがなくなります。

@gw31415
Copy link
Author

gw31415 commented Feb 29, 2024

今更で本当に申し訳ありませんがこのような設定になっています。

image

@mtgto
Copy link
Owner

mtgto commented Feb 29, 2024

@gw31415 お返事ありがとうございます。Weztermについては @gw31415 さんの環境では問題は起きてないということでよろしいでしょうか?

私の環境でもMacを再起動したらAquaSKKの互換性が反映されたようでKittyとLINEについては空文字挿入を有効にしたら問題が起きなくなりました。
#119 (comment) の表を書き直します。

@gw31415
Copy link
Author

gw31415 commented Feb 29, 2024

すみません、Weztermを一時的にインストールしていたものでスクショ以前に設定をクリアしたのでこうなっています。
おそらく、macos_forward_to_ime_modifier_mask周辺の設定を弄っている間に混乱してしまったんだと思います。
お騒がせしました 🙇

@mtgto
Copy link
Owner

mtgto commented Mar 2, 2024

Alacritty v0.13.1でも同様にq/l/C-jが入力される問題が空文字挿入で問題が起きなくなるのを確認。 #132
VSCodeのターミナル画面でも起きることを確認。ただVSCodeのBundle Identifierを固定で適用するかはちょっと迷ったので後回し。
おそらくmacSKKで得られる情報では今フォーカスを持っているのがVSCodeなのはBundle Identiferからわかってもターミナルなのかエディタなのかはわからない気がする…?

@mtgto
Copy link
Owner

mtgto commented Mar 3, 2024

v0.19.0でKitty, LINE, Alacrittyのときにモード変更時に空文字挿入するワークアラウンドを入れて対応しました。
https://github.com/mtgto/macSKK/releases/tag/0.19.0

今後利用者がアプリケーションごとに設定できるようにするまでこのIssueはOpenにしておきます。

@mtgto
Copy link
Owner

mtgto commented Mar 10, 2024

#135 で利用者がアプリごとに設定可能 (今のところ空文字挿入だけ) できるようにしました。
v0.20.0から設定できます。 https://github.com/mtgto/macSKK/releases/tag/0.20.0

@mtgto mtgto closed this as completed Mar 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants