update key binding, add preference page