薙刀式AHK版に再びリベンジ

「しゃしゅしょ じゃじゅじょ」まで実装しました。150行ほどです。IMEオフ時のみ動作します。Windowsログイン時のパスワードは数字にしておくことをおすすめします。
https://drive.google.com/file/d/1v_5ledIS1HVkwMVCcJa7Io4H24kSOiGS/view?usp=sharing

ここ数日UWSCを弄った結果、これをやるくらいならAHK版を作り直すべきだという結論に至りました。既存の問題点をまとめます。

1.大岡さんの実装通りに打てないキーが一部存在する
2.長すぎてコードの管理に問題が生じる
3.IMEに縛られず実装するには日本語を直接出力する必要がある

一番大きい問題は1です。コード変更で対応します。

~r::
;(IJ)+R
If GetKeyState("i","P") && GetKeyState("j","P"){
	getString_mae2("じょ")
}

RJI同時押しで最後にRを押す場合のコードです。これまでと比較するとわかりにくいのは問題ですがその分BSの数は安定しそうです。

2はUWSC同様に外部ファイルを使いますが、どこまで削れるかは未知数です。他に問題が生じるようなら使わないかもしれません

3はiniファイルを経由させることにします。クリップボードを経由させる手法を試してみたのですが、入力が安定しなさそうです。書いておいてなんですが、この手法だと直接出力するのとなにがどう違うのかよくわかりません。あまり意味があるとは思えませんがセキュリティに敏感なご時世を考えて対策を取っているポーズだけでもやっておきます。

getString(str){
  IniWrite, %str%, naginata_tmp.ini, tmp, kore
  IniRead, %str%, naginata_tmp.ini, tmp, kore
  Send,%str%
}

追記

なにか変だなと思ったら、Googleトライブのユーザー制限を解除していませんでした。失礼しました。上げ直します。「きゃきゅきょ ぎゃぎゅぎょ」を加えました。
naginata_rapid_0.1.zip - Google ドライブ

ahkファイルが3つ入っています。解凍してすべて同じフォルダにおいてください。書き忘れていましたが、FG同時押しで中断、HJ同時押しで再開します。起動の際はnaginata_rapidを実行するだけで構いません。

追記2

iniファイルを付け忘れていたいたので上げ直しました。内容に変更はありません。
naginata_rapid_0.1.1.zip - Google ドライブ

追記3

今度はime.ahkを忘れていました。再開時絡みのバグを修正しています
naginata_rapid_0.1.2.zip - Google ドライブ

追記4

「ぢゃ」の実装に苦戦しています。原因がわかりません。やはりここが鬼門です。

追記5

もしかしてと思って試したのですが、単に使用しているキーボードがGJH同時押しを認識していなかっただけの話かもしれません。こちらのサイトで動作しているのを確認できませんでした
キーボード同時入力テスト

追記6

サブ機でGJH同時押しの動作を確認しました。ようやく進めます

追記7

外来音を除く拗音の3キー同時押しを定義しました。naginata_rapid.ahkは500行ほどです
naginata_rapid_0.1.3.zip - Google ドライブ

追記8

JとMを経由する3キー同時押しを定義しました。あとは残りの単打面とSpace面だけです
naginata_rapid_0.1.4.zip - Google ドライブ