You should probably allow customizing the key bindings, although still you will need to decide what the default settings should be.
(My preferences are: For grid-based game, number pad or hjkl can be used for movement; for platform jumping game, my preference is left/right shift to move, space to jump, ZXCVBNM,./ to attack (if applicable).)
If you want to be able to work with gamepad or touch screen, then it is more difficult, although you can (and probably should) allow gamepad customization too. For touch screen, customization is probably unnecessary, but you may wish an option to show/hide controls (e.g. in case you have a device that has both a touch screen and keyboard).
However, regardless of any of this, you must ensure that it is documented. If it is not documented, then it will be difficult to use, regardless of what they might be.
You should probably allow customizing the key bindings, although still you will need to decide what the default settings should be.
(My preferences are: For grid-based game, number pad or hjkl can be used for movement; for platform jumping game, my preference is left/right shift to move, space to jump, ZXCVBNM,./ to attack (if applicable).)
If you want to be able to work with gamepad or touch screen, then it is more difficult, although you can (and probably should) allow gamepad customization too. For touch screen, customization is probably unnecessary, but you may wish an option to show/hide controls (e.g. in case you have a device that has both a touch screen and keyboard).
However, regardless of any of this, you must ensure that it is documented. If it is not documented, then it will be difficult to use, regardless of what they might be.