There is no magic spectrum emulator than can figure out what keys the programmer decided to go with for their game. So yes keymapping is always a big issue for speccy emulators.
Most of the time I use Xpectroid - as it's almost identical to the emulator I used to have on the dingoo.
It's a pain to set up - it needs all your spectrum games to be stored in ROMs/Xpectroid (I have mine in alphabetical directories at that location. And when you start it up you have to hold down the menu key, choose settings and map the GPD's controls so start and select are properly mapped. Then in the configuration menu turn the sound rate to 22050 KHz to get smooth full speed ( which is a bit crap for a spectrum emu) - it does remember these settings!
But once you have it set up its much easier to work with than anything else I've found.
Controls are managed by pressing select and bringing up the virtual keyboard. You can toggle between the different joysticks or map keys by highlighting a key on the virtual keyboard, pressing start so the cursor flashes, then hitting the button you want to map the key to.
I think speccy could be persuaded to work and looks like a great emulator - but I just can't get my head around all the menus.