SharpKeys 3.9.3

SharpKeys is a Registry hack that is used to make certain keys on a keyboard act like other keys. For example, if you accidentally hit Caps Lock often, you could use this utility to map Caps Lock to a Shift key or even turn it off completely. This official release includes support for up to 104 mappings, an extensive list of available keys, and a “Type Key” option to help when managing mappings. As it relies on internal support within Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8, Windows 10, or Windows 11 you must be running one of these OS’s for this Registry hack to work.

With the release of version 3.9.3, I’ve embarrassed to say that this is “now with more support for high contrast” but that’s pretty much what it’s for. Didn’t realize that through the different builds of Windows and Visual Studio that I was using custom colors rather than their “use the same color button uses” which gives you automatic support for HC. Also added a couple of new labels for buttons on a Japanese keyboard, thanks to GitHub feedback.

As always, I encourage anyone interested in working on the code to visit for more project updates.

Download SharpKeys 3.9.3: MSI | ZIP | requires .NET Framework 4.0

27 thoughts on “SharpKeys 3.9.3”

  1. Thanks for a great app but can’t get the changed keys to work with directx 12 games. Is that a known issue?

    1. It’s not just DirectX 12 games: some games will bypass the Windows input stream, which means that Windows can’t remap the key. Something like Microsoft’s PowerToys may be able to help.

  2. Unable to detect keypress of “Fn” at Lenovo external K5819 keyboard. I wish to map it to Ctrl, anyway to do that? Thanks.

    1. Per the FAQ, Fn keys are not always sent to Windows so Windows cannot remap it. Please give PowerToys or AutoHotKeys a try.

  3. I’ve been relying on this wonderful app for years and years – and it lets me use ScrollLock on my old IBM keyboard that has no Windows key. Thank you!

    One request: Every time I set it up, I can’t figure out exactly what “Map this key to that key” means, and I always get it backwards the first time. Could you clarify it by changing the text to something like:

    Set the key selected on the left so that it performs the action of the key selected on the right?

    It you don’t have “map this key to that key” firmly understood in your mind (and I still can’t get it after all these years), that would be enormously helpful. Thank you!

  4. Hey, was wondering how come there is no support for the Page Down key. Sharpkeys recognizes it then says E0_51 is not supported. Was wondering why and if there was anyway i could remap it manually

    1. I just tried it on my keyboard and it said the same E0_51 with “Special: PgDn” – what are you seeing exactly as to why it’s not supported?

      1. I guess I was running into a 1-time bug, when I was trying to rebind pgdn the program would recognize it but it would not show up in the list on the left. It then would say that the key was not supported. I reopened it today and it works fine. Thank you for this app so much, makes my Thinkpad usable for a programmer.

  5. when i press key F1 to F12 the is same code : 00_100
    Then when i press OK. the error is “You’ve entered a key that SharpKeys doesn’t know about.”

    I want to change the default press on my hp product to basic f1-f12 :(

  6. I’ve remapped my number pad keys to be function keys instead e.g. Numpad 1 -> F1

    It would be great though if I could have that remapping happen only when NumLock is off, so I can still use the numpad to type numbers occasionally

  7. Hello! Great software, thanks. Old HP Elitebook 840 G5 has some stupid keys in right upper corner. Two of them recognized by SK when you press it and one no reaction at all. It will be good to add those keys in SK. I can provide all info, how can I contact with you?

  8. >> Two of them recognized by SK when you press it and one no reaction at all.
    I mean two recognized with key code, but not supported by SK, and the last one did not have a key code, no any reaction from SK on pressing it.

  9. OK. First key is (E0_1F65) HangPhone button and (E0_1F6D) Scren button on HP Elitebook 850 G5. SharpKeys doesn’t know about.

    1. Ah, these have come up before: these are triple-byte keys so there is nothing SharpKeys (or the Windows remapping tech it exposes) can do for them. HP software may allow for remapping or you might want to give AutoHotKeys or Microsoft PowerToys a try.

  10. Randy, neat app, although it did not work for me. I’m trying a new computer and Lenovo switched positions of the Crtl and Fn keys. After 30 yrs of keyboards, I just can’t retrain my hand position for shortcuts like Ctlr-C, Ctrl-V, etc. Lenovo is insane.

    Anyhow, in trying to make this work, I was trying both SharpKeys and PowerToys. After finding it did not work, I cleared all the reassignments in SharpKeys and wrote that to the registry, and rebooted. For grins, I tried PowerToys once again and was surprised to see that it still saw your remapping of Ctrl to Fn. I “fixed” this by using SharpKeys to write Fn to Fn, so now PowerToys sees things as it was originally.

    1) Do you have a bug? 2) Am I misunderstanding that the way to clear SharpKey key reassignment is to write no reassignments and then reboot? Thanks.

    1. Fn is a tricky key because its often hardware based or at least it doesn’t get all the way to Windows to remap it. The good news is that Lenovo should – or used to – offer this swap in their BIOS/UEFI. I have an older ThinkPad that I flipped these two keys around once I got a Surface, as they go Ctrl-Fn-Win-Alt whereas Lenovo (and Toshiba) go Fn-Ctrl-Win-Alt.

      If you cleared everything and saved it out to the Registry, there shouldn’t have been any SharpKeys mappings left. Since PowerToys may have mapped it by the SharpKey’s setting (I don’t know who would win the race if they are both active) maybe it kept that active somehow? I’ve no idea, but SharpKeys is pretty straight forward in its delete all mapping/save functionality: one line delete straight to the Registry.

      That said, if there is a bug, it would be on the GitHub.

  11. Hey, thank you for putting in the work for this amazing tool. Is there any chance you have dealt with or worked on the Zmerc/Merc/Steelseries of keyboards with their dedicated gaming keys? Various Windows 10 updates have broken drivers for this venerated keyboard over the years and old methods of side loading drivers or creating unsigned drivers no longer work. When I attempted to bind the dedicated keys on my keyboard with Sharpkeys they come up as being unrecognized code 00_100. Any chance they can get added to the bindable keys list?

  12. I LOVE this app, My cat lays on the pc desk when im on the pc and she ALWAYS puts her head on the end of my keyboard where the number keys are, theres also an enter key and a delete key and trust me, she has made my pc do things I didn’t know it could do by pressing keys. I disabled all the keys on the number pad since I have never once used it in 30+ years of using a pc, just never had a need to I like the main keys better. I play a ton of games on steam and so far I have not run into any issues on any game, like I said i never use them keys so probably wouldn’t notice if it did something anyway. Thanks for this app, I am disabled and don’t have much money but if I did I would sure donate some, thanks also for making it free for poor low income folks like me, hopefully others can donate so you can make a little money for your time and effort in this app. I also use KeyFreeze so when im not at my pc it locks out the entire keyboard and my mouse because she has deleted icons to the bin and rearranged folders and one time years ago when I got back to my pc it said, are you sure you want to deleted windows and all its contents, how in the world she did that beats me but KeyFreeze solved all those issues and you solved the rest of them. Thanks man, Good Job

  13. Hi, I have a laptop with defected DEL key. So I would like to use this app to map ALT GR + Backspace combination to DELELTE. E0_53 right?
    The Type key recognized the ALT GR + Backspace combo as E0_1F0E but I cannot choose this as I got the following messege:
    “You’ve entered a key that SharpKeys doesn’t know about. Please check SharpKeys website for an update release.”
    Is it possible to add this special key combination to the next release? Or any other ideas or other application suggestion? Thank you for your help!
    Kind regards,

    1. No way that SharpKeys can help with this for two reasons: one is that AltGr is a triple-byte code that the tech SharpKeys is using in Windows does not support. Two is that modifier keys are not supported by it either.

      Try Microsoft’s PowerToys or AutoHotKeys: both have active remappers that should have better luck.

  14. Hi Randy!
    Could you please consider adding a feature to SharpKeys that recognizes all plugged keyboards as different inputs? I have an Ergomedia 500 which looks like Keyb6 in HID Macros, and my standard keyboard is Keyb4. The Ergomedia would be a nice addition if I could use all its keys, but it has Alt and Tab for example and in the heat of a game or a stream a thing I don’t want is an unwanted task switch :D
    Have a nice day,

  15. i used sharpkey to remap my numpad – key to my windows key since this keyboard doesnt have one. but now i need the numpad – key for a game i play. i tried using sharpkey to change it back but now it does both the windows and the – key

  16. i figured out what i did wrong, the first thing i tried wouldve worked but i didnt click the write to registry button. thank you so much for this app.

Leave a Reply to Randy Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.