oookaworks.seesaa.net
3キー同時押しの実装はやはり面倒ですよね。少し考えてみたのですが
sho_test(){ Send,{BackSpace} Send,{s} Send,{h} Send,{o} } jyo_test(){ Send,{BackSpace 2} Send,{j} Send,{y} Send,{o} } r::Send,{s}{i} ~r & i:: If GetKeyState("j", "P") { jyo_test() } else { sho_test() } return ~i & r:: If GetKeyState("j", "P") { jyo_test() } else { sho_test() } return ~r & j:: If GetKeyState("i", "P") { jyo_test() } return ;j & rやj & iなどもr & jと同様の定義が必要
以下省略しますが「じょ」だけでも本来は3の階乗で6回もコンビネーションキーを定義する必要があります。確かに力技です。
3キー同時押しを定義するにはこの処理を繰り返す根気、もしくはよりスマートな手法を見つけなけばなりません。挑戦される方は頑張ってください。
追記
あくまで一案ですがコードを書くためのコードを書くというこれまた力技です。クリップボードの中身を破壊します。
write_3key(a,b,c,d,e){ Clipboard := "~" Send,^v Clipboard := a Send,^v Clipboard := " & " Send,^v Clipboard := b Send,^v Clipboard := " ::" Send,^v Send,{Enter} Clipboard := "If GetKeyState('" Send,^v Clipboard := c Send,^v Clipboard := "', 'P') {" Send,^v Send,{Enter} Send,{Tab} Clipboard := d Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "else" Send,^v Send,{Enter} Clipboard := "{" Send,^v Send,{Enter} Send,{Tab} Clipboard := e Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "return" Send,^v Send,{Enter} Clipboard := "~" Send,^v Clipboard := b Send,^v Clipboard := " & " Send,^v Clipboard := a Send,^v Clipboard := " ::" Send,^v Send,{Enter} Clipboard := "If GetKeyState('" Send,^v Clipboard := c Send,^v Clipboard := "', 'P') {" Send,^v Send,{Enter} Send,{Tab} Clipboard := d Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "else" Send,^v Send,{Enter} Clipboard := "{" Send,^v Send,{Enter} Send,{Tab} Clipboard := e Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "return" Send,^v Send,{Enter} } write_3key_only(a,b,c,d){ Clipboard := "~" Send,^v Clipboard := a Send,^v Clipboard := " & " Send,^v Clipboard := b Send,^v Clipboard := " ::" Send,^v Send,{Enter} Clipboard := "If GetKeyState('" Send,^v Clipboard := c Send,^v Clipboard := "', 'P') {" Send,^v Send,{Enter} Send,{Tab} Clipboard := d Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "return" Send,^v Send,{Enter} Clipboard := "~" Send,^v Clipboard := b Send,^v Clipboard := " & " Send,^v Clipboard := a Send,^v Clipboard := " ::" Send,^v Send,{Enter} Clipboard := "If GetKeyState('" Send,^v Clipboard := c Send,^v Clipboard := "', 'P') {" Send,^v Send,{Enter} Send,{Tab} Clipboard := d Send,^v Clipboard := "_test()" Send,^v Send,{Enter} Clipboard := "}" Send,^v Send,{Left}{BackSpace}{Right}{Enter} Clipboard := "return" Send,^v Send,{Enter} } f::write_3key("r","i","j","jyo","sho") d::write_3key_only("r","j","i","jyo") e::write_3key_only("j","i","r","jyo")