Sharpkeys worked just fine for me, see my windows 8.1 - mapping 1 key on keyboard to anotherwindows 8.1 - mapping 1 key on keyboard to another.
I was trying to assign shift to a particular key on my keyboard. MS Keyboard Layout Creator did not allow me to specify 'shift' as the replacement mapping (or I couldn't figure it out). Sharpkeys did just fine, on Windows 8.1 on an ASUS gaming laptop.
I wonder if what happens is that some manufacturer's keyboard drivers don't play well with Sharpkeys under 8.1, rather than a blanket Sharpkeys does not work.