Linux系では`Shift+Ctrl+U`でUnicode文字を入力できるのが一般的なようなので、これをazooKeyでも実装したい。
Activity
inugamine commentedon Dec 14, 2025
度々すみません、これもやってみたいんですけど着手してみてもいいですか?(実は半分...3割くらいは着手しちゃいました)
ensan-hcl commentedon Dec 14, 2025
お願いします!設計は少し自由度があると思うのですが、今のところはどういう形を想定されていますか?
inugamine commentedon Dec 14, 2025
Linuxのデスクトップ環境で使えるような、Shift+Ctrl+U による Unicode コードポイント入力を実装してみる予定です。(現在着手中で、一旦動くものはできました)
のような動きをします。
既存の日本語変換フローには影響を与えないように独立したステートとして実装し、また、別所でもやり取りをさせていただきましたが、keyCodeで Shift+Ctrl+U を認識する方針で進めます。
【変更箇所】
UserAction.swift:.startUnicodeInputアクションを追加InputState.swift:.unicodeInput(String)ステートと、ステートマシンのロジックを追加UserAction+getUserAction.swift: keyCode でShift+Ctrl+Uを検出ClientAction.swift: Unicode 入力用のアクション(モード開始、文字追加、削除、確定、キャンセル)を追加azooKeyMacInputController.swift: 上記アクションのハンドラを追加SegmentsManager.swift: markedTextとして「U+xxxx」を表示する処理を追加ensan-hcl commentedon Dec 14, 2025
@inugamine 日本語入力中にどのようにハンドリングするのかに関してはどうでしょうか?例えば「あいうえお」とすでに入力済みの状態でShift+Ctrl+Uを打つ場合です。
inugamine commentedon Dec 14, 2025
@ensan-hcl 日本語入力中の動きについては 4 にも記載しましたが、その例で言うと未確定状態の「あいうえお」があった場合は、Shift+Ctrl+U を押した瞬間にあいうえおが確定(Enterを押したときの動き)されます。確定済みの状態でこれらのキーを押下した場合は特に何も起こらずに Unicode 入力機能が動きます。
(答えになってますかね......)
もし、何か確定していない文字列がある場合は Unicode 入力機能を無効にしたいなどありましたらその方針に沿って修正してみます
ensan-hcl commentedon Dec 14, 2025
なるほど、読み落としていました。それで良いと思います。すでに変換候補ウィンドウが出るなどのケースでは適切に選択されているもので確定するようにする必要がありそうです。このほかは良いと思うので、お願いします!
inugamine commentedon Dec 14, 2025
@ensan-hcl 変換候補ウィンドウが出ているときの挙動については考慮が足りていない部分でした。こちらも合わせて調整してみます
inugamine commentedon Dec 15, 2025
↓ Shift+Ctrl+U を押下

↓ 「せんたくしないばあい」に対して変換候補を選択せず Shift+Ctrl+U を押下

これについてはユーザーが意図しない変換候補を勝手に選択するよりは、ひらがなのままのほうが潔いかなと思って調整しました。
ensan-hcl commentedon Dec 15, 2025
良いと思います!
feat: Unicode入力をサポート (Shift+Ctrl+U) #186 (#233)
ensan-hcl commentedon Dec 16, 2025
resolved in #233
feat: Unicode入力をサポート (Shift+Ctrl+U) azooKey#186 (azooKey#233)