SharpKeys 3.9

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, or Windows 10 you must be running one of these OS’s for this Registry hack to work.

With the release of version 3.9, I’ve recompiled the most recent code that has been posted to the GitHub project. This version includes some bug fixes and removes support for triple-byte keys that Windows doesn’t support (including hardware keys from HP and Lenovo.)

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

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

90 thoughts on “SharpKeys 3.9”

  1. 3.9 is being marked by Windows as an unknown app from an unknown publisher and you have to click through SmartScreen to run the MSI

    1. I’m not sure I get the question. If you install the MSI, it installs like most Windows apps and can be uninstalled from the Add/Remove Programs screen. If you download the ZIP file, you can copy the EXE that’s in it to your hard drive or thumb drive and just run that. In that case there is no uninstall because there is no install performed.

      1. Thanks for the fast reply! I downloaded the zip file and I ran the executable file. Thanks for confirming that the .exe file runs directly without installing itself.

        The app worked well.

      2. Does it matter for the functionality wether I use the MSI or the ZIP?

        Or is the installation procedure the only difference?
        (Installing using ZIP seems more easy so I wonder what the added value of MSI would be.)

  2. Hi. I just tried using this to remap my non functioning tab key to the “tilde key.” it told me it was successfully done and I restarted. Tab function apparently is not changed, at least in Office software. When I hit “tilde” instead of tabbing, I just insert a tilde character. I am running Windows 10 which was upgraded from Windows 7.

    1. Sorry – no idea what the tilde key is as my keyboard has the tilde as SHIFT+` and the whole key has to be remapped. Meaning if you remapped ` ~ to Tab, you would still need to hold down SHIFT to get to the ~.

      If nothing got remapped, recommend that you double check that you’ve rebooted after saving the changes.

  3. Hello! I have a problem: I can’t set the Alt gr button, as soon as I leave the program I replace it with the Alt Right button. I have a 60% keyboard, how can I solve it?

    Thanks so much in advise, sorry for the bad english.

  4. Mapping Num Lock key

    Seems there is some trouble with the “Type Key” feature, even I found workaround.
    I needed to map the Num Lock key of my laptop (to permanently disable it).
    When using the “Type Key” and hitting the Num Lock key, I received code “Special € (E0_45)”.
    Mapping this key would have no effect at all on Num Lock.
    I used instead the “Special Num Lock (00_45)” from the sharpkeys list and then it worked.

  5. I have the keys:
    (not recognized)
    on my HP laptop.

    Sharp Keys is the only programm that does anything at all if these keys are pressed, but it tells me
    “You entered a key that SharpKeys doesn’t know about”
    is there a way for me to extend the programm on my own by the named keys?
    It would be so nice if you could answer. Tested about 10 programmes now and Sharp Keys was the only one… even the HP business support could not help me…

    Thanks in advance

    1. Sorry, SharpKeys cannot help. These keys are triple-byte enabled meaning that they send three bytes per keypress whereas the rest of a keyboard sends two bytes. The Registry key that Windows uses to remap keys only supposed double-byte enabled keys, so even with SharpKeys picking up the correct code on Type Key, there’s no way for it to get remapped correctly.

      AutoHotKeys would be a good thing to explore as that is an active key remapper.

    2. Hi, I have HP laptop with (E0_1F65) too. Please add support this button to program. Thanks.

      Or may be case manual edit REG for add random keys mapping?

        1. Bummer. I had the same question. HP is such a pain that they totally removed the “Insert” key from the keyboard and replaced it with a hang up and pick up key instead. It would be so convenient to map the hangup key to the old insert key.

  6. how do i use this im using a new wireless keyboard on windows 10,

    it does have a key labelled \|

    but when you press it it only shows ¬ and ~

    so how do i remap

    tried your keyboard but not sure how it could do that

  7. Thank you for sharpkeys. I am use it to avoid the unwanted use of Caps Lock.

    Yet I bought a new keyboard with a key to use the calculator.

    But I don´t like the windows calc, in truth I hate him, the windows calc.

    So I want to use another calc to replace the original. And I want to use the special key “calc” on the keyboard, sharp keys shows the key with the name (00_100). But on the right side from the dialog box “Add new key mapping” I can only choose “App: Calculator (E0_21)” but not another program.

    My question is: Is it possible to change the key to start another program (for example an other calculator)?

    Thank you so much.

    Carsten Höhmann

  8. Randy, thanks for the great app.
    I changed some mapping on my key board, app worked great. BUT somehow I messed up.
    “U” is “U” function on the proper key, but it also shows up on the “V” key and the CONTROL V key; no “V” around. I tried remapping from one to the other and vice versa, the “V” key still types “U”; this is the case in Windows, not Mac. I am in Mac right now. I don’t know how to fix this. Please help.
    Thank you.

    1. I’m not sure what you’re trying to do, but SharpKeys remaps the entire key. So if move V it will be V at all times, even with Control, Command, or Option pressed (Control, Windows, or Alt for Windows hardware).

      1. Thanks, for the response. I changed the key that was (00_2F) to U(00_16) I want to change it back to the original key. I tried “From (00_2f) to U(00_16; is this right? I also tried “From (00_16 to (00_2F). Still didn’t work. I must being doing it wrong I guess.

        1. If you want to change it back, I would remove the entry in SharpKeys, save the settings to the Registry and reboot. I have no idea what would happen if you added a second mapping to restore the functionality changed by the first mapping.

  9. Hey! Loving this program. I’m using an old mechanical keyboard w/o media keys, and Sharpkeys has been a great help.
    2 Questions:
    1) On two different pcs with two different keyboards, I couldn’t get Pause/Break [Special: Num Lock (00_45)] to work. When I ‘type a key’ it’s recognized, but it doesn’t do the thing I mapped it to do.
    2) Is there a way to have the registry edits only affect one user? The other user dislike my edits…. we’re on Windows 10.

  10. A key on my notebook broke and I had to disable it because it randomly toggle on and off. Is there a way so that the changes doesn’t affect external USB keyboards?

  11. Not having a mute key was driving me crazy. Thank you so much! Thought I was just going to have to listen to spotify ads for the next 5 years.

  12. Hello Randy,

    I was referred here by Robert at

    I have an OmniKey Ultra (with the actual OMNI key).

    Windows doesn’t seem to see this key (at least with a couple key scanners I used so far).

    I think maybe the BIOS sees is but Windows simply ignores it.

    Does your app bypass what Windows can do and see that key?

    1. There’s nothing that my tech will be able to do for this – my app leverages the remapping tech that’s a part of Windows so if it’s already being ignored by Windows, it won’t get remapped. Might want to check another app like AutoHotKeys.

  13. Hello! You did great job with the application. I am working in a company which prefer to use MacBooks but people can’t work on MacOS, so we deployed Windows 10 via BootCamp. The laptops are connected to docks and we are using Apple keyboards and Left Alt and Win key are switched. Sadly we cannot install your application because of the Software Center. Is there a way to provide me a registry key, so I can pass it to IT team and make them add it to Regedit?

    1. Thanks! After you write out the keys you want remapped to the Registry, you can always grab a copy, export it out using regedit, and get a self contained REG file from the whole process. I still keep a REG file that turns off Caps Lock because I always turn it off and sometimes don’t have SharpKeys installed yet. You can also build your own, following the information here:

      1. Thank you! You helped me a lot! I couldn’t find the location of the key/value. Now IT team is really excited to work with those regs.

  14. Just to let you know, I have done some marketing for you. HP Support forum has some troubles right now, but yeah, its HP. Completely clueless, as always :)


    Date: 01-20-2018 09:42 AM

    Hey Folks.

    I successfully reclaimed my home button. This works for me on a OMEN by HP Sequencer Keyboard (CH layout, but should work for all layouts, as HOME is always a special key).

    It is in fact a simple registry key.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout]
    “Scancode Map”=hex:00,00,00,00,00,00,00,00,02,00,00,00,47,e0,76,00,00,00,00,00

    you can save the above 3 lines as a .reg file. You can import this file into your registry as admin. Re-login required, or reboot.

    Or you can use the nice little tool here:

    Enjoy :D

    Btw: @HP wafaduck do you do the whole day guys? It took my 30 minutes to figure that out, including writing this post.

  15. just a comment : Caps Lock for Clipboard History

    Mostly all we hate the CapsLock key.
    So I use it to open the Clipboard History from Outertech.
    I was always upset, that windows Clipboard has only one item.
    I think most people need more that one text item in Clipboard.

    I will use SharpKey on my MacBookAir with BootCamp Win10 to change the Cmd and Alt keys.
    These Mac key locations are different from the windows location and it makes me go crazy when I’m typing.

    Thanks. Great app.

  16. I am a newbie to games with weapons and fighting. I am also left handed so I use the number pad for my movements. You are as close as I have come to getting help. I have questions: First: I want to not use the down arrow to move but the 5 key would work easier with finger placement. What is the title of the key to switch from the 2 down arrow key to the 5– key? Second: My 3 pgdn key had a crouch on it initially; I, of course, have messed with the keys trying to get them to do my will! I tried to move the 3 pgdn key to the 0 Ins key. This one did not work either as I think it is the numlocks button either being on or off that creates the complexity. Three: I just have dinked up keys until I get the right combination which I am hoping you can assist me with???? It is Window 10 a masione keyboard with the number pad. I am all ears because my team is waiting for me to learn to move readily!

  17. Awesome! Thanks… the Mac/Windows ctrl + cmd/windows buttons were driving me crazy. This saved me from digitally punching Cortana in the face every time I tried to copy, paste or cut something! :D

  18. I am unsure what you are responding too but I am still in the hopes that Randy will respond. I need the basic layout of function, numberpad, F keys basically the entire layout of the entire long keyboard and their Titles! Is there a default key if it goes wonky?

    1. What are the arrow keys called on numpad? If I have numpad turned off and want to switch keys ex. The down arrow 2 key to the 5 _ key… Is there specific names? There really isn’t an arrow key to reflect which key nor a _ key in your sharpkey list…

  19. Wow thank you, this is lifesaving! My computer has been through several reinstalls, device reinstalls, and “repair” at 2 shops with a randomly “stuck” Ctrl key – without being a physical keyboard issue, as the same problem appeared with a USB keyboard. Nothing and nobody could fix the issue. After downloading your software I just disabled the offending key and BINGO! This has cost me so many hours and nerves. Now I will just remap to have a working Ctrl key and can continue using my laptop! How can I buy you a coffee?

  20. Hi Randy,
    I want to map “period” key to “Right ALT” key. I mapped and wrote it to the registry , rebooted my laptop but it did not work. Tried to do the same with “period” to “Right CTRL” key and it didn’t work. My “period” key isnt working on my laptop so I use an external bluetooth keyboard, to my surprise after mapping “period” key on my external keyboard stopped working as well.

    1. If I had to guess, you have the mappings backwards. You want the Right Alt key to *become* the period key, so Right Alt to Period, is what you’d want to do.

  21. Thank you SO MUCH!
    I have a Dell Precision M6800 with a Calc key where the Good Lord intended for the Del key to be…
    This is the only and easiest utility I’ve found that works!
    Telling all my tribe!

  22. Anyone know why sharp key changes i make don’t work the same in my browser than in a word app ? For example, i turn off a key and if i am in say notepad, it does nothing if i hit it as it shouldn’t since i turned it off in Sharp keys. But type anything in the browser be it in the URL/address field of in a reply like this one and the keys is active. Why is that and how can i make what i program in SK work the same no matter what i am typing in?

    1. Sorry, no: the whole key is remapped for the entire system – the remapping is done by Windows and it’s not application aware.

  23. 5 _ key with numpad off to the 2 down arrow key … I do not see a downarrow key nor a _ underscore key in the list of choices to switch… Any ideas??? I haven’t gotten an answer in 2 months.

  24. Can I please get a response to my inquiry? 2 months and I don’t have an answer to making my 5 underscore key with numpad off to the 2 downarrow key with numpad off… Anyone?

    1. Sorry – most of the support has been moved to GitHub so I’m not watching the blog as diligently.

      In so far as I know, the number keypad are sending the same key whether num lock is on or off, meaning that it’s always going to be the same key. It’s why the 2/@ key is different from the Num: 2 key. So you could remap the Num: 5 key to some other key.

      However, you cannot remap it to be “underscore”. You can remap it to the “- _” which means that you’ll still need to use Shift to get to underscore.

  25. I installed using the msi and wanted to change the “0” (zero) key to a delete key. It did not change the key but made the delete key act like a zero “0”. I clear it and all is back to normal.
    Any ideas why it acted in reverse? I actually would like to just change the zero key to delete and leave the delete key as is. Have two delete keys.


    1. Because the mapping was entered backwards? You should be thinking of “what key on the left list do I want to map to on the right list”. It’s why there’s a “Turn off this button” on the right column but not on the left.

    1. Not entirely sure how else to make something more intuitive: it’s remapping from this key to that key, with the lists labeled “From” and “To”. And with the “Turn off” on the right, I think that’s a great telegraph that that’s the landing page. Either way, glad it’s working for you!

  26. please add brightness up and brightness down keys. i am kinda surprised that these keys dont already exist in the program. btw i really love your work, keep it up please

    1. Thanks!

      It’s more than likely they are a non-standard key and very often go directly to the hardware, which means Windows doesn’t have a chance to remap them. My advice would be to add them to the github forum and see if anyone has information on these keys (or other keys like these). HTH!

    2. If they’re dedicated brightness up/down keys, it might be hard or impossible to change. But if they’re combined brightness+Fn key (which is generally the case), the behavior of those keys can usually be changed by a setting in the BIOS. So you can go in the BIOS and change the setting so that they activate the function key by default instead of brightness, which can then be remapped.

  27. Is this a memory-resident program? I’m not a tech whiz but it sounds as if this could just rewrite a portion of the registry to remap keys without sitting in the memory. And if you downloaded to a thumb drive, there wouldn’t be an app on your hard drive. Am I on the right track? I want to swap my ctrl and caps lock keys on my new Lenovo Win10 without taking up RAM. Thanks.

  28. Hi Randy: I am unable to map the keyboard key P (broken key) to `~ .
    I a keying in P via the onscreen keyboard and by the way it maps to other keys without a problem
    Any ideas

    1. The onscreen keyboard doesn’t send keystokes to Windows the same way a physical keyboard does. Remappings will only recognized for physical keyboards.

  29. The context menu “Special: Application” key is missing in my Ideapad 330 Windows 10 notebook.
    So I mapped it to the F10 key. But now F10 functions like the “Alt” key.
    This mapping was successful on a Windows 8 notebook.
    Wondering if there’s anyway to have this function on the keyboard.

    1. Not sure I follow: if you remapped the F10 to Application, then it should work without worry. If it’s behaving like some other random key then it could be that there’s an Fn lock that’s on or not on which is causing the behavior but I’ve never heard of it going sideways like this.

      1. Thanks for the reply.
        I just realized F10 acts like the Alt key in that it “opens Menu Bar in the open application”,
        which means the F10 key won’t remap.
        Same issue with the Break key and “\ |” key.
        I’m using a small external keyboard.
        Keys like L-Alt and R-Ctrl remap to Application correctly, but I wish to keep them.
        So in this case, I guess Shift+F10 is the best option.

        1. F10 will remap if it’s a PC keyboard. I have seen really strange results with some of the “use this BT keyboard of iOS and Android” where Home is not Start, the Esc key does weird things depending on the app, and the Function keys are also doing something odd. TL;DR, not all keyboards are created equal. I have remapped all of the function keys at one point or another (while using a Surface) and I cannot imagine anything special about | \ but it sounds like it’s not working they way it should. Sorry it’s not of more help!

  30. Hey Randy,

    Is there a way to specify what keyboard is changed? I have an external numpad and would like to re-map the keys. For example, Num1 would be F13…

    1. Nope, or at least not as far as Windows is concerned: the remapping Registry Key is set at the “machine level” so there’s no state changes that impact it when switching between keyboards or even users. Once it’s set, it’s set.

  31. I mapped F7 to be my windows key on an addison ergonomic keyboard, now my bottom left CTRL ALT and top DEL are not working. I have to use bottom right CTRL ALT DEL. Any reason for this, how can i undo the changes?

    1. Undoing the change is easy: open SharpKeys, remove all the remappings, and reboot. Why the remapping caused a whole collection of keys to stop working because you’ve remapped a Windows key is… very odd. I mean I remap my Windows keys on some boxes and have never seen this. Could be the Addison keyboard has something funkly in it’s wiring or might have a special driver? Sadly, I haven’t much idea.

  32. I purchased the Havit HV-KB392L keyboard on Amazon. I thought I was getting a keyboard with Gkeys. I got a keyboard with Multimedia keys. If I use Sharpkeys to remap the keys, I get the code of 00_100 for the keys. All 5 keys have the same code. If I try to remap them by choosing the appropriate key in the list in Sharpkeys, it doesn’t work. It will not even let me disable the keys. I have been successful in using a program to determine the numerical codes and it seems they are all on the 170 range. I just can not map them with Sharpkeys. The keyboard did not come with any drivers. Wondering if it’s the firmware? I would like to be able to set the keys up to eventually work with Auto Hot Keys as macros for gaming. Any suggestions on getting this to work will be appreciated.

    1. I cannot say for certain, but it’s likely the firmware of the keyboard. There are a lot of random keys that come in as a generic 00_100 which Windows simply throws away, but that also implies that the hardware has taken action on the keypress before Windows gets it. AutoHotKeys is usually what I recommend when Windows isn’t aware of a key but I can’t help identify what the hardware thinks the keys are.

  33. Is it possible to easily capture & remap keyboard + mouse button combos (for example I don’t have media keys on my keyboard and would like to remap to windows 10 OSD / media control overlay)?

    I really appreciate the simplicity of your hotkey registry keyboard remapper.

    I downloaded to autohotkey software too but didn’t see a simple way to create hotkeys without reading a lot of documentation and manually mapping things out in a script.

    There are other opensource / free tools to automate this like 3RVX & XMouseButtonControl.


  34. Hi Randy,
    I am trying to remember where I can view and add/remove my remapped key. I have an icon on my desktop called My Keys.skl

    Is this from sharpkeys? If so, when I open it windows is asking me to download an app.
    Where else should I be able to find and add to my list of remapped keys? I did a search on my control pannel programs and c: and cannot find it

    1. SKL files are the format SharpKeys uses to save out a collection of remapped keys. I don’t know that double clicking will open it directly but if you open SharpKeys you can load it from within there. HTH!

  35. Hi Randy,

    Thanks for making this available to everyone. I have a question – maybe others have already answered this. Is there a way to apply the keyboard changes dynamically without a reboot?

    There’s a shareware program available – Simple Disable Key – that does so. In fact, not only is it dynamically applied as the key is disabled, but you can choose to disable the key in certain programs as well.

    Ultimately, this is the functionality I would like to have, but I need to have complete control over it without requiring another program installation. I was hoping such control could be had via registry keys.

    1. Sorry but Windows – which is doing the remapping – requires the reboot. At one time signing out/in would work but I think at this point a reboot is required.

      1. Thanks Randy,

        I wonder how the developer of simple disable key has managed it? I’ve been trying to use hooks to capture and prevent the escape key; I’ve been able to detect it but I haven’t been able to stop it.

        I’m trying to work around a particularly nasty bug in MS Access – it “hears” the escape key even when it doesn’t have the focus, so if you have long running queries you have to avoid pressing the escape key. It’s a potentially catastrophic error, but they don’t seem interested in addressing it.

  36. Hi Randy, thanks for creating this. I used is succesfully to turn off the num lock key :-)

    However, I also would like to remap f4 but cant find this key in the SharpKeys app. Currently f4 calls the menu to choose the projection screen (PC screen only / Duplicate / Extend / Second screen only). If I use the “Type Key” button it returns “Special: Left Windows (E0_5B)” which is obviously wrong. (“Type Key” also returns this for f1 and the actual left Windows key.)

    Can you help me find the keycode for my f4? I guess its one of the “Unknown: 0x” codes but I dont know which one…

    PS Just made a small donation.

    1. Thanks for the donation!

      For F4, it’s a well known key and is in the list as Function: F4. It sounds like your keyboard is not sending the correct – or at least expected – scan code when F4 is pressed. Does the keyboard have an Fn key that might be turned on or does your F4 key overlap with your number keypad maybe? Not much more I can offer on this: it’s a well known key and should be sending it’s respective scan code when pressed.

      1. I think there’s a small confusion here because in my bios settings the fn key is permanently turned on. Sorry for not mentioning! I will rewrite the question below assuming in the bios settings the fn key is permanently turned off.

        Rewritten question:
        I would like to remap fn+f4 to f2 but cant find the fn+f4 key in the SharpKeys app. Currently fn+f4 calls the menu to choose the projection screen (PC screen only / Duplicate / Extend / Second screen only, same as win+p). However if I use the “Type Key” button for fn+f4 it returns “Special: Left Windows (E0_5B)” which is obviously wrong.

        Also interesting:
        * The “Type Key” button also returns “Special: Left Windows (E0_5B)” for fn+f1 and the actual left Windows key.
        * If I just proceed with the remapping then all three keys (fn+f4, fn+f1 and left Windows key) are remapped to f2! However (now it gets really weird…), fn+f4 also returns the “p” key after f2. I notice this because when I try to rename a file using fn+f4 (instead of f2) the file name is replaced by a “p” like I would be hitting first f2 and than “p”. Probably this has something to do with fn+f4 originally being mapped to win+p.

  37. I have problem!!!
    I changed function of delete key without replacement. Now I cannot login to win10. Without recovery option. Any idea?

    1. You can try booting to safe mode or you can try signing in with the onscreen keyboard that you can get from the Accessibility menu on a sign in screen. That’s about all you can do, if you’ve locked yourself out.

Leave a 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.