Yosemite で AquaSKK の入力モードが切り替わり続ける問題を適当に直した
追記:この修正が取り込まれたバージョンのバイナリはここから入手できる↓
AquaSKK(OS X yosemite対応版) - みずぴー日記
Yosemite で AquaSKK を使うと、 Safari などに入力するとき入力モードが高速で切り替わり続けるバグが出ることがある。
理屈は分かってないがそれっぽい箇所を適当に直したらバグが直ったっぽいので一応メモしておく。他への影響は追っていないので知らない。無保証。
修正済みのフォーク:uasi/aquaskk · GitHub
修正点:platform/mac/src/server/SKKInputController.mm#L159-L169あたりを if (activated_) { activated_ = NO; ... }
で囲む。
} else { // 個々の入力モードを選択している場合 SKKEvent param; // ex) "com.apple.inputmethod.Roman" => SKK_ASCII_MODE param.id = [menu_ convertIdToEventId:(NSString*)value]; if(param.id != InvalidInputMode) { session_->HandleEvent(param); modeIcon_->SelectInputMode([menu_ convertIdToInputMode:(NSString*)value]); } }
↓
} else { if (activated_) { activated_ = NO; // 個々の入力モードを選択している場合 SKKEvent param; // ex) "com.apple.inputmethod.Roman" => SKK_ASCII_MODE param.id = [menu_ convertIdToEventId:(NSString*)value]; if(param.id != InvalidInputMode) { session_->HandleEvent(param); modeIcon_->SelectInputMode([menu_ convertIdToInputMode:(NSString*)value]); } } }