Category Archives: SharpKeys


SharpKeys is now in the Microsoft Store!

Minor update, but one I’m thrilled to share: you can now download and install SharpKeys from the Microsoft Store!

I’ll still make offer the MSI and EXE’s directly from GitHub, this website, or winget, but by having the app in the Microsoft Store will also mean that updates will get pushed directly to your PC, which I kinda dig.

Still a free app to download and use – you can find it here: Microsoft Store.

SharpKeys 3.9.4

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.

Release of version 3.9.4, brings two changes: finally got around to removing the last entry for AltGr (which is a triple-byte scancode and cannot be remapped by this tech) and fixed a bug where the UI would throw an exception when returning from a minimized state, both thanks to GitHub feedback.

As always, I encourage anyone interested in working on the code to visit http://www.github.com/randyrants/sharpkeys for more project updates.

Download SharpKeys 3.9.4: Microsoft Store | MSI | ZIP | requires .NET Framework 4.0

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 http://www.github.com/randyrants/sharpkeys for more project updates.

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

SharpKeys Works with Windows 11

PSA: SharpKeys works on Windows 11 with the current 3.9 version – no updates are required for the new OS.

Works as well as it did on Windows 10. And 8.1, 8, 7, Vista, XP, 2000, NT 4, and NT 3.51 before it!

Additional PSA: if you are looking to modify combo keys (“How do I change Ctrl+Z?”) or hardware keys that Windows cannot recognize (00_100) or “new” keys that are triple-byte enabled (“How do I remap E0_205B?”) please give Windows PowerToys a look. Their remapper is active, meaning there’s a service running that maps keys for you while SharpKeys is simply exposing the key remapping that is built into Windows itself.

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 http://www.github.com/randyrants/sharpkeys for more project changes.

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

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 http://www.github.com/randyrants/sharpkeys for more project changes.

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

SharpKeys 3.7

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.7, I’ve recompiled the most recent code that has been posted to the GitHub project. This version includes some bug fixes, “theoretical” support for triple byte keys and the Alt+GR key, and support for saving/loading the entire list of key mappings to/from a file. This feature has been asked several times but I’ve always directed people to export/import directly from/to the Registry using REG files but since it comes up often enough, I decided to add a couple of buttons to the UX. Save keys writes out the binary data represented by whatever keys are in the list and puts that information into a binary SKL file. This file can then be read back into SharpKeys using the Load keys button and selecting the stored SKL file. Please remember that regardless of how you build your list of key mappings – Add/Edit or Loading an SKL file – you’ll still need to write the changes to the Registry and then either sign in/out or reboot for the changes to take hold.

As always, I encourage anyone interested in working on the code to visit http://www.github.com/randyrants/sharpkeys for more project changes.

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

SharpKeys 3.6

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 move to version 3.6, I’ve recompiled the most recent code that has been posted to the GitHub project. It includes some bug fixes and a couple of text changes; I encourage anyone interested in working on the code to visit http://www.github.com/randyrants/sharpkeys for more project changes.

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

Thanks, CodePlex – Hello, GitHub

Looks like CodePlex is beginning it’s long ride off into the sunset! As part of that, people that have their source code in the TFS instance we being encouraged to migrate their projects to GitHub. It’s a pretty straightforward process and so I’ve been spending some time getting my existing source up there:

SharpKeys, for keyboard remapping: https://github.com/randyrants/sharpkeys

SharpMT, for blog writing: https://github.com/randyrants/sharpmt

Compile and enjoy!

SharpKeys 3.5

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

With the move to version 3.5, the code now compiled against the 4.0 version of the .NET Framework. The source code on Codeplex has been updated to reflect this change, so the developer community can actively pick up the change and continue enhance and support SharpKeys. My hope is that the list of available keys will grow to include more international options and that other random asked-for features get added as people require them. I will continue to host a copy of 3.0 and 3.5 but I still ask that all support requests go through Codeplex – this will allow other people to help with new features, going forward.

The source code can be found at http://www.github.com/randyrants/sharpkeys – enjoy!

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

Download SharpKeys 3.0: MSI | ZIP | requires .NET Framework 2.0

Read: SharpKeys FAQ [updated!]

Screenshots: 1 | 2 | 3

SharpKeys 3.0

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

With the move to version 3, I’ve decided to release the source code to the public via Codeplex, so that the developer community can actively enhance and support SharpKeys – if I decide to work on future versions, it will be along side anyone else that has dipped into the source code. My hope is that the list of available keys will grow to include more international options and that other random asked-for features get added as people require them. I will continue to host a copy of 3.0, as that’s the most current copy, but I’m going to ask that all support requests go through Codeplex – this will allow other people to help with new features, going forward.

The source code can be found at http://www.codeplex.com/sharpkeys – enjoy!

Download SharpKeys 3.0: MSI | ZIP

Read: SharpKeys FAQ [updated!]

Screenshots: 1 | 2 | 3

Remap Mouse Buttons

X-Button Mouse Control: X-Mouse Button Control is a windows application to remap your mouse buttons.

This software is designed and written for Microsoft Windows XP/2003 x64 Edition but I have also, from version 1.5, built a 32bit version.

You are able to provide an application specific mappings, which means one application can use the mouse differently from another. This is useful for games which do not inherently support the extended mouse buttons, because you can map keys to each button.

A number of people that have looked at SharpKeys have asked me about remapping mouse buttons… I haven’t tried it but it looks like it would get the job done.

Happy bits!

SharpKeys 2.1.1

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

As a minor update from 2.1, version 2.1.1 addresses the new user security that is active in Windows Vista Beta 2. You’ll no longer have to explicitly run SharpKeys as an Administrator as you will automatically be prompted to do this whenever you run SharpKeys. For what it’s worth, this requirement is not SharpKeys’ fault: of the registry keys that SharpKeys needs for itself are stored in a part of the registiry that you will automatically have access to… it is the registry editing that SharpKeys performs for Windows that requires elevated access to work with.

This download is not required for users that are not running Windows Vista; nothing else has changed in this release.

Download SharpKeys 2.1.1: MSI | EXE | ZIP

Read: SharpKeys FAQ

Screenshots: 1 | 2 | 3

SharpKeys 2.1

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

Version 2.1 addresses what I would call a complete and total boneheaded omission on the “Type Key” form. Version 2.0 included a newly design UI and was recompiled to use the 2.0 release of the .NET Framework.

Download SharpKeys 2.1: EXE | MSI | ZIP

Download: .NET Framework version 2.0

Read: SharpKeys FAQ

Screenshots: 1 | 2 | 3

SharpKeys 1.1 is also still available, using the 1.1 version of the .NET Framework – read this post for more information.

SharpKeys 2.0

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

Version 2.0 includes a newly design UI and it has been recompiled to use the 2.0 release of the .NET Framework. There is no new bug fixes or functionality in this release: it is simply a refresh to move to the newer Framework and update the UI with a new look.

Download SharpKeys 2.0: EXE | MSI | ZIP

Download: .NET Framework version 2.0

Read: SharpKeys FAQ

Screenshots: 1 | 2 | 3

SharpKeys 1.1 is also still available, using the 1.1 version of the .NET Framework – read this post for more information.