abstract player input bindings
merge