Settings: Forward port Hardware key custom rebinding

[Settings]Hardware key rebings part
[Settings] Fix previous problem && code clean
1.Add some new basic method in Settings
2.Fix config not work
3.clean up code