百相鍵盤『き』をUSキーボードで ―― その4

右シフトキーに文字キーとシフトの両方の機能を持たせてみる。


前回までのおはなし http://d.hatena.ne.jp/kettt/20080724/p2


前回までのバージョンでは、「右シフトキーと文字キー重ね押し」→「シフトキー短押し」とすると、短押しで入力されるはずの[`]が入力されないバグがありました(他にも無駄な処理がちらほらとありました)。

今回はその修正です。

ls_state=0

~RShift::
    if ls_state=0
    {
        ls_state=1
        Input, OutputVar, I L1 T0.2 V
    }
    else
        ls_state=2
return

~RShift Up::
    Input
    if((ls_state!=2)and(A_TimeSincePriorHotkey < 200)and(OutputVar=""))
        send, ``
    ls_state=0
    OutputVar=
return

~+RShift::
    if ls_state=0
    {
        ls_state=1
        Input, OutputVar, I L1 T0.2 V
    }
    else
        ls_state=2
return

~+RShift Up::
    Input
    if((ls_state!=2)&&(A_TimeSincePriorHotkey < 200)and(OutputVar=""))
       send, ~
    ls_state=0
    OutputVar=
return