Welcome to SharpKeys
"This Sharp-naming thing is getting out of control" [RandyRants.com]

This is something that I've thrown together to help people out with their keyboard mappings. What's a keyboard mapping? How many times a day do you accidentally hit cAPS lOCK BY MISTAKE AND END UP HAVING TO GO BAck and retype stuff? For me it was at least once an hour - in fact, I used to pop off the Caps Lock key so I wouldn't hit it anymore, but I found something better in Windows XP, as well as 2000, Server 2003, and Vista. There's a little used registry hack that allows you to remap keys across a keyboard. For me, this meant that I told my computer to treat Caps Lock as if it was a shift key, which it now does.

The more I started working with other keyboard, the more I wanted to have this ability to map other keys across my keyboard, but working with the Hex numbers and having too look up scan codes could be painful... hence SharpKeys.

Product Features
  • Map up to 104 different keys to other key or disable them altogether
  • Use your keyboard to select keys to map or select from an exhaustive list of supported keys
  • No drivers are every loaded as it's a part of Windows
  • Includes options for extended keys including Windows, Application, Internet keys and more


Getting Started
  • Launch SharpKeys, by selecting it's icon from the Start menu. If there are any errors reported, please check the Troubleshooting section below
  • Add a new key mapping or edit an existing one
  • Click "Write to registry" and wait for a confirmation that the registry was successfully updated
  • Close SharpKeys and either log out (and back in) or reboot to enforce the new mappings


Troubleshooting
  1. Q: I tried to run your application, but I'm getting a huge message box, with an error that tells me it can't find some DLL files. What's wrong?
    Q: I installed SharpKeys on my computer and when I start the program up it says it can't find MSCOREE.DLL.

    A: Your PC doesn't have the 2.0 version of the .NET Framework installed on it yet! You can get this from the Windows Update website for Windows 2000, Windows XP (Professional or Home), Windows Server 2003, or Windows Vista.

  2. Q: When I run SharpKeys 2.1.1 using Vista, I'm prompted to give SharpKeys Administrator permissions - why?
    A: The registry key that SharpKeys is setting for you is located a newly protected part of the Registry; the only way that SharpKeys can edit that key is to be given Administrator rights temporarily.

  3. Q: When I run SharpKeys 2.1, 2.0 or 1.x using Vista, I get an error when I clieck the "Write to Registry" - why?
    A: This is expected behavior for these releases; either run SharpKeys as an Administrator or download the latest version of Sharpkeys (2.1.1 or higher).

  4. Q: I did what you said and none of my keys are remapped? By the way I'm running an older version of Windows...

    A: Sorry, but this particular registry hack required Windows 2000, Windows XP, Windows Server 2003, or Windows Vista to run.

  5. Q: I AM running the right version of windows but a particular key is still not mapped!

    A: Frankly, I tried to get every know scan code that I could find, but some may not be correct OR your particular keyboard is doing something weird. For example, I could make my Right Ctrl key be a Left Windows key but I couldn't make the mute button be a Windows key.

  6. Q: What are all these F-Lock keys?

    A: Many of the newer keyboard on the market have dual functions for their F-keys that are toggled by an F-Lock key. Unlike the Caps Lock or Num Lock keys, the F-Lock key cannot be turned on by default - it requires someone to press it before it's turned on. By default, when a computer boots, instead of the Function keys being F1 through F12, they have a completely different function: Help, Print, Save, etc. Once F-Lock is turned on, these keys behave like function keys, F1 to F12. What SharpKeys will allow you to do is map the default nature of the key to a standard fucntion key. For example, if you want the F5 to act like F5 when F-Lock is OFF, map F-Lock: Open to F5. If you map all of your F-Lock keys to their F-key counterparts, the computer will start with all of the Functions keys active.

  7. Q: I've got an Office keyboard - can I remap the function keys to be F1-F12?

    A: Yes! Use the F-Lock keys for your functions and map them to the correct F1-F12 keys.

  8. Q: What's all this stuff about "scan codes"?

    A: Whenever you press a key on your keyboard, it sends a binary code to the keyboard controller in you PC. That code is passed on into Windows (in most cases) and Windows interprets it as "they pressed code 0x3A so that's Caps Lock - turn that on!" What modern versions of Windows also does is it checks a registry key when the machine boots. What that registry key does is tell windows "even though they pressed 0x3A, treat it as 0x2A" (which is left shift). What SharpKeys does is edits this registry key using a simple UI and sidestepping the registry editor.

  9. Q: What is an "Unknown" key?

    A: There's no way I could get a lab of keyboards to test, especially when almost every modern keyboard comes with extra keys or language specific keys - some companies are even making keyboards with special buttons for their own software or product line up. Consequently, when you use Type Key and it hit a key that SharpKeys may not know about, it can still be mapped, even if the label says unknown. If there's a key that you have on your keyboard that is listed as Unknown but you have a used for it, email me and I'll see about adding a better label for it.

  10. Q: Neat little utility - how much is it?

    A: It's free.

  11. Q: What happens if I use your utility and I add a bunch of key mapping and I can't use my computer anymore?

    A: Well, more or less, you're screwed. I've tested this application a good deal, but there's always an element of risk when modifying the registry, especially when it's done with a non-standard utility. I would think you could get into Safe Mode and remove the Scancode Map registry key, but you'll be on your own. Having said this, please be careful and you're using SharpKeys at your own risk!

  12. Q: I used Type Key to map a key and it's telling me a) key is disabled or b) Key is not supported - why?

    A: One of two things can cause this message. First is that you are trying to make a key that you've already told to be disabled. If you disabled your Caps Lock key and rebooted, it's now disabled - you have to unmap and reboot again, before you can remap it. A similar situation would happen if you try to map an already remapped key; Window will report the "wrong" value for Type Key. If you're told it's "unsupport" or not found, then odds are you are on a non-US keyboard and the key cannot be found in the list of keys that are currently supported - please email us the key and code in question and we'll add it to the list!

  13. Q: Can I remap a combination of keys to one key?

    A: Sadly, no. SharpKeys only remaps whole keys rather than a modified key. For example, you can remap Ctrl or C but you can't remap Ctrl+C to another key.

  14. Q: Can I remap a mouse click to a new key?

    A: Sorry, but no. The remapping technology that Windows uses to remap your keys isn't aware of your mouse.

  15. Q: Why can't I remap my Fn key on my [notebook or Apple] keyboard?

    A: Some keys simply just never get to Windows. In the case of most Fn keys, they are interpretted by the hardware and never get passed onto the OS, no matter how they appear to work... if Windows doesn't see the key, there's no way for the key to be remapped by Windows.

Donation Information
This application started as Donation-ware but has since moved to an open source project. That said, donations are alway welcome! Visit my donation page at http://www.randyrants.com/sharpkeys.
Support Information
Should you encounter any problems that are not addressed by this FAQ, please file a bug at http://www.github.com/randyrants/sharpkeys. As this is now open source, support requests will be answered as quickly as the community moves to fix it.

Version History
Most recent:
    3.9.3 - 11-Oct-2021/3.9.3.0
  • Updated UI controls to support high contrast better.
  • Added labels for two keys on Japanese keyboards (Henkan and Muhenkan.)

    3.9.2 - 17-Jul-2020/3.9.2.0
  • Incorporated changes from GitHub repository
  • Added a bunch of new scancodes that some people think do something - having them in the list makes them mappable.

    3.9.1 - 2019/3.9.1.0
  • Incorporated changes from GitHub repository
  • I honestly have no idea because I never released it!

    3.9 - 8-Jan-2019/3.9.0.0
  • Incorporated changes from GitHub repository
  • Removes all reference to triple-byte keys as they are not supported by Windows remapping (including HP and Lenovo hardware buttons)

    3.8 - 30-Oct-2018/3.8.0.0
  • Incorporated changes from GitHub repository
  • Adds support for some HP and Lenovo hardware buttons
  • Adds support for high DPI displays

    3.7 - 26-Dec-2018/3.7.0.0
  • Incorporated changes from GitHub repository
  • Added support to save and load lists of remapped keys to a binary file
  • Added support for Alt+Gr

    3.6 - 4-Dec-2017/3.6.0.0
  • Incorporated changes from GitHub repository

    3.5 - 28-Dec-2011/3.5.0.0
  • Upgraded to support .NET 4.0

    3.0 - 15-Dec-2008/3.0.0.0
  • Registered source code with CodePlex

    2.1.1 - 08-Jul-2006/2.1.1.0
  • Bug fix for Vista: you no longer have to run it as an Administrator

    2.1 - 19-Apr-2006/2.1.0.0
  • Bug fix for the "Type a Key" forms

    2.0 - 26-Mar-2006/2.0.0.0
  • New UI and support for the 2.0 release of the .NET Framework

    1.1 - 8-Mar-2004/1.1.0.0
  • Minor updates and version number bump

    1.1 Beta 3 - 16-Feb-2004/1.0.3.0
  • Added keys for F13, F14, and F15
  • Added over 25 new "Unknown" keys

    1.1 Beta 2 - 13-Feb-2004/1.0.2.0
  • Removed the install enhancement to improve start up times

    1.1 Beta 1 - 12-Feb-2004/1.0.1.0
  • Added 5 new keys
  • Installation enhancement to improve start up times

    1.0 - 10-Feb-2004/1.0.0.0
  • Added Euro Key
  • Couple of bug fixes

    1.0 Beta 4/Release Candidate 2 - 3-Feb-2004/0.9.4.0
  • Added Type Key dialog for the Add/Edit mapping form
  • Added Fn support (same code as "wake)

    1.0 Beta 3/Release Candidate 1 - 31-Jan-2004/0.9.3.0
  • Switched combo boxes to list boxes (easier to use)
  • Added context menu for the list of keys

    1.0 Beta 2 - 30-Jan-2004/0.9.2.0
  • Upped the mapping limit to 104
  • Added support for the Office and Natural keyboards
  • Added support for PrtSc

    1.0 Beta 1 - 27-Jan-2004/0.9.1.0
  • Initial Release


Thanks for the interest in SharpKeys!