I've used (you need an account to see links) for keyboard remapping in the past. It has a trial period, and I think that it still maintains limited functionality once that trial expires. It has a fairly comprehensive suite of options for hotkey and keystroke modification.