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
I’m using an apple keyboard on a Windows 10, so the ? mark is done with Control + Option + W. I wanted to redirect that to the ? / key, but when I press (E0_1F11) SharpKeys tells me “You’ve entered a key SharpKeys doesn’t know about”.
Help: … I mean … help?
FAQ covers both sides of the question: only single keys can be mapped (meaning W can be remapped but not CTRL+OPT+W) but even if that does generate a unique keycode, what is coming out of the hardware is triple-byte enabled, which isn’t supported by the Windows remapping tech. Give Microsoft PowerToys a shot.
Awesome Randy, thank you for the current update!
I found this through pcmag article – after I realized that MS new “Powertoys” key remapping does not work (it only lets you remap a *physical* key to another *physical* key).
I will now try your latest “Sharpkeys” and see if I may remap a physical key to an ALT code that I enter (the key isn’t on my physical keyboard – which is from Denmark, lol).
Best to you,
David
What I forgot to mention, but I already see Sharpkeys DOES seem to offer :) is to make remapping subject to selected Win keyboard language :)
So then I can remap the “weird” keys on this physical Danish keyboard to some other/more useful keys :)
Am thankful for the latest update of SharpKeys. Worked well for me. PowerToys had failed to install for some reason. Thanks a lot developer(s).
Hi Randy, awesome tool, already helped me. Quick question – is there any way of adding a single stroke em dash?
Um, what’s a single stroke em dash? I mean if there’s no key for it on a regular keyboard, then no: SharpKeys cannot offer macro support or map to keys that aren’t available.
Thanks for the software, Andy. I have recently bought a Surface 3 – which you know all about, I gather. In the UK, our right hand alt key actually works as ctrl+alt and I want to remap it as alt. When I press the key to remap it, it is recognised as E0_2038. But, presumably as this is that effectively a key combination, Sharpkeys tells me I’ve “entered a key [it] doesn’t know about.” I wondered if this is something you could include somehow.
This is also known as AltGr, if I’m not mistaken. That’s not remappable by SharpKeys as it’s a triple-byte scancode. You’ll want to try something like Microsoft PowerToys, which has an active remapping bit of code.
I’ve added a simple ome to ome key mappimg of x to m amd saved to registry but has mo effect whatsoever. Also tried dowm arrow key to m but mo luck. I’m om wim10. Thamks for your help.
I cannot use this because I don’t have admin account on my work pc. Is it possible to remap a key for a non admin user? :-(:-(
Hi there, as a Canadian that is forced to use bilingual keyboards, Sharpkeys has been a lifesaver for a long time.
I’ve just gotten a Chromebook, and while I love how small and light (and cheap) it is, I’m stuck with the dreaded bilingual keyboard. |
Any chance that your (excellent) work could be ported to Chrome OS?
Where in the registry are the changes stored and why is this not documented somewhere? I have an issue with the mapping of keys and clearing them from the app and writing to the registry doesn’t clear the mapping and it is causing huge headaches for an end user. Where can I go in the registry to manually clear the changes?
Um, all of the source code is in the GitHub repo and there’s a whole collection of posts that acted like a Dev Diary when the project started: https://www.randyrants.com/category/sharpkeys/page/2/ and read from the bottom up.
So, you won’t just document where the registry keys are huh? Nice.
So, you won’t just click the link that I posted, which highlights the very post that documents what Registry Keys Windows uses huh? Nice.
This is like people that go into Discord or Reddit and pester people with questions that can just as easily be found typing the question into Google. In this case, I actually went and got a URL to click for more information, but that’s not enough. Maybe I should have gone and reposted the content here again because that’s easier?
Seriously, https://www.google.com/search?q=Windows+remap+Keys+registry returns 292,000 results and the Registry Key you’re looking for is the first hit in the list.
That would be nice, but it doesn’t help me find where the the backspace key is remapped to also hit the alt key. And honestly, how hard is it to do some basic documentation?
It’s about as hard as it is to get you to understand that what you’re asking for is not for basic documentation, since you are asking about specific key or two: you’re asking for technical support for a specific issue that you’re seeing, one that no one else has ever asked about or reported. The irony of that is that if you really just needed generic documentation or specific scancode values or the physical location in the Registry, you’d find all of it in the articles I pointed you to here or through the source code at GitHub.
Congratulations though on an achievement unlocked: in the 20 years since I posted the first article that explains how to disable a key and on through the coding of SharpKeys no one has ever complained about the “lack of basic documentation” so well done and all that.
Hello everyone, if the functionality of SharpKeys is not enough for you, you can try Cherry Keys.
It also supports the mouse.
The disadvantage: You have to install a software that also needs a lot of memory.
Randy, I have tried a lot, but I can’t manage to assign a key so that my PC goes into standby/sleep.
Has it ever worked for you?
The best thing would be if I could use the (useless) PAUSE key for that. However, Sharp Keys shows me that I press “Num-Lock” (German keyboard).
Do you have a solution?
Thank you for developing your great tool for so many years!
Hi,
Is there a way using Sharp Keys to write a script to automatically set up certain remappings, for example on a new computer? I would love to be able to write a powershell or other script rather than manually enter in my remappings 1×1 on each computer i use. Or is there another remapping software you know of which is better for this?
Thank you
No, but only because the changes that make the remapping are stored in the Registry already (and can be exported/imported using REG or Regedit, which can definitely be scripted.)
when I’m pressing F2, Type key says You pressed: (00_100) but sharpkeys does know this key and I’m not able to remap it to FN+F2 (Edit,Rename). unfortunately my keyboard does not have FN disable option
Not sure what you mean. I mean if it’s really F2, then that key is definitely there, so I have to imagine that it’s Fn+F2 and I have no idea what Edit/Rename key is. For example, my Fn+F2 is Mute, but there’s no guarantee what these Fn functionality is from PC to PC. Might have to see if there’s some SW from who makes the PC.
Hey, great utility – so useful!
I’ve been using v3.5 for years and just downloaded the v3.9.4 zip file.
Couple of questions:-
1. Windows defender popped up with a run warning? That OK?
2. The SharpKeys window doesn’t fit the text (copyright and website details etc) at the bottom of the window? It seems to be hidden? Running on Windows 10 Home x64
TIA Steve
The warning popup should matter, if you downloaded it from here, the Microsoft Store, or Github: I control all three of these, in that I’m the one uploading bits. There are times when Defender get cranky – I’ve seen this myself.
For the off screen, text, it sounds like it’s trying to adjust to your screen’s DPI (aka font zoom) settings, but it may not be snapping as well as it could. I did this for the built-in accessibility controls but on some specific/random resolutions, it might be off.
I checked the exe file here at virustotal and it looks fine.
https://www.virustotal.com/gui/file/8b50dcc5f523a55b76f7254f7a51e56ab4f8c57f6a6085e5a93da19303571f93
I uploaded the screenshot to show you the text issue
https://prnt.sc/sTN7Md-MmGIR
…and the display settings
https://prnt.sc/DtY0q1zd3xcA
I have remapped the right Ctrl key to delete, as it works better for me next to the arrow keys. My old laptop (an HP running Win 10) would allow me to hold down that remapped key in front of large swaths of text and it would delete the characters automatically so I didn’t have to continually press the key. My new laptop (an ASUS running Win 11) makes me press the key every single time – I can’t hold it down to delete.
It’s that key specifically (and the alt car next to it) – I test remapped the / key and it did allow me to hold it down.
I am assuming this is something that SharpKeys can’t change now? Any reason why?
Hi Jen,
I have the exact same problem with my new asus/windows 11. Please let me know if you find a solution.
David 541-550-1441.
A sharp complaint:
I remapped “1” key to “numpad1”. Logged out cause the program told me to. My windows password contains “!”. It was now impossible with my keyboard to produce “!”. Shift + 1 = no input. Shift + numpad1 = no input. Impossible to enter my password. Only was able to do it after remembering the on screen keyboards in the accessibility menu… and then when I booted up the game I did this all for the numpad 1 key still didn´t work as 1. Ok then.
Not sure what the complaint is here, seeing as the remap was successful at the Windows level. SHIFT+NUM1 does not show a ! and you remapped a key to be this key, so that’s doing what it should be doing. I get that it sucks that you have a ! in your password, but you told your 1/! key to be NumPad 1 soooooo, that’s actually expected. The fact that the game is not respecting the remap is uncommon but does happen: the game is consuming the keyboard input directly rather than getting keystrokes from Windows. Some games do this for their own purposes (lag maybe?) but if Windows doesn’t get the key, Windows cannot remap it.
Randy,
Thanks for SharpKeys!
A suggestion: “mapping a key to another key” is ambiguous as a phrase. It can easily be understood as mapping A to S means pressing S will give you an A rather than the other way around. Perhaps a a few words above the respective column to clarify the direction could be useful?
I guess? I mean, the app has been around a while, so I guess people are used to it? Either way, please direct asks like this to the community at GitHub.
Trying to map the right windows key to the windows MENU key but i can’t seem to find it in the list, any help with that?
Both are under “Special” as Right Windows and Application key (which is the name Microsoft gave it a long time ago.)
Hi,
Thanks for your work on SharpKeys!
Is it possible to boot SharpKeys with an skl file? So that I won’t have to load the skl file every time I boot the program?
Thanks!
Kr
I’m not sure I understand the ask. Right now, the program will load, showing any current remapped keys or blank if there aren’t any. From there you can manually add or remove key mappings or use the load/save file for multiple keys. but you’d still have to save it to the Registry and reboot the device before the mappings took effect.
As it stands, this app doesn’t take in any parameters so it would have to be a code change via feature request: likely something to ask for via GitHub.
Hello Sharpkeys are 10/10 but I have a issue with binding A ZBOARD Merc on the left side with the buttons WASDQER Tab and Alt is all bound to Browser Home(W) Browser back(A) browser stop(S) Browser forward(D) Browser refresh(Q) Browser serch(E) Browser favorites(R) The Tab Is bound to Calcylator and alt is Mail.
The keyboard Ideazon Zeboard merc
Hello I have a problem mapping WASDQER alt and tab on the left side on my Zboard Merc gets the 00 – 100 code for the but I know what they are mapped to WASDQER is Web short cuts Tab is Calcylator and Alt is mail Mini
powertools finds them and kan remapp them but you cant really game with them it does not allow multiple inputs(you cant strafe by holding WA and so on
I tried change tex Web home (w) E0 32 to well W 00 11 to no avail. But i have manage to remap most of the keys
1 2 3 4 5 6 7 8 9 0 + f t g b v c control shift and spacebar so Im getting there eny help/suggestions I am lost for the moment.
Zboard Merc keymapping getting closer but Stuck with the Keys WASDQER that is somehow bound to the Web shortcuts and then Tab is Calcylator and alt outlook mail sadly Sharpkeys cant find them only gives 00-100 error code when press the keys but with powertoys Keyboard manager I can find them and bind them to what i want but you cant use the new keys att the same time so no strafe left or right no quickswap while running or cheking score bord.
And i can find them with a diffrent program key informer but not with the right SCAN CODE Insted of sharpkeys Web Home 0E 32 i get Browsers home AC 132
I have a hole text redy to sen but It wont let me.
Hello Randy I am remapping keys on the left side on a ideazon Merc keyboard and sharpkeys can’t find WASDQER TAB and ALT keys it gives me 00-100
But i know WASDQER is using the web shortcuts keys so we take the W key is Web Home (0E 32) but with Key info app it says browser Home
(AC 132). Tab is calculator and Alt is outlook mail.
I have tried manually changing the binary on them I failed and did it reversed so my standard WASDQER turned in to the web shortcuts so removed that binary and rewrote but no change to the left side on the keyboard.
I did try with power toys key manager it can re mapp the keys but it does not allow multiple key presses so no strafing no quick swap between weapons while moving (CS GO) and so on.
I feel like I am close to solving it on my own but I am losing sleep on this BS eny ide what can be the problem?
Odd. Four posts all about the same keyboard? Feels like spam, but OK: I’ll assume it’s all valid questions, most of which I cannot do anything with:
– If SharpKeys is reporting a keystroke as 00 100, it’s not mappable by Windows. See the FAQ for more.
– AC132 means nothing to any program except AutoHotKeys: scancodes that Windows can remap are typically double-byte codes that look like 0E 32.
– Triple-byte codes (like 0E 32 32) are not remappable by Windows, so SharpKeys cannot help.
My advice is look into using AutoHotKeys or PowerToys to remap whatever keys SharpKeys cannot remap and to use only ONE of these products. Mixing different key-remapping software rarely ends well.
Lastly, you’ll get faster answers from more people using the forums at GitHub.
Good program. It solved my problem, where hungarian Windows installed on a notebook with english keyboard and left-Alt was mapped to a hungarian letter. So left-Alt is missed. I mapped right-Shift to left-Alt and problem solved.
Hello Randy, I’ve tried remapping F12 on my MSI laptop to play/pause function. By default it turns the screen upside/down.
Now, when I press F12 both the screen rotation and pausing are happening.
Do you know how can I remove the default behaviour?
No idea. I mean, F12 on any PC does not play/pause or rotate the screen. Most laptops have two functions on the F keys: one without Fn-Lock and one with. For example, on Surface, when Fn-Lock is off, it’s PgDn but with Fn-Lock on, it’s F12. No way around this type of setup, because the input is defined at the HW level and Windows doesn’t know about the Fn key. In the case of the Surface key, Windows is told “user pressed PgDn” or “user pressed F12” without knowing how it got there.
That said, remapping F12 (Fn+F12 or Fn-Lock and then F12) should work. You’ll just need to remember to press the Fn key.
To get back to a clean state, remove all the key mappings in SharpKeys, save the changes to the Registry, and reboot.
Dear Mr Randy, I have a question about the € symbol, which I want to remap. The latest edition of Sharp Keys that I just installed from Microsoft Store does not know the Ctrl+Alt+E (when in Greek language). What can I do to fix? Thank you very much.
Not possible with SharpKeys, as it only remaps whole keys and not modified keys. Please give PowerToys a look as they have an active remapper.
This version doesn’t work with the key 00_53, unlike previous versions.
If you try to type the key it tells you “Sharpkeys doesn’t know about this key! Try an updated version”. Kind of ironic.
What key are you trying? 00_53 is in the list as the . key on the number keypad.
Hi, I’ve downloaded SharpKeys. Great product, simple to use works out of the box, keep up the good work. I have a question about multi key functions.
I have remapped (swapped) Fn and Ctrl keys on my keyboard, but I’m not getting the expected behaviour when using multi-key functions such as CTRL+RIGHT_ARROW (In Word, i get page down rather than cursor jump right).
I saw a note in a earlier thread about triple-byte enabled mapping, but not sure what that is.
Any help would be greatly appreciated.
Pretty sure this is covered in the FAQ: Fn is very often not remappable because it is not only a HW key but its scan code is different from product to product, and multi-keys are not supported.
Hey Bro
so i just downloaded sharpkey and did a quick glance of everything
all seems very straightforward and common sense. And maybe i Over looked it
But im Trying To Make my Letter E Button.. to function as mouse Wheel Scroll back and
Letter Q be Mouse Wheel Scroll forward… But i didnt see a function for that.. plz help and TY
Hi – mouse functions are not supported by SharpKeys: the Windows feature that it exposes is only for keys on a keyboard. Might want to give PowerToys or AutoHotKeys a try.
Hi Randy,
I have a new asus zenbook with windows 11. I mapped delete onto rt control. It works to delete but not to repeat the action if I hold it down. This is critical for my writing style. It worked great on my last zenbook with windows 10.
Any thoughts?
David Miller
Sisters
I think I saw this over at GitHub’s forums as well. I have no idea why it would or wouldn’t keep its repeating behavior. That’s well below anything that SharpKeys would be doing.