SharpKeys 1.1 – Official Release

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

Version 1.1 adds support for new keys, including F13-F15 and a bunch of codes that are “undefined” on most US-based keyboards: using Type Key you’ll be able to find the scan code, if you want to map keys that are not on the list by name.

Download SharpKeys 1.1: EXE Install | MSI Install | Zipped version

Read: SharpKeys FAQ

Screenshots: 1 | 2 | 3

147 thoughts on “SharpKeys 1.1 – Official Release”

  1. Wow, SharpKeys is great!

    Randy, I noticed that you have the ability to detect the “Fn” key on the thinkpad keyboard. (The placement of the useless Fn in the ergonomically important edge of the keyboard is a terrible design mistake. The Ctrl key should be there.)

    However, even though SharpKeys can detect the Fn key, I can’t seem to use SharpKeys to remap Fn to anything else. Have you had any success in doing this Randy?

  2. Well the Fn key is a weird key because it’s sometimes sent to Windows and other times NOT sent to Windows, so it’s really up to the keyboard/notebook company and how they made their stuff. Having said that, it’s one of those things that if it’s not working for you, it probably won’t with the current hardware…


  3. Understood; it seems like a lot of people on the net have tried and failed to remap the X31’s Fn. I’ve I figured that Windows didn’t get to hear about Fn keypresses at all.

    I’m curious, though – how does SharpKeys listen to keys when you use “type key”? What I was suprised by was the fact that SharpKeys can hear the Fn key being pressed at all, even though it seems to be ignored when I’m doing ordinary Windows input. Strange!

  4. Ah, that was a hack and a half, sort of. The .NET Framework lets you consume the keypress event but it doesn’t trap WM_KEYDOWN as it should. Consequently, I had to go outside the platform (sort of) and inherit the IMessageFilter interface… from there I added a method to handle PreTranslateMessage and watch for 0x100 which is the value for WM_KEYDOWN. After that it was easy.

    But what is odd is how keys like Volume Up/Down and Mute are ignored by it… those get trapped before Windows does… anyway, it’s always up to Windows what gets processed – I just do what I can do handle the registry and make that aspect of it easier… well that and I like how it offers an easy way to remap a whole keyboard to Q :)

  5. I’ve tried to use Sharpkeys in WinNT & can’t get it to work. Is there any way to get it to work on NT 4.0?

  6. Probably not – I’ve seen conflicting reports that the Scancode Map entry was in the registry and supported with NT 4.0, but obviously the case is that it’s NOT supported… looks like it’s Windows 2000 and later.

  7. Excellent progam, but unable to detect Fn (I have read the earlier notes about this though) on my HP-Compaq nx7010 laptop. Also, while it detected the completely useless ‘alt gr’ (with code E0_2038) it couldn’t remap it to anything.

    Other than that it is very useful though!

  8. Alt+GR? Not sure I know that key – I will say that it would remap the entire key and not just the Alt-aspect of it… Also, if it’s a multi-code type key, Windows hasn’t been too keen on remapping it (which is why PrtSc is such a problem!) HTH!

  9. I have a Dell Inspiron 8500 notebook with a Kensington numeric keypad (USB model 33059). When in Excel, whenever I press the – key at the beginning of a formula (so as to invoke a negative number), the EXT becomes turned on, just like I pressed the F9 key in Excel.

    Will Sharpkeys work on a numeric keypad like it works on the regular keyboard?

  10. Honestly? No idea :) You might want to install it and see if the TypeKey feature picks it up… it will really depend on how Windows sees the Keypad – that will determine if it can be remapped or not.

  11. This would be a great tool if it supported adding all these foreign characters to a US Keyboard:

    I would like to add the following characters to my Dell x300 Keyboard:

    Ideally I would for example map them to” Caps Lock, right Alt and righ Shift. But it doesn’t work. (And it does not support small Caps, Big Caps).

    Really cool would be too if I could add them as special characters to the existing keys A O U and I get them by pressing Crtl + Alt + A ( small caps, or Crtl + Alt + Shift + A for capital letters)

  12. Thanks, but how the keys are remapped are up to Windows. You should be able to remap to Caps Lock, if there is a key on your keyboard… but that’s about it. As far as mapping Ctrl+key, that wouldn’t work with this – this remaps the entire key, regardless of state.

  13. I’ve got a new key not listed, when I use the type key function the key comes up as 00_100. This key is the media player/winamp key on my Dell wireless keyboard, wich BTW, if you get the Dell multimedia wireless desktop keyboard and mouse, there is no way to remap it on certain systems, the dell driver isnt compatable with XP SP2 or one of the files used on an Nforce2 based motherboard(Fully NFORCE2, sound, NIC, IDE controller,ect all nvidia)since it brings up the NVmixer after I attempted to install the dell driver. Can you help get my media key working again, 00_100, on a fresh install of windows opens the default media player or default for .MP3 files…not sure wich, the play button just does not work on this thing! GAH Dell!(the keyboard and mouse were free!)

  14. Well, it’s not up to me – it’s how Windows sees the key and if there used to be a Dell driver that had to be installed on XP before this would work, I doubt XP (SP0/SP1/SP2) would know what to do with it without the driver… the only thing I could do is tell you to map it, reboot, and see what happens, but I doubt it will work… sorry!

  15. 1. Would this program allow me to remove the END, PgDn, arrows keys, etc. dual functions from the keypad? In other words, I only want the keypad to function as numbers.

    2. Can I map two keys to one key button. In other words, when I press the Right-Shift key, windows presses the A and then B?

  16. Probably not – as per all of the information on the board and in the readme, it works for the entire key. Not for Ctrl+Key or Shift+Key – the entire *key*. Besides, for what you’re asking for, wouldn’t NumLock get ya by?

    As to the double key, nope – it’s not a macro builder, but there are other applications that can do that for you… this is just a front end to expose the key remapping that Windows has built into itself…

  17. Nice application. I have two problems with it. When I press pause/break, it appears as num lock. Also, the power/sleep/wake buttons don’t seem to work. I am trying to turn those off, and move the three rows of keys up one row because I have one of those lame aopen keyboards where the power keys are where sysreq, scroll, and pause keys should be, everything else is squashed down close to the arrow keys. Sigh…

    Running XP SP1A. Any thoughts on this?

  18. Right – that’s why Pause\Break isn’t really supported… it’s not open for use, so to speak… same is true of the power/mute/etc… if they come to Windows then Windows can modify it, but there’s no promise of that. There IS a keyboard layout manager that you might want to look into, from Microsoft, but that’s beyond this product… HTH!

  19. My Del key has stopped functioning…?! Will I be able to record that key even if it dont work? How can I fix it in other ways?

  20. I’m not sure what you mean… I mean if the keyboard is broken, you can move the DEL functionality to another key (like PageUp or PageDown or something) but if the keyboard itself is broken, there’s no way software can fix that.


  21. Nice app. Couple bits of information: Alt-Gr is the right Alt key, used in European keyboards to as shift for certain characters (such as , $, and {}). Most European keyboards have a key between Z and left shift. The code for this is 0x0056 and it usually generates (pipe | with Alt-Gr). Maybe you should add name for this key (I had to install your program to two laptops, one that hasn’t the key (remap needed…) and another that had the key (for getting the code)).

  22. Randy,


    If there’s one thing about this Fujitsu Lifebook N5010 that I can’t stand, it’s them forcing me to use Fn PgUP and FN PgDn for Home and End. I use Home and End FAR MORE OFTEN than PgUp and PgDn.

    I am SO GLAD that I found your app.

  23. It really helped me to put to work a great idea. I am using a national keyboard (polish – programmers) where all the special characters are generated by pressing a certain letter and the RightAlt key. I bought a small numeric keyboard and mapped all the keys to the one: RightAlt key. Now, it is very convenient to use that keyboard as a pedal.

    The only thing, I miss, is the ability to save and restore these keys. You know what I mean, Randy. Not the registry – just keys I changed. Would be a problem to add these functions to your program?

  24. Not sure what you mean by save and restore the keys? I mean, the remapped settings should stick around between rebooting…

  25. I was hoping to be able to set the [media select] key to launch my music player. I understand this is more then just remapping the key; but I was hoping you could help.

    It should be possible since it launches sndvol32.exe now. The [calculator] also launches a proram.

  26. @ Stephane – that’s at the driver level, I think… if you’re using a Microsoft keyboard, I’d grab the latest Intellitype software from their site – for any other keyboard, try getting a newer driver from them… Windows is getting the key OK, but it doesn’t know that you want a different application to open than the one it’s opening. Remapping won’t help you there, as there’s no “Media Player” button already on the keyboard :)

  27. Sometimes I need my numeric pad to work as a numeric pad, and sometimes as a ‘one key’ pad. In order to avoid setting up keys again and again I’d to have an option to save my setup to a file. Switching could be done by the function ‘save’ (only once after changing) and the function ‘restore’ (to the original Windows setting if keys are already changed, or to keys saved to the file, if they are not).

  28. @Maciek – Ah… got ya. Probably not likely. First thing is that I’m only exposing the registry keys in question – to back them off in a list and load/restore the list would be troublesome. Especially with the total number of keys that it lets you remap. Beyond that, I’m pretty sure a reboot would have to be done between changes, so it wouldn’t be a “flip a switch” and go bit… Sorry it couldn’t be of more help!

  29. I did my homework Randy. In order to achieve my goal it is enough to use regedit program and to rename ‘Scancode Map’ key in ‘HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout’ to any name and reboot the system. To get it back it is necessary to restore that name back to ‘Scancode Map’ and reboot again. Thank you again Randy, for your very handy program.

  30. Hi. I have a major problem for a long time now. I have tried everything. The F9 key seems to be mapped to something. It opens internet explorer with a search function everytime its pressed. I am unable to use the F9 in any software. Your program doesn’t even recognise it. When i press any other key, it recognises the key and the relevant key code comes up… but when i press F9… nothing happens in your program and it just opens the IE window that i said earlier. PLEASE HELP. Very desperate. Please email me if you have an answer. Thanks very much. Rohan

  31. Here’s the simple solution: select the key from the list. If that doesn’t work, then there’s probably nothing much SharpMT can do for you – it doesn’t remap the key: Windows does… but it’s worth a shot for you to select a key from the list.

  32. Great utility! Is there a way to remap the function of the senseless “Access IBM” button on IBM Thinkpads? Sahrpkeys seems to ignore this button…

  33. That’s because Windows does, so to speak. I actually have a ThinkPad T41 – that button is very much like the F-Lock key on Microsoft keyboards… all hardware and it never gets sent into Windows so remapping it within Windows isn’t possible…

    I did try it tho :)

  34. Incredible program.

    I do a lot of numerical data entry with tabs and enters – the only thing the tab key is on the far side of the keyboard – Till now.

    Num:+ … Special:Tab

    Special:Num Lock … Num:+

    Special:Scroll Lock … Special:Num Lock (who uses scroll lock anyways???)

    Thank you once again.

    and finally (when they took my right windows key away and left the useless application key)

    Special:Application … Special:Right Windows

  35. heh – It’s funny because ThinkPads don’t have either key so my right Ctrl is Windows and right Alt is Application – glad it’s workin’ out for you!

  36. hi, my dell d340 keyboard is broken, and i can’t use some keys, including the fn, which i need it to switch the display from lcd to projector. can i use sharpkeys to map fn key to other key? btw, i can’t use fn totally, it just won’t respond.

    thanks in advance,

  37. Fn is weird in that I’ve seen a few different scan codes for it… so it might be one value for Sony and another for IBM or Dell, etc. You CAN, however, look for the Fn key in the list of keys (should be under Special) and give that a try…

  38. I want to know how i could make a backup of the configuration, so when i have to install the soft again i don´t have to configurate the hole mapping again. Thank you very much.

  39. That’s supported by RegEdit.

    – Go to Start -> Run and type regedit

    – Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

    – Right click on Keyboard Layout and select Export

    – Save a .REG file to somewhere on your hard drive. To restore the file double click it in explorer or import it with RegEdit

    Or copy the contented of the Scancode Map value: if you remove and re-enter it from there it’s same as using SharpKeys.

    One thing of note: you’ll still have to logout or reboot for the changes to take effect…

  40. Hi, is there any way to map ALT-TAB to a single key?

    I switch between the same 2 apps constantly throughout the day and a one-key switch would be awesome.


  41. Mostly likely not – SharpMT exposes a registry key that Windows uses to remap the keys, which is decidedly part of Explorer… sorry!

  42. Can you turn off the useless “backward” and forward” keys near the arrow keys? Pressing them accidentally has really been a problem for me. I have a ThinkPad T42.

  43. I did on mine, but not with SharpKeys. Go into your IBM Application/Driver Package installer thingy and uninstall the Web Navigation package. That will leave the rest of the hot keys (Fn+F5, etc) but remove the web keys. There should also be a configuration option somewhere to turn those off, as part of the IBM utilities, if you don’t want to uninstall them.

  44. I actually got it to work! I think it’s one of Blackbox’s plugin’s that I recently downloaded that allowed SharpKeys to work it’s magic. I have to say, it’s wonderful. It really helped me out quite a bit. I bound two totally unused keys (a second pipe key which registers as an unknown key) and the right alt key to adjust the volume. Now I can finally mess with the volume while playing games (my headphones don’t have a volume adjust on them like my old ones did…)! Thanks!

  45. Hi!

    Thanks so much for making this program freely available. I use it to type on a computer keyboard design that I made up myself. (e.g. my homerow is ‘aserlntoih’. This has created a problem at home, however, in that my wife cannot use my computer without having to peck type on a system that is completely unfamiliar to her. Is there any way to have a single key toggle back-and-forth between the regular qwerty keyboard and my newfangled keyboard?



  46. Now what I would really like is to make sure that I cannot activate CTRL-Q within, say, a second after having hit CRTL-W or CTRL-A … would save me a lot of accidental quits …

  47. And thanks for this program!!! I should have said in my first comment, forgive my thoughtlessness!

  48. Hey Randy,

    Here’s what SharpKeys really needs to have for the next version: A USER SPECIFIC SETUP! (which would probably also help for David Sussillos Problem three posts above mine).

    The background: I have different users (set up as XP Home user accounts, not administrators) set up at my XP Home install. I would like to change the keyboard layout for just one specific user, not messing up the keyboard layout for the other users.

    Just consider that for foreign countries, there is the chance to change the keyboard layout without a reboot: through Control Panel – Region and Language Settings – Language – Text Services and Input languages – Details. (translated from my german XP Home install, wording might be slighty different on native english install). I believe that somehow through this method of changing the keyboard layout, one should be able to define a user-specific keyboard layout with self-defined keys on a per-user basis without requiring a reboot. That would make for SharpKeys v2.0, now wouldn’t it?

    I’d be really great to have a user-specific keyboard setup in windows.



  49. @Ken – Sorry, can’t do that: SharpKeys is simply remapping keys and even that, it’s using a Windows setting to do so. To trigger a modifier key or trigger a key combo, that would require a different type of app – sorry!

    @Torsten – Nope. At least not for XP.

    The problem with what you’re requesting is that XP (and 2000) sets the keyboard layout flag that’s getting changed off Local Machine. Which means one size fits all… Consequently, there’s no real way to set it off the current user. As to the reboot/logoff that’s required, well, that’s just the nature of this hack: Windows loads the keyboard layout settings at startup and doesn’t re-load them at any other time.

    Having said that, 2003 DOES store this information on a per user basis… in fact it’s a bug that I’m storing the information in the wrong location… I’ve been meaning to address that (1.2) but I’ve been too busy with other stuff in my downtime…

  50. Hey Randy…

    Thanks for offering this software to the public.

    Unfortunately my request is the same as others who’ve posted…that darn FUNCTION KEY!!

    I just got the HP tablet pc and it’s ridiculous that it’s in the same place as the CTRL key in every other keyboard.

    I know you’ve mentioned that there’s nothing really you can do…but I have to ask…in my nicest sweetest voice….PLEASE try and come up with something.

    I’m actually considering returning this tablet pc because of this design flaw. I’d like not to.

    Thanks again.


  51. Hiya Scott – sadly, when I say there’s nothing I can do, I sorta mean it. I mean I’m not even remapping the keys – Windows is – and I’m just exposing the registry key that regulates it… so if’n Windows isn’t told about it, Windows can’t redirect it… you might want to check Toshiba’s site for utilities maybe? A way to disable it possibly? Sucks that it’s not workin out for ya – the Toshiba tablet is pretty good. :(

  52. Thanks Randy…I had to try…


    I have an HP TC1100 I think the name is.

    I haven’t tried the Toshiba…but I bet they didn’t screw with the keyboard setup…haha.

    Oh well.

    I’m still using your software to remap the caps lock and also adding a volume control and mute…so thanks.


  53. Hi There,

    I just got the Logisys LED Keyboard, its really great but one thing that drives me nuts is that where the Ctrl key should be (in the lower left corner) is a “Euro” (money) symbol key, with a shortened Ctrl key to the right of it. I was excited to download Sharpkeys but dismayed when it wouldnt recognize any signal from the keyboard when i pressed the Euro key (wanting to have it also be Ctrl)…any ideas or am I SOL?


  54. Not many ideas… the AnyKey bit will pick up any signal that Windows gets… if it shows up as “Unknown key” don’t let that stop you: it’s just that I don’t have a “real name” for the key. If you’ve hit the key and the Type Any Key bit doesn’t do anything, there’s nothing much for me to do with it… it’s probably a specialized key or something, if that’s the case.

  55. I noticed that my Apple keyboard (not the wireless one) connected to my WinXP machine does something weird: when I press DELETE on an icon, it doesn’t show the “sure to delete?” requester. But, when I type in the key in your app, it does return E0_53. Is there a “second” delete I should know about?

  56. Um… not a clue. :) I know there’s a backspace and a delete but there’s also a delete on the keypad… maybe that’s got a different keycode and the Mac is using that one versus a different one?

  57. REALLY GREAT TOOL!! I want to map the webforward key on an IBM T41 ThinkPad to the windows right click key that is available on most windows keyboards. I cannot determine what the function code would be. Do you have a way to do that?

  58. This is a good tool, the problem I have is that I’ve just bought a Mac USB keyboard (UK version) – it’s very nice to type on. The only problem is that the @ and the ” are mixed up when you plug it into windows.

    Is there a way to remap keys with shift pressed only? ther 2 and the ‘ keys are the right way round.

    Thanks for the help.


  59. @Dale: That should be picked up by the Type a Key dialog, provided that you’ve installed the IBM HotKey drivers.

    @Phil: Nope – the whole key moves, not just modified keys… so all of the 2 and the ‘ can be moved but the entire key goes…

  60. Ya, that’s Chris Sells’ version, which came out about a year before mine. If I had found his earlier, I wouldn’t have bothered with my own, actually… I just got tired of mapping out the thing by hand and this seemed easier and none of the typical freeware searches turned up anything. I found Chris’ after I bumped into him at work, strangly enough.

    Anyway, it IS easier, so I have no complaints :)

  61. It doesnt know about the key “E0_3F1D”, that key is a bit special, its the key tat a mac keyboard connected to a PC reports after holding down left-crtl for about 2 seconds, and is used to emulate right-click on mac.

  62. Actually, that’s a very special key, much like PrnScn on a Windows keyboard: instead of having 2 numbers as a keycode, there’s 3. I haven’t had very much luck with getting Windows to work with that, so it’s kinda hit and miss.

  63. In regards to Tiffany’s post on February 11, 2005 at 11:30 AM about turning off the useless “backward” and forward” keys near the arrow keys, IBM has a document called “How to disable the Web Navigation keys” that tells you what to do. It is at:


    1. Click Start, select Programs, select Access IBM then click Keyboard Customizer

    2. Click the Key Sensitivity tab.

    3. On this screen, there will be a check box labeled Enable Browser Keys (see picture below). Uncheck this box and close the Keyboard Customizer. The Web Navigation keys are now disabled.

  64. Hi.

    Really enjoyed your keyboard mapping tool. However, after installing on one machine where it worked, I am having problems with it. On three other machines the software installs, but when I launch it all I get is a shell with no keyboard maps–It is like a blank screen.

    I had the same prob when I installed it on the first one. Then, I went to update the .NET 1.1 with sp1. After that, it worked. Did the same to these others, but it didn’t work.

    Any suggestions? I even updated the BIOS to see if that would work, but it didn’t. Any help would be greatly appreciated.

  65. hey everybody. one thing i didnt see covered in either the faq or this forum is the “volume up/down/mute” and the “cd eject” on a mac keyboard.

    now i know that in the program it says volume up and down (E0_30 & E0_2E i believe) but typing the butttons doesent seem to get recognized in the program. does anybody have any ideas for me, it would be great to get these 4 keys working! thanks!

  66. Sharpkeys is not working on my computer :( The progeram itself works, it makes a scancode entry to registry, but my keys are still the same. I have win xp with all the updates. Please help!! :)

  67. LOVE this program!!!

    But…I have a “Pause Break” key on my Sager 3880 keyboard that Sharpkeys doesn’t understand. It first says it is a numlock _45 key but then says it doesn’t understand the key. I really want to remap this key based on where it is on the keyboard. Anything I can do?

  68. Ahhh, pause/break typically sucks. On most keyboards it sends a triple set of codes rather than a double, and Windows typically wants no part of it… odds are it’s getting part of the key with Type A Key and that’s why it’s giving two different answers.

    The only suggestion I can give ya is to use the drop down lists and look for Pause/Break and select it by hand… it might work for ya.

  69. Remove it and reboot, if ya snagged the proper key… it would stay in memory until it’s rebooted.

  70. Hello,

    Is it possible to uninstal the .net framework and sharpkeys and still the new key mapping runing?

  71. Yep. SharpKeys is a front end to a Registry key… that key stays whether SharpKeys is active or not.

    Curious as to why you’d want to uninstall the framework, tho…?

  72. Well, pretty simple my hd is starving. I really need to free some space. I plan to buy a new hd, but in the meantime…

    I have a question for you too. I’ve read that you’re italian. Do you still speak italian in your family?

    Italian is such an easy language. As a french, I can understand italian even though i’ve never studied it. I really think italian should be the international language instead of english. It’s so easy to understand and to speak, at least for those who speak romanic language.

  73. Ah OK – was just curious.

    Actually, we don’t for the most part – speak Italian I mean. There’s a number of food items and insults and kitchen utensils that are still Italian in my parents’ house, but overall it’s always been English. I’m third generation; my great-grandparents were all fluent in Italian (and off the boat), but my grandparents – on both sides – were determined to only speak English in their homes… my parents didn’t stand a chance of learning much of it.

    Having said that though, I did study it a little bit in college, so I can understand some stuff and can say almost anything that someone hands me in Italian… I agree, it’s VERY easy to read and with what, like 5 irregular words? I spent a week in Milan and so long as I didn’t talk much, they never realized I was American so I guess I was saying everything right :)

  74. Having fun with SharpKeys, using a Macintosh USB Keyboard (UK edition) and find that the ‘Volume Down’, ‘Volume Up’, and ‘Mute’ keys say “(00_100)” followed by MsgBox “You’ve entered a key that SharpKeys doesn’t know about. Please check the SharpKeys website for an updated release.” I am running 1.1.0

    Also ‘Eject’ key doesn’t register as anything at all.

  75. Pause/Break issue: I can’t find this key in the drop down list (under XP). Where is it located ? Thanks.

  76. As posted above, about Pause/Break:

    Right – [that there’s two keycodes sent] is why Pause/Break isn’t really supported… it’s not open for use, so to speak… same is true of the power/mute/etc… if they come to Windows then Windows can modify it, but there’s no promise of that. There IS a keyboard layout manager that you might want to look into, from Microsoft, but that’s beyond this product… HTH!

  77. Maybe out-of-date… then maybe not

    Reply to Randy as of July 18, 2004

    AltGr is not a keychord, it’s a single key located to the right of the spacebar. I think that on English-language it might be just a “Right Alt” key; in many national keyboards it is a key modifier used to produce additional characters, which can be “spacing” characters or “nonspacing” (aka dead keys). For instance on my Belgian keyboard:

    AltGr + ç (lowercase nine) = {

    AltGr + à (lowercase zero) = }

    AltGr + = (extreme lower right) = tilde prefix

    AltGr + ù (right of M which is right of L) = acute-accent prefix


    TypeKey detects it as E0_2038 but without a name.

  78. I notice that “printable” keys get their names from the US “QWERTY” keyboard. IOW, on my AZERTY (fr_BE) keyboard, when hitting A in Type key it says Q was hit etc. I suppose this is a “hard” limitation of SharpKeys? Or would it be conceivable that some future release could retrieve both the “scan code” (geographical, “raw” code) and the “key code” (ASCII, “cooked” code)?

  79. It’s using the scan code as Windows sees it… it doesn’t matter what it’s labelled in the UI, but the odds of that changing to support other nationalities is slim to none… it’s just text, after all and Type a Key will work.

    As to the modifier key AltGr, I have no idea. The Right Alt is in the list with a proper scan code so if they are the same, it should be picked up. The fact that it’s a triple scan code (E0_2038) probably means that it’s a lot like PrtSc, which means it won’t easily be supported. The good news is that there’s a keyboard layout remapper that you can download from Microsoft – you can use that to remap anything :)

  80. If they get passed to Windows, yes F16-F19 can be remapped. However, I know of no keycodes for F21-F24… I’m pretty sure that #Keys will only go up to F15 or F16 in the “Map to” list…

  81. Randy,

    I discovered a trick (albeit a somewhat awkward one) that you or some of your users might find helpful for working around the Pause/Break key limitation.

    I have an Apple USB keyboard and wanted to be able to map F13 through F15 to their respective “normal” PC keys (Print Screen, Scroll Lock, and Pause/Break). Obviously I was disappointed to learn that the Windows Scan Code Mapper can’t handle mapping any key to Pause/Break. Especially because, of the three missing keys on the Apple keyboard, Pause/Break was the one I really wanted to get working.

    After a few hours of messing with the Windows Scan Code mapper, I finally stumbled on a workable, though unusual, work-around for the Pause/Break key. I map two separate keys (in my case F14 and F15), one to scan code E1,1D and the other to scan code E1,9D. I found that with this mapping, pressing both keys simultaneously results in Pause/Break being emitted by the Scan Code Mapper. It’s weird and I can’t explain exactly why it works, but it does.

    In the end, this means I can’t use F14 for scroll lock (what the hell is scroll lock anyway?), but I do have a working Pause/Break key(s) now. So there you go… something you might want to try. (Or at least maybe others who need Pause/Break will find this post while googling about).


    — Dan

    P.S. Exact value of my “Scancode Map” (F13->Print Screen, F14&F15->Pause/Break):

    “Scancode Map”=hex:00,00,00,00,00,00,00,00,04,00,00,00,37,e0,64,00,1d,e1,65,00,9d,e1,66,00,00,00,00,00

  82. Heya,

    Just a note that your program rocks! I just bought a new mac keyboard for my new PC and had to swap the windows/alt keys with eachother since the mac had this setup instead of the more conventional layout:





  83. please help me i have mine num lock on and gr light is on but it still won’t let me type in numbers thanks

  84. Well, if I remember correctly, NUM Lock is a hardware key… meaning that SharpKeys could turn it off, sure, but then the light wouldn’t be on either. Like CAPS Lock: I have it off on my keyboard (remapped to Left shift in fact) so when I hit it the light doesn’t go on at all… if the NUM Lock light is on and the keyboard still isn’t showing numbers from the keypad, I’d say there’s something wrong with the keyboard.

    Anyone else have any ideas?

  85. I tried to shut off my Caps Lock key. After I selected it in the left-hand window, I selected ‘turn it off’ in the right-hand window. I closed and wrote it to the registry, and rebooted. The Caps Lock key still works. When I went back to SharpKeys, Caps Lock no longer appeared in the left-hand (from) window, so I couldn’t try again. I’m running WinXP Home Edition. What should I try next?

  86. Hm. Beats the hell outta me. That should have worked.

    You might want to go into the registry and clear out the Scancode Map – check the FAQ for the exact location – then reboot. You should at least be able to try again, but I don’t know what’s up… then again I’ve never tried this stuff on XP Home… should work, but I’m not 100% certain.

  87. I am trying to use sharpkeys (ie a windows scancode remapper registry entry) to disable the standby key.

    I use

    “Scancode Map”=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,5f,e0,00,00,00,00

    which is exactly what sharpkeys generates too.

    However, when I push (MAKE) the sleep key, it does nothing, as I want it to.

    But when I release (BREAK) the key, it powers down still.

    This has changed something (it used to power down on MAKE) it is still not what I want.

    Anyone got any ideas ?

    Oh, and FYI, anyone trying to debug this, have a media player open with something playing (paused is OK) – when you hit the power key it wont power down it will give you a message asking if you are sure you want to power off whilst watching media ;)

  88. Not a clue. I mean, I have so so luck with the “hardware” keys… if Windows intercepts them (as it sometimes does with Vol, Media, etc.) then Scancode Map doesn’t get a chance to redirect it… thanks for the tip tho on the media player – thanks good to know!

  89. Randy, in your August 23, 2004 10:08 AM post, you said “As to the double key, nope – it’s not a macro builder, but there are other applications that can do that for you… this is just a front end to expose the key remapping that Windows has built into itself…”

    Could you please let me know what other applications can do that for me? I am trying to map the underscore key to Caplocks. In other words, instead of hitting Shift and minus keys every time I want an underscore, I’d just like to hit the caps lock key. In any case, this is a great tool.

    Also, just to clarify, your tools does everyhting you can do manually in the Keyboard layout in the registry, correct?

  90. Correct: SharpKeys could make the Caps Lock key act like the -/_ key, but it won’t be able to say “Hey, Caps lock was hit, let me hit Shift+- to give a _”.

    As an alternative, check out AutoHotKey: I think it has this functionality.

  91. Thank you so much for creating such a useful program, and making it free to distressed users like myself. Especially ones with keyboards which have 2 alts, 2 windows keys and no backslash.

    Much respect.

  92. Hey! GREAT!

    Long time searching is ended now!

    I use a HOB-Keyboard with contactless buttons (Hallsensor) with 34 F-Key’s. But bad that I can’t use the many Key’s before.

    Now I can handle it and also with a little help of KDrive I have the perfect workspace now…

    THX a lot and merry X-Mas


  93. Hi,

    Great tool. I use the Apple wireless keyboard with a PC.

    Is it possible to detect the volume control and eject keys?



  94. Great App man! Killer, now I can use that quiet mac keyboard on my pc! One question though that I haven’t seen here. The mac has the alt keys and “windows/apple” button reversed on both sides compared to a normal pc keyboard. It seems that the alt key can’t be detected when I press it on the mac board – so I cant remapped? I’m guessing it must somehow be hardware or something. Any suggestions?

    Thanks! Awesome work!


  95. Hello,

    Great soft but I have a problem since my new install a few days ago (I switched my hard disk drive for a faster one).

    I have a japanese laptop with a japanese keyboard. I set it as a french AZERTY under Windows XP (as I’m french) and used Sharpkeys to simulate AltGr key (right Alt) and >

  96. Well SharpKeys isn’t doing the remapping: it’s simply exposing a part of the registry. Windows is what does the remapping – are you still running XP and did you reboot after setting the keys?

  97. Thank you for your answer :)

    Yes, I’m still on XP and rebooted each time I changed a key (I’ve got two to re-assign). I tried one keyu at a time, the two in one shot but nothing happened.

    I also uninstalled Sharpkey and removed every related ergistry keys after reboot before to install a new version but that didn’t changed anything.

    The fact is that I can see that Sharpkey is adding a registry key but it’s as if it wasn’t executed…

    The thing is : I don’t know where it come from as I haven’t changed anything from the old install to the new one. Maybe my free firewall (Kerio) or a few drivers have been updated (graphics, network…) but I don’t think that would affect Sharpkey ?!

  98. But like I said: SharpKeys isn’t doing the remapping. You could install it, set the remapped keys, and uninstall it (and even the .NET Framework) – the remapping is set by Windows. The only thing that SharpKeys does is edit the Scancode Map registry entry – there’s more on that in the FAQ.

    The only reason why I asked about XP is because Windows 2003 reads from a different registry location than XP and 2000 does…

  99. So it seems that Windows is not executing the created key in the registry ?

    Do you have the exact path where that key is stored in the registry (as long as it is not licence protected, of course) ? Like this, I would be able to know exactly what’s going on.

    Thanks again for your help.

  100. Well, I have just checked and the line you talk about in your first link (the REG_BINARY key) is there, in my registry. Its construction is good, I’ve compared with one I made myself with your tutorial but it is still not executed at the laptop reboot :’-(

    And SharpKey is deleting and writing it correctly, I’ve also checked that in “real” time, step by step.

    To tell you everything, I want to remap those two keys :

    – the 00_56 to the 00_73

    – the E0_38 to the 00_70


  101. This could be the answer to my prayers. I hope so!

    Can SharpKeys swap the Alt and Ctrl keys on a PC keyboard, so hitting the Alt key makes Windows think you’re really hitting the Cntl key, and hitting the Ctrl key makes Windows think you’re hitting Alt?

    I mostly use a Mac, but sometimes use a PC. When I’m occassionally on the PC, the ‘muscle memory’ in my hand wants to hit Alt for keyboard shortcuts, instead of reaching all the way over to the Ctrl key.

  102. Yep. In fact you can swap the left Alt and Ctrl keys and leave the right Alt and Ctrl keys alone, if you wanted to.

    Ironically, I often grabbed an Apple utility to swap Ctrl and Option on an Apple keyboard when under OSX :)

  103. Any way to put Alt Tab function on the F1 key? I have no need for Help and I can’t figure out how to get both the Alt and the Tab to work on the F1 key.

  104. I have. Pretty much it’s anything with a name in a form that throws the Phishing Filter at the moment – problem is that I can’t change the name of the field b/c I don’t control the form :)

  105. Hmmm….I have mapped my F14 key on my Apple keyboard to the Print Screen key and rebooted. Still no joy. I tried changing it to F13 but still nothing happens. Are there any planms to offer better Apple keyboard support. It doesn’t even recognise the Volume or Eject keys at all.

  106. Well, no. As per the FAQ and about a dozen comments here, I’m not actually doing the remapping: Windows is. I just expose the registry key that makes all that happen.

    Having said that – and if I sound cranky it’s because I need more coffee, sorry – you might want to try AutoHotKey… they have a more active remapping set of software. HTH!

  107. Excellent app Randy, but i would like to know is is there a way to have the “ñ” letter?? thank you

  108. Great program! Nice piece of work, and it works just as advertised.

    Question for you: I’m using SharpKeys for a slightly different reason than many people… I have a Compaq Presario 2100 laptop (several HP models are the same basic computer too) with a stuck printscreen key (a problem that I’ve seen posted by other Compaq/HP laptop owners).

    So, I don’t just want to reassign the key, I’d like to eliminate it from my computer’s consciousness altogether… I’ve successfully mapped it to do nothing, and that is working just as expected. However, is there a way to completely eliminate it? (for example, although the printscreen key isn’t doing printscreens anymore, it’s still being pressed constantly, so it keeps the computer from hibernating, and it does impact mouse scrolling (clicking on the mousewheel and scrolling via the mouse action).

    None of this, of course, is a SharpKeys problem, the program works just as advertised.. I’m just wondering if there is some other feature I haven’t come across yet?

  109. Very cool, thanks for the speedy tip…

    Is this closer to the hardware level (further upstream) than Sharpkeys? From what I’m gathering, it’s use requires adding language collections first, which is a container for language groups, which contain things like User Locales, Input Locales, and System Locales… Then the documentation gets into Input Method Managers and Editors (IMMs/IMEs), which appear to be on a per-user basis. The documentation for changing a keyboard also seems to be per-user too. (that’s all fine, assuming the rogue keystroke is intercepted further upstream). What’s your expert opinion? I’m leaning toward thinking I’ll still not go to system hibernate, because even if the stroke is intercepted, the

    Thanks again… I’ve officially spent so much more time on this, than spending the $20 bucks to get a new keyboard… Not to mention the hours of virus and spyware scanning, troubleshooting, etc. before realizing it was hardware… What a world!

  110. It *should* be. I mean SharpKeys isn’t remapping anything either: it’s just exposing a key in the registry that Windows uses to remap keys. Having said that, the remapping done is at the Local Machine level, rather than per user… so I don’t know where this would come into play: it’s just another avenue to explore. But since this stuff DOES allow you to inject new keys and remove existing ones, it might be helpful…

  111. is this release not available anymore? do i just have to install more microsoft bullshit and upgrade to the 2.0 NET framework?

  112. Nice attitude. Especially for a framework that you can install via Windows Update. Now I’m not going to tell you where to get it. :)

  113. I have a Sony laptop and the ‘Fn’ key is dead now. I want to map it to some other key using the SharpKeys but I cannot figure out how to do it. any help in this by anyone?

  114. I’m pretty certain that My PrtScn Key isn’t enabled on my Microsoft MultiMedia KeyBoard 1.0A, and I would like to Enable it, (perhaps in the ScanCode Map in the Registry).

    The A, 1, F Led’s Light Up once I go to Windows XP, using IE7, but then go out. My F-Lock works to restore the functionallity of the Function Keys, but the PrtScn key seems to do nothing, and I suspect that it is disabled.

    I downloaded your SharpKey in hopes of rerouting this key’s function to other key, (F12), but so far this has not worked.

    Can you help?

  115. Great app…

    Where in the registry is the key mapping located?

    I have franch users with french keyboards and the ~ key is so hard to find that I tried mapping it to F12 using your app… unfortunatly I cannot specify alt-126 (to get ~) and the key combination does not work when I type it in.

    What I need is to map F12 to alt-126… I figured I might to is manually in the registry, same as you app must be doing… but where is it?


  116. Yes, because Alt-126 isn’t a key; it’s a keystroke combination. Worse, the only other place I see ~ is as Shift+`… so unless there’s a full key that has ~ as a standalone key, there’s no way for Windows to perform this style of mapping.

  117. Thanks a lot for this great app. I have installed it on a MAME machine and I am trying to get the C key to work as ESC. It works fine in certain programs but still registers as the letter C in others such as Visual Pinball. What am I doing wrong?


  118. Odds are that MAME is intercepting the keyboard inputs before Windows is… or MAME itself is an old DOS or Command line based version which doesn’t respond to the remapping that Windows is capable of. I don’t think I’ve ever remapped a key that I would have noticed this with (I remap the modifier keys) but I have no idea if the remappings are respected in CMD window…

  119. randy, your program appears to not work well with my apple keyboard. I am trying to configure it so it works properly with my windows xp pro, but sparpkeys does not recognize the cmd key on the apple keyboard, which i want to switch into the windows alt key. What should I do?


  120. Well, SharpKeys doesn’t remap keys for OSX – just Windows. So if it’s working in XP (where the CMD key should be seen as a Windows key) it’s doing what it should…

    Or am I answering the wrong question?

  121. The problem is that it isn’t working in XP. I have Windows XP, but I also have the apple keyboard. All I want to do is switch the function of the alt key for the function of the cmd key. Unfortunately, sharpkeys doesn’t recognize the cmd button. The same thing happens with the equal sign (=) on the numeric pad of the apple keyboard, sharp keys does not recognize it. If you can help out, great, if not, thanks any way.

  122. Hm. Not entirely sure – I did this very thing with SharpKeys 2 and it was OK. Either way you can always select a specific key from the list… one thing that I can say is that not every key on a Mac keyboard is recognizable to Windows, which is why it can’t be remapped – my software just exposes a Registry key and does no remapping on its own.

Comments are closed.