SharpKeys 3.8

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.8, I’ve recompiled the most recent code that has been posted to the GitHub project. This version includes some bug fixes, “theoretical” support some hardware keys from HP and Lenovo, and support for high DPI displays.

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

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

27 thoughts on “SharpKeys 3.8”

  1. How do you add a new app to the ‘To Key’ list. I really want to map F12 to open the Snipping Tool.

    1. Windows remapping doesn’t work like that. You can assign a shortcut key on the shortcut for your app’s icon, by right clicking the shortcut and looking at Properties.

  2. Hi, I apreciated you added the HP keys to Sharpkey, but then got disappointed, because they do not work. Likely because they are 3-bytes long (for example the “hang up” key is E0_1F65) and the Scancode map in windows registry accepts only 2-bytes long scancodes. So it stores just 65 E0 to he registry. Also if I rerun the Sharpkeys, the source code displayes changed to E0_65. Or am I missing something? Thanks on any comment.

    1. I have no idea. You’ll find that throughout the history of this tool, I maintained two strong principles: no support for triple byte enabled keys and no support for hardware I don’t own. Since moving the source to GitHub, contributors have assured me of two things: that triple byte keys are now working and have been tested, and that contributors tested the HP keys on hardware before submitting their pull requests.

      Please post this to the GitHub project page and send a message to the people that added the code as I’ve only merged their changes on the assurance that their code worked.

  3. Trying to remap the Windows key (which on my new keyboard is only on the right) to anything on the left side of the keyboard (new keyboard has no left Windows key). My purpose is to be able to do Windows-function commands with my left hand (like Windows-D for show desktop).

    However, no matter which left-side key I choose using Sharp Keys, it never functions as the Windows key.

    When I run Sharpkeys and do “type key” for the Windows key, it recognizes it as “Left Windows Key E0 5B.” I then select any key on the left side (Like CapsLock 00_3A). After logging out and back in, the Windows key no longer works but neither does CapsLock. I’ve tried several other keys on left side, and none will work as the Windows Key.

    Any suggestions? Regardless, thanks for making a great tool.

    1. In regards to my question above, I figured it out. I re-mapped Left Alt (00_38) to Left Windows (E0_5B). Now my Left Alt key functions as a Windows key. All is well, and thanks again for making a great tool!

  4. Hi! Thanks for your app!

    Can anyone tell how to restore to defaults? Remapped left alt to left ctrl, and don’t know how to undone that. Now they detects as two left controls even after erasing this combination from SharpKeys.
    (Just wanted to use left alt in Cmd position, like Ctrl + W, + S, +Z and others.)
    Tank you

  5. Hi Randy

    Trying to establish if Sharpkeys made any changes to my PC when I ran it.

    I installed version 3.8 however it wasn’t useful for me as I wanted to change $ symbol on Australian laptop keyboard to GBP symbol, which didn’t show up in the list of keys I could change to (although yen and euro symbols did).

    Thus I wanted to uninstall the program however it doesn’t show up under Add/Remove programs. I’d “installed” via the executable from the zip file, which I now understand to be an “installer-less package which is handy for thumb drives”, which I suppose is why I can’t see it under Add/Remove Programs.

    As I didn’t make any edits to keys using the program, I’m guessing there were no changes made to my PC? I can’t see any key under Registry at HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map. Just trying to keep things clean and tidy and remove anything which might have been installed.



  6. I have an Apple USB keyboard. All Apple specific keys produce (00_100) or nothing, so this tool is only partially usable for me.

  7. I have an IBM M 122-key with 24 PF keys. Using AS/400 terminal emulation, which needs all 24 function keys. I know can press Shift+PFnn but would prefer to directly press keys PF13-24 . Can SharpKeys help?

  8. Hi and thanks for this amazing tool.

    I have a Logitech K27 wireless keyboard that has an accessory key that launches the calculator app in Win 10. I would like to remap this key to something useful like F12. When I use the add key/type key function it returns a value of (00_100). Clicking on OK returns a message that says ive entered a key that SharpKeys does not understand.
    Is there a possible remedy for this? I also have a Bluetooth number pad that I am using and it has the same key which returns the same (error) message. I am assuming that both the Logitech and the Bluetooth number pad devices send the same data because both launch the calculator when pressed. Again, thanks for this very useful tool. I do genuinely appreciate it.

    1. If scan code 00_100 is being returned, it’s because that’s what the keyboard is sending to Windows. It could be the key is getting processed in hardware or that the driver isn’t passing the key along but either way, there’s nothing much SharpKeys can do for this.

  9. Can we join two keys together I want to assign a button on a numeric external keypad to type =A or =B – on one keystroke.
    I want this as = works to seize contents of a cell – in Excel.

    eg =A23 would paste the contents of a cell A23 into the cell I am in.

    At the moment I have remapped a numeric keypad’s / * – ( forward slash star and and – key) to A B D but in order to do the = sign I changed the plus key to = and it works. Until I change the buttons on the numeric keypad to A B D I have to think when using.

    However it is clumsy and slow, as I have to press two buttons instead of 1 before even typing the cell number.

    So the command I would like for the current button A would actually require to be =A and
    therefore also =B and =D { cell number] where cell number could be 23

    So I would press button A then 23 (enter).


    1. SharpKeys only remaps an entire key to another key. What you’re asking for is well outside of what Windows remapping can do; you might want to look at something like AutoHotKeys. HTH!

  10. Love Sharpkeys :)
    Was wondering if you are planning to allow keys from different languages to be changed, like: üäö

    kind regards


    1. If they are their own keys with their own scan codes, they can be added: I recommend posting it to the GitHub site, where there are people actively working on the project.

  11. Can SharpKeys remap the Ctrl, Windows, and Alt keys to mimic the Mac layout? For example, put the Ctrl key where the Alt key is, and vice verse?

  12. This is perfect, thanks man. Have been looking to remap the command key on apple keyboard to ctrl when using with windows.
    Perfect solution

  13. I use Windows as a virtual machine on my MacBook Pro with Vim as my preferred text editor. Vim essentially requires Right-Ctrl for efficient typing but the MacBook Pro keyboard lacks that key. With your app I successfully remapped Right-Command (= Right-Windows) key to Right-Option (= Right-Alt) and Right-Option to Right-Ctrl. I also switched Left-Command (= Left-Windows) key with Left-Option (= Left-Alt) key for even faster typing.

    You saved my day. Thanks for that.

  14. I remapped both tab and scroll lock to caps lock with Sharpkeys. I meant to remap them to tab, but I screwed up. How do I fix this mess?

    1. Remove all of the remappings, save, reboot. Then, remap the Scroll locks key to Tab and the Caps Lock key to Tab, save, reboot.

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.