<< 「共生の思想」 by 黒川紀章 : main : 「A Thousand Barrels a second」 >>

AutoHotKeyでOne Shot Modifier

窓使いの憂鬱(以下mayu)がWindows Vistaをサポートしないとのことなので,AutoHotKeyでこれまで使ってきたキーの機能変更を設定してみた.特にOne Shot Modifier機能を使って「無変換」+キー に特殊キーの機能を割り当てるとSHIFTとの組み合わせで奇妙な動きをするので,状態管理用フラグを工夫して実現した.

スクリプトダウンロード ご自由にお使いください.

今回設定した機能
「無変換」+キー →制御機能
IME OFFの時に限り「変換」でIME ON

準備


まずAutoHotkeyの配布サイトからダウンロード&インストール

最初にAutoHotKeyをスタートメニュー→プログラムから起動すると,スクリプト作ったよ!と言われて,マイドキュメントの中に「AutoHotkey.ahk」が作られる.けど,中身はコメントしかないのでこの行為は意味がない.自分で新規ファイルを作成して始めましょう.

拡張子がahkであればスクリプトのダブルクリックでAutoHotKeyを起動できる.

IMEのON


実装したいこと
* IMEがoffなら変換キーでIMEをONにする
* IMEがonなら通常の変換キーとして動作する

ラッキーなことにAutoHotKeyでIME制御ができるライブラリと解説がこのページにあったので,このライブラリを使って以下のように記述.
#Include IME_Func.ahk
; 変換でIME=ON
vk1Csc079::
ret := IME_CHECK("A")
if( !ret ){
IME_ON("A")
IME_SetConvMode( "A", 25 ) ; R漢
}
else {
Send {Blind}{vk1Csc079}
}
return

IMEがONになったとき,必ず日本語入力モードになるようにした.

One Shot Modifier


実装したいこと


* 無変換+キー: 割り当てられた機能を実行.無変換を押し下げたまま複数の機能キーを入力可能.最後に無変換を放しても無変換自身の機能は働かない.
* 無変換単独 : 無変換キーとして動作する
* Shift/Ctrl+無変換: 機能通り動作する

実装


まず「無変換」+機能キーの部分
#UseHook on

; diamond cursor
vk1Dsc07B & a::Send {Blind}{Home}
vk1Dsc07B & f::Send {Blind}{End}
vk1Dsc07B & s::Send {Blind}{Left}
vk1Dsc07B & d::Send {Blind}{Right}
vk1Dsc07B & e::Send {Blind}{Up}
vk1Dsc07B & x::Send {Blind}{Down}
vk1Dsc07B & w::Send {Blind}{PgUp}
vk1Dsc07B & c::Send {Blind}{PgDn}
vk1Dsc07B & g::Send {Blind}{Del}
; vi like
vk1Dsc07B & h::Send {Blind}{Left}
vk1Dsc07B & j::Send {Blind}{Down}
vk1Dsc07B & k::Send {Blind}{Up}
vk1Dsc07B & l::Send {Blind}{Right}

無変換の機能を殺してShiftのように使うならこれだけでOK.

次に無変換の機能を生かすために次のように記述してみた
; 無変換+...
vk1Dsc07B::return
vk1Dsc07B Up::Send {Blind}{vk1Dsc07B}
~*vk1Dsc07B::return

無変換+別のキーを組み合わせて押した場合はvk1Dsc07B Upの部分は実行されないのでうまくいくかと思ったが,Shiftを組み合わせると,キーを話したときにShift+無変換の機能が動いてしまい,残念ながらこれでは不足.

どうも挙動が怪しいのでUpとDownを組み合わせて試したら,以下のことが判明.
無変換を押して操作: Down/Upともイベント発生なし
無変換→Shiftの順に押して操作: Down/Upともイベント発生なし
Shift→無変換の順に押して操作: Down/Upともに*vk1Dsc07Bのイベント発生
無変換を押して離す: vk1Dsc07BのUp発生
無変換→Shiftの順に押して離す: vk1Dsc07BのUp発生
Shift→無変換の順に押して離す: *vk1Dsc07BのDown/Up発生

しかも,無変換→Shiftの順に押してShift→無変換の順に離すと*vk1Dsc07BのUpのみ発生.なんじゃこりゃ~.

結局こんな感じで実装した.

フラグの初期値は0
1. Modifier+無変換のDownイベントで1にする
2. 無変換+キーで,フラグが1なら2にする
3. Modifier+無変換のUpイベントでフラグが1ならキー送出
4. 無変換単独のUpなら無条件でキー送出

これによって,
無変換を押して離す→4
無変換+Shiftで機能キー→イベントなし
Shift+無変換で機能キー→1,2,3
無変換+機能キー→2だが,1を通ってないのでフラグ変化なし
コンピュータ > ソフトウェア : comments (278) : trackbacks (0)

Comments

fake gucci belts uk にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci aviator...2013/11/25 11:57 AM
replica gucci accessories にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci keychain...2013/11/25 10:46 AM
replica gucci handbags in china にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci sneaker...2013/11/25 05:34 AM
the best replica louis vuitton handbags にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica louis vuitton...2013/11/24 03:24 PM
fake gucci red belt にょろぷにらん | AutoHotKeyでOne Shot Modifier
knock off gucci baby bags...2013/11/22 01:56 PM
replica de zapatillas gucci にょろぷにらん | AutoHotKeyでOne Shot Modifier
discount authentic gucci wallets...2013/11/20 05:48 PM
tui hermes fake 2 o ha noi にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes fake tie...2013/11/20 12:27 PM
fake gucci men backpack にょろぷにらん | AutoHotKeyでOne Shot Modifier
gucci backpack black replica...2013/11/19 05:20 AM
fake gucci money clip にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci men belts...2013/11/18 10:45 PM
replica gucci jackie bag にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica handtaschen repliken...2013/11/15 08:50 PM
fake hermes clic clac にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes fake logo...2013/11/15 06:28 AM
replica gucci purses にょろぷにらん | AutoHotKeyでOne Shot Modifier
aaa quality replica gucci...2013/11/14 05:56 PM
replica hermes evelyne bag にょろぷにらん | AutoHotKeyでOne Shot Modifier
tui hermes fake 2 o ha noi...2013/11/14 11:09 AM
fakes revealed hermes にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes birkin bag waiting list...2013/11/14 12:26 AM
replica gucci shoulder bag にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci luggage...2013/11/11 01:32 AM
hermes birkin bag togo leather にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake hermes bangle...2013/11/10 05:22 AM
hermes h bracelet replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
neon hermes replica...2013/11/10 04:16 AM
hermes birkin bag allegro にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake hermes picotin bag...2013/11/09 09:27 PM
fake hermes bracelet enamel にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes birkin replicas uk...2013/11/09 09:17 AM
replica hermes birkin paypal にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake hermes websites...2013/11/08 11:48 AM
fake gucci murse for sale にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci iphone 5 case...2013/11/08 05:23 AM
gucci joy medium boston bag replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci cheap...2013/11/08 03:31 AM
cheap gucci clutch purse にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci bags china...2013/11/07 05:32 AM
fake kids gucci belts にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci bags for cheap...2013/11/06 06:30 PM
louis vuitton purse charms replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica louis vuitton...2013/11/06 05:28 PM
hermes fake god にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica hermes constance...2013/11/06 10:23 AM
replica hermes pillow にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica hermes t shirt...2013/11/05 05:52 PM
fake gucci baby bag にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci neil leach...2013/11/05 06:11 AM
knock off gucci backpack for sale にょろぷにらん | AutoHotKeyでOne Shot Modifier
aaa replica gucci jackets...2013/11/04 04:44 PM
louis vuitton replica handbags wholesale にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica louis vuitton...2013/11/04 01:12 PM
hermes real or fake wallet にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes evelyn replica...2013/11/03 07:47 PM
knock off gucci purses cheap にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci mens suits...2013/11/03 03:11 PM
knock off gucci bags for sale にょろぷにらん | AutoHotKeyでOne Shot Modifier
good replica gucci bags...2013/11/03 10:58 AM
birkin bag hermes replica uk にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake hermes receipt...2013/11/03 08:27 AM
replica gucci messenger bags men にょろぷにらん | AutoHotKeyでOne Shot Modifier
cheap gucci wallets for men uk...2013/11/03 04:11 AM
louis vuitton replica purses sale にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/11/02 05:05 PM
replica hermes scarves にょろぷにらん | AutoHotKeyでOne Shot Modifier
best hermes birkin replicas...2013/11/02 04:35 PM
gucci wallets at discount にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci belts uk...2013/11/02 12:32 PM
cheap louis vuitton replica watches にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/31 09:27 PM
fake gucci bag cheap にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci bag serial number...2013/10/31 01:00 PM
fake gucci bags for cheap にょろぷにらん | AutoHotKeyでOne Shot Modifier
cheap fake gucci bags china...2013/10/31 04:15 AM
fake hermes constance にょろぷにらん | AutoHotKeyでOne Shot Modifier
authentic replica hermes handbags...2013/10/26 08:13 AM
the best replica louis vuitton handbags にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/25 11:06 PM
gucci soho medium shoulder bag replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci luggage sets...2013/10/25 10:50 PM
replica hermes reviews にょろぷにらん | AutoHotKeyでOne Shot Modifier
buy hermes birkin bag replica...2013/10/25 07:17 AM
fake gucci lanyard にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica gucci backpack for sale...2013/10/25 02:25 AM
knock off gucci boots にょろぷにらん | AutoHotKeyでOne Shot Modifier
fake gucci bag ebay...2013/10/24 08:44 PM
best fake birkin bags にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes silk city bag replica...2013/10/24 12:23 PM
louis vuitton luggage set replica cheap にょろぷにらん | AutoHotKeyでOne Shot Modifier
cheap replica louis vuitton speedy bags...2013/10/24 08:19 AM
マイケルコース メンズ
マイケルコース バッグ 人気...2013/10/23 10:32 PM
louis vuitton belt replica for cheap にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/23 12:04 PM
replica gucci clutch bags にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica cheap gucci bags...2013/10/23 09:27 AM
hermes replicas にょろぷにらん | AutoHotKeyでOne Shot Modifier
hermes fake 1...2013/10/23 08:16 AM
louis vuitton replica online にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/23 12:50 AM
gucci car interior buyers にょろぷにらん | AutoHotKeyでOne Shot Modifier
gucci outlet...2013/10/22 07:50 PM
louis vuitton millionaire replica china にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/22 03:48 AM
mbt amali 11 にょろぷにらん | AutoHotKeyでOne Shot Modifier
mbt shoes reviews...2013/10/21 10:44 PM
louis vuitton replica vancouver にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton outlet...2013/10/21 09:30 AM
free shipping nike shoes にょろぷにらん | AutoHotKeyでOne Shot Modifier
mbt shoes for men...2013/10/20 09:29 PM
ecco mens shoes sale にょろぷにらん | AutoHotKeyでOne Shot Modifier
mbt shoes online...2013/10/20 12:42 PM
louis vuitton evidence replica chile にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton artsy empreinte replica...2013/10/20 12:36 PM
fake hermes jacket にょろぷにらん | AutoHotKeyでOne Shot Modifier
replica hermes china...2013/10/20 05:40 AM
louis vuitton vernis alma bag replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/19 10:33 PM
louis vuitton miroir keepall 55 replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/19 10:18 PM
buy replica louis vuitton jaspers にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/19 12:55 PM
louis vuitton agenda refills replica にょろぷにらん | AutoHotKeyでOne Shot Modifier
louis vuitton replica...2013/10/18 05:03 AM

Comment Form

  

Trackbacks

Trackback url
Latest Entries
Categories
Recent Comments
Recent Trackback
Archives
Profile
Other
RECOMMEND