contenteditable属性を利用して作られた入力ボックスへの対応
私は今のところTwitterでしか見たことはありませんが、inputタグやtextareaタグの代わりに、contenteditable属性を利用してリッチな入力ボックスを提供している場合があるようです。
そこで、contenteditable属性を利用して作成された入力ボックスを認識し、アクションの無効化とvi like actionsの有効化が正しく行われるようにしてみました。コードは以下のとおりです。
mono0x/ChromeKeyconfig@f5aafe7b9f8f904a88ef1d66f7b8c81960421ac0
ただ、現状ではvi like actionsのカーソル移動の挙動に問題があるので、pull requestは送っていません。具体的には、CSSのoverflow:scrollが設定された入力ボックス (Twitterの入力ボックス) で、キャレットが移動した結果見えなくなるような場合に、スクロールせず、キャレットが見えない位置へ消えてしまいます。
解決方法がわからなかったため、不完全な状態での報告になり申し訳ありません。
@mono0x もし良ければ、アクションの無効化だけをpull requestして頂けますか? ひとまずそれだけ取り込んでしまおうと思います。 手間でしたらこちらで作業します。
#6 としてpull requestしました。 とりあえず、contenteditable要素が付いている場合にはVi like actionsが動かないようにしています。 よろしくお願いします。