百相鍵盤『き』をUSキーボードで ―― その3
右シフトキーに文字キーとシフトの両方の機能を持たせてみる。
新バージョン出てます:百相鍵盤『き』をUSキーボードで ―― その4
前回までのおはなし http://d.hatena.ne.jp/kettt/20080719/p1
前回までは、「右シフトキーを短く押せば[`]が入力される」というだけの仕掛けでした。
よって、たとえば高速に Shift + L を打つと、“L`”と入力されることがありました。
今回は、「右シフトキーを『単独で』短く押せば[`]が入力される」というものに変更します。
ls_state=0 ~RShift:: if ((ls_state=0)&&GetKeyState("RShift","P")) ls_state=1 else ls_state=2 Input, OutputVar, L1 T0.2 V return ~RShift Up:: Input if((ls_state=1)and(A_TimeSincePriorHotkey < 200)and(OutputVar="")) { send, `` } ls_state=0 return ~+RShift:: if ((ls_state=0)&&GetKeyState("RShift","P")) ls_state=1 else ls_state=2 Input, OutputVar, L1 T0.2 V return ~+RShift Up:: Input if((ls_state=1)&&(A_TimeSincePriorHotkey < 200)and(OutputVar="")) { send, ~ } ls_state=0 return
Inputが文字キーしか拾ってくれないので、文字キーとの同時押しだけに対応しています。
十分快適。
『き』側の設定
上記スクリプトを使うには、kiKey_106ファイルを編集します。
まず、[`~]キーで打相が切り換わるのは不便なので、打相鍵はF12にやります。
- 鍵54のscancodeを58に書き換える。(もとは29)
次に、[`~]キーに47鍵を割り当てます。
- 鍵47のscancodeを29に書き換える。(もとは73)
CapsLockとF12を、キー入れ換えソフトで入れ換えればできあがり。