こんばんは。今日は雀躍配列をAutoHotkeyで実装しました。
suzume.ahk - Google ドライブ
これも継配列と同様にめんめんつさんが作成された配列です。
雀配列:親指シフト(NICOLA)の改良版。
— 雀躍配列@改良親指シフト配列 (@suzumekeyboard) January 1, 2020
「ぱぴぷぺぽ」「ぁぃぅぇぉ」を覚えやすい位置に。
「ゃゅょ」は単打面にし、「やゆよ」はこれらの逆手シフトに。
シフト文字はそのキーの単打字と五十音で同じ段に。
「、」「。」はそれぞれ左親指、右親指シフトキーの単押しで確定と共に出力。 pic.twitter.com/LKKZJ5bZjk
シンプルで実装しやすいですね。コードは昨日より見やすいと思います。
今日コードを書いていて気がついた点があります。配列作成時に重要な割に目立たない点なので書き留めておきます。仮にaを入力した場合bcを出力、xを入力した場合yzを出力したいとします。
例1
a::Send,{b}{c} x::Send,{y}{z}
入力 | 出力 |
---|---|
a | bc |
x | yz |
意図通り出力されます。今度はx入力でzaを出力したいとします。
例2
a::Send,{b}{c} x::Send,{z}{a}
入力 | 私が意図していた出力 | 実際の出力 |
---|---|---|
a | bc | bc |
x | za | zbc |
x入力でzaを出力したい場合例2のコードは機能しません。1行目のaの設定をずるずる引きずってしまっています。これを防ぐにはどうすればいいか迷っていました。現状私の出した結論は、IME.ahkを使ってIMEの状態を判定しオンの場合のみ機能させています。
例3
#include ime.ahk #If IME_GET() a::Send,{b}{c} x::Send,{z}{a}
入力 | 私が意図していた出力 | 実際の出力 |
---|---|---|
a | bc | bc |
x | za | za |
これなら意図通りx入力でza(Qwertyローマ字なら「ざ」)が出力されます。正直理屈はよく分かりませんがいいとします。IME.ahkの作者の方に感謝ですね。偶然見つけただけですが、誰かのお役に立てば幸いです。
追記
配列仕様について思いっきり勘違いをしていました。修正しましたので既にダウンロードされた方がいたら、お手数ですが再度やり直していただければ幸いです。まだミスがあるかもしれませんので見つけた方は遠慮なく指摘してください。