IME_GetConvMode( )なるものがあって、
IMEの状態取得がAHKでできると教えてもらった。
ならいろんなことできるやろ、仕様調べるか、
と思ったら綾木さんの先駆にたどりついた。
さすがです。
https://qiita.com/kenichiro_ayaki/items/d55005df2787da725c6f
特に今の所アイデアはないんだけど、
・薙刀式で英数モードでもカナの時と同じ編集モードを使えるようにする
(記号は半角にする)
・変換中のみVim的なアルファベット単打の操作ができるようにする
(ただし「次の文字を打つと自動確定」が使えなくなるから一長一短。
たとえばM単打で確定だとしても、毎回M打つのだるい)
なんかはすぐに思いつく。
他の関数をみると、
情報取得だけでなく、状態遷移も可能なので、
それを利用したマクロなんかも可能かもしれない。
あと実用上は、
縦書きと横書きを取得できたらなー。
エディタ依存だもんなー。
くやしいのう…
これらを利用した便利マクロ、思いついたらまた書くかも。
入力前、入力中未変換、変換後未確定の、
3状態でUndoの回数を変えて、
状態遷移ができるマクロとかはつくれそうだが、
実用に足るかは知らない。
それよりも薙刀式編集モードの「入力キャンセル」
(esc3回発行して、どの状態からでも入力前に戻る。
入力前状態でescを打っても何も起こらないのを利用)
が便利なのでいらんか…
IMEの状態を気にしながらそれを制御するのは、
「文章を書きたい」ことに対して邪魔で本質的ではない。
鉛筆で書くときに芯の減りを気にしながら書くのと同じだ。
となると、
「制御してる感覚を消す」方向に、
アイデアが出れば使えるかもしれない。
2024年06月28日
この記事へのトラックバック
これはIMM(Input Metod Manager)という旧来のAPI呼び出しなせいか、アプリの種類によっては時々変な動作をするのです。
新しい TSF(Text Services Framework)を使えばよいのですが、TSF呼び出しは結構大変なので実現できていません。
いやー、お釈迦さまの手のひらの上で転がされてるかと思いました。
そしてそこには、
全く知らない問題があるのですねえ。
何がどう起きるのかわからないのは難しいな…
オンかオフかのやつは知ってました。
他もあったのかという感じです。
何かに使えないかなー…