Satoshi Goto

Results 68 comments of Satoshi Goto

Issue報告ありがとうございます。 > うまくいくのは「シフト+アルファベット」で、Ka、Ki、Ku、Ke、Koがうまくいくように見えるのは「シフトキーがおされているから」でこちらが例外なのかもしれません。 シフトキーが押されているキーが大丈夫なのはシフト + アルファベットの時点で「未確定文字列」と呼ばれる、下線がある状態の文字列の状態に最初なっているからだと推測しています。テキストエディタ側は未確定文字列が入力中の場合はIMEでの変換確定前なので入力されたと見做さない、という処理をしているのだと思います。 これも駄目元の思いつきですが、じゃあaだけ押したときに、一瞬だけ未確定文字列が入力されたようにテキストエディタに伝えて、すぐに確定したと送ってあげれば「あ」が入力できるのではないか? という気がしたのでちょっと試してみようと思います。 ただしうまくいったとしてもこれはワークアラウンドとか回避策とか呼ばれるべきものなので、xterm.js側なりClaude Codeが使っているテキストエディタなりがIMEからの応答をみて処理してくれるほうがほんとうはmacOSのテキストエディタとしては正しいです。

> これも駄目元の思いつきですが、じゃあaだけ押したときに、一瞬だけ未確定文字列が入力されたようにテキストエディタに伝えて、すぐに確定したと送ってあげれば「あ」が入力できるのではないか? という気がしたのでちょっと試してみようと思います。 これ試してみたのですが、だめでした。aiueoの場合そのままaiueoが入力されてしまいました。残念。 未確定入力を送った直後に確定するのがいけないのかもしれません。

私の環境ではVSCode TerminalもVSCode Claude Codeも ka や sa など、2文字以上からなるローマ字はシフトなしでも入力できるようにみえます。 これはおそらく一文字目の入力ではmacSKKが「ローマ字として確定してない」ため入力中を表す未確定文字列を表示しろ、と指定しているからと思われます。 ワークアラウンドとして、aiueoのように1文字で確定するアルファベットのみkやsのように「あいうえお」を未確定文字列として表示するように要求しておきEnterや他のアルファベットを入力した時点で確定させるようにすればいけるかもしれません。 うまくいってもひらがな入力中にaiueoが即入力されないのはちょっと違和感はあるとは思いますが、急にaiuoeが入力されるよりはましな気がします。 実装が必要なのでぱっとは試せないのですが、実装して試してみようと思います。 もしうまくいったらqやlがそのまま入力されてしまうのも、未確定文字列で例えば `[モード変更: カタカナ]` とかを表示するようにすればそのまま入力されてしまう問題もマシになるかも。

> ワークアラウンドとして、aiueoのように1文字で確定するアルファベットのみkやsのように「あいうえお」を未確定文字列として表示するように要求しておきEnterや他のアルファベットを入力した時点で確定させるようにすればいけるかもしれません。 このワークアラウンドを簡単に実装してみたところ、HyperやVSCodeのターミナルでもaiueoであいうえおが入力できるようになるようです。 Hyperで動画を録ってみました。 https://github.com/user-attachments/assets/d4b1eb5b-5d8e-4ea0-8894-bc783e219025

v2.1.0で入力メニューに「1文字目を未確定扱い (互換性)」という設定を追加してみました。 私の環境ではVSCodeのターミナルやClaude Code拡張でもaiueoが打てるようになっています。 よかったら試していただければ助かります。 https://github.com/mtgto/macSKK/releases/tag/2.1.0

@uehaj 動作確認の報告ありがとうございます。 > aiueoだけでなく、'['→'「'、']'→'」'もOKです。 そうですね。このxterm.jsの問題はaiueoだけでなく1キーで全角文字が入力されるようなキーすべてで発生します。 そのようなときに無理やり読み仮名を入力しているようにするのが今回の回避策です。 > もとの報告では「ターミナル内でControl+Jで改行されてしまう」という問題も報告させて > もらっていましたが、 すみません、最初の話を忘れていました。 qやlによるモード変更と同様に、Ctrl-jによるモード変更も同じように実装してみたところVSCodeのClaude Code拡張では改行よりもモード変更が優先されるようでした。 #364 で対応します。 かわりに改行が打てなくなりますが、例えばOption+Enterなどで改行の代替とできそうです。

v2.1.1 でCtrl-jによるモード変更もxterm.jsのワークアラウンドに入れました。 https://github.com/mtgto/macSKK/releases/tag/2.1.1

Approve to run GitHub Actions