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
Is SharpKeys reading the ScanCode of the key being typed corectly? I have a keyboard with a well-key (like a mouse with scroll). When I scroll it up — it’s indeed the UP key, repeating, down — the DOWN key, but when I press it (for eg. SharpKeys -> Add -> Type Key it says: “Function: F7”. Well, i have redefined that key to WinKey, LogOff then back. But now, when I press the wheel key it doesn’t do anything (for eg.: START menu should appear), and the F7 from Keyboard acts like WinKey properly.
I have to note that I want to assign the wheel key pressing to Enter or something, as without the driver it doesn’t do anything (with driver = task switch).
And another thing: without the driver, I launch Total Commander, press the wheel-key and the Make New Directory window appears — so indeed it must be an F7 key (wich do that action) sequence keycode somewhere.
I suspect that the ScanCode is not the complete one — it must be formed from a larger sequence of codes I think, for some keys. Also, the multimedia keys can’t be captured at all (when I press for eg. MUTE, My Computer, or any multimedia key, it does what it has to do — Mutes sounds, opens My Computer –, but the SharpKeys Type Key has lost focus. And neither I can’t capture the ALT keys, PrintScreen. The Pause/Break it says it’s NumLock. And the NumLock it says it’s the EURO sign.
Is there a way to correct the ScanCode in the SharpKeys? Or, maybe a better ideea: an option wich allows me to manualy enter the scan code in TypeKey window(s).
Thanx, a very good proggy!
Well, it should be reading it OK. I mean I’ve used it for the up arrow and down arrow as well as for F7. I’m guessing that there’s some type of driver at work here and that it’s either sending a triple byte code which SharpKeys is known to not be happy with (nor the Scancode Map behind it) or there’s something very, VERY odd with your keyboard… like is it English? That could factor into it as well.
Having said that, per the FAQ, PrtScn is a special key (triple byte) and might not be recognized correctly. ALT gets trapped by Windows: you CAN re-map it but TypeKey doesn’t see it, so you have to pick that out of the list… I don’t know if you’d want to pick keys the other keys out of the same list though: I’d hate to see you remap keys and not be able to get them back!
It’s a GENIUS KB-21e Scroll Keyboard.
This is the link: http://www.geniusnet.com.tw/geniusOnline/online.portal?_nfpb=true&productPortlet_actionOverride=%2Fportlets%2FproductArea%2Fcategory%2FqueryPro&_windowLabel=productPortlet&productPortletproductId=30447&_pageLabel=productPage
Why triple byte keys are not OK?
Well, a shortcut wich deletes the SharpKeys registry info would be welcome then (for eg. program start with parameter -remove for deletion of Scancode Map registry entry). Or anyway, I have a mouse, start the program -> Delete All & then Write to Registry, LogOff and voila…
Apropo: In Win Safe Mode, SharpKeys registry entries are still in use by windows?
Thanx for answering!
P.S.: How/Where could I find a program that scans triple-byte-codes? I see on this page http://www.usnetizen.com/fix_capslock.html some triple-byte code keys. And of course, I need them to manualy enter them in you’r program as well…
Triple byte codes don’t map all that well into the Scancode Map. At least they never have when I’m tried them before. Remember I’m just tweaking a registry key :)
As to that key it’s at: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout – delete the Scancode Map REG_BINARY value. Couldn’t tell you about Safe Mode though – never tried.
With other apps, give AutoHotKeys a shot – you might also want to look into the Keyboard Layout Creator from Microsoft.
Thanx, late, but got to try what you’ve sayed now…
Is there any way of making a shift function, e.g.
shift + 1 = !
remapped to another key?
Nope: the entire key gets remapped. Take a look at AutoHotKeys for macro type functions.
Ok I want to remap the arrow keys to zx./ z=left x=down .=up /=right. Ive done this in the program and rebooted. The zx./ still type zx./ in windows, and the arrow keys type zx./ as well. I have lost all function of the arrow keys. Any ideas whats going on?
Sounds like you re-mapped the arrow keys to use zx./ rather than mapping the zx./ to arrows.
Delete all of the entries that you have so far, write the changes to the registry, reboot, and make sure you have zx./ on the left column and the arrow keys on the right column, when selecting keys again.
I’m a bit disappointed with this program, because what seemed to be a quick hack turns out to require the .Net Framework version 2.0.
I’m assuming you need it for your keycode scanning routines? Isn’t there any other way around it? I don’t exactly want to install the Framework only to mess around with the keys, as useful as that may be.
I’m not sure what the question is or what the disappoint comes from… I used the .NET Framework because C# allowed me to code this up in under a day. Then I did a bunch of “nice” work, like building the list of available keys, setting up TypeKey, the UI work, etc. It was the easiest way to code this application. Also, considering that the Framework is available from Windows Update, it’s easy to get – much easier than having to deal with other types of runtime. If the gripe is over the size of the Framework or not wanting a collection of libraries that you usually wouldn’t use on the box, I can’t help you. HDD’s are priced at about $0.70/GB, so I hope to hell it’s not a size issue and dormant libraries are on EVERY OS these days.
Anyway, SharpKeys just exposes a Windows registry key, so you can always manipulate that on your own – that was more of a pain in the ass than it was to code the app, though, to be honest.
“And neither I can’t capture the ALT keys, PrintScreen. The Pause/Break it says it’s NumLock. And the NumLock it says it’s the EURO sign.”
I’m having the exact same symptoms, word-for-word, with my Dell laptop keyboard. And this computer is only a couple of weeks old.
Plus, whenever you hold down any alphabet key, numberal key, or key with a scroll function within the ‘type a key’ prompt window, it will change from the initial key code to another after a bit. For example, I hold down the R key and it will say “Key: R (00_13)”, but then change to “(E0_3F13)” after exactly 1 second. Then, if you click OK, it will say you have entered an unrecognized key and to visit the site to check for an update. I assume that the (E0_3F13) key code is the function for the continual entry of the key (i.e. “rrrrrrrrrrrrrr” when you hold the key down). This must be why it also happens for keys with scrolling functions.
I don’t want to change any alphabet or numeral key. But I do want to change the Page Up and Page Dn keys.
Great program btw, and a good idea! ^^
Using Apple Pro Keyboard (white) on Windows XP SP2 and .NET Framework 2.0 instaled and updated. Switching “from Special: PrtSc(E0_37) to Function: F13(00_64)” doesn’t work for me. Reboot and nothing was changed. I’ve made many tries.
Greate idea ^^, but doesn’t work for me!
@Aaron: Alt keys are rarely captured via the TypeKey screen, but you can always select those by hand from the list – I know that aspect of the product works because I remap an Alt key :)
As to Print Screen and Pause/Break, those are often problematic due to the nature of the keys (they are triple byte and not double byte scan codes that Windows doesn’t like much) and with notebooks there’s always a chance that there’s an overlapping key. For example on my ThinkPad there’s ScrLk on it’s own but if I want NumLock I have to type Fn+ScrLk. I’m guessing that if you select these keys form the list, there’s a 50% chance that they’d get remapped. And holding down the R, that’s just odd! Never experimented with it…
Above and beyond all of this, I’m just exposing a registry key: Windows is what’s actually remapping it.
@Charles – sounds like the same thing as Aaron: PrtSc is an odd key and F13 isn’t found on most non-Apple keyboards… sort of working in the dark on that one.
I want to map Caps Lock to Alt Gr and
Alt Gr + F to arrowkey forward
Alt Gr + B to arrowkey bakwards
and so on… A mimic of the emacs fastkeys for movement and selections.
Any plan to implement arbitrary keys?
What’s a Alt Gr? And if it’s like Shift or Alt or Ctrl, no: you’d have to map an entire key, rather than just a certain function of a key.
Check AutoHotKeys for macro-style functions – that is more of what you’re looking for.
Hi Randy. Nice program, I use it to remap web-forward on my thinkpad to a left windows key under XP.
My question: I frequently use my thinkpad while docked, connected to a PS/2 Logitech media keyboard (UltraX OEM). I’m trying to remap the media keys to power, sleep, and wake. While Sharpkeys recognizes the keys and the remappings correctly, nothing happens when I press them (the system doesn’t sleep or power down). Any idea why this is happening?
Btw, I tried remapping the Ins key to sleep as well, which also doesn’t sleep the system when pressed. Any ideas?
Could be any number of things: the keys that you’re trying to remap to/from aren’t “standard” keys… for example, if you tried to remap the on-board Thinkpad volume keys or the Fn key, it wouldn’t work: some keys come into Windows, some don’t. Same with the Logitech keys: there’s a good chance that those keys are coming into Windows via a Driver but Windows isn’t allowed to redirect them – hard to say… basically, what ya see is what ya get – the only other thing I could suggest is something that actively redirects keys, like AutoHotKeys or something: that would be more proactive for remapping.
Thanks for the reply, Randy. The funny thing is, remapping “regular” keys (like Insert) to sleep or power don’t work either, although in both cases Windows can “see” and keypresses and recognizes the remapping, so it’s like the command just doesn’t work. I figure it may be something hokey with the Thinkpad implements power functions.
I’ll give autohotkeys a try as well. Thanks again.
Hello from Spain!
Firstly, thanks for your program (I won’t be as “exquisite” as some people around about its qualities and circumstances…)
I’m trying to map a couple of keys on an Airis laptop (you know, the kind of brand that just markets what a generic Taiwanese clonic laptop maker actually manufactures; and no, they won’t give you any support on this), because they won’t be correctly recognised by Windows Xp using “Spanish” as its Control Panel keyboard setting (or using any other, for that matter). They’re physically “isolated” from the rest of “non-Function-keys”, located as they are, after all the Function keys.
Well, I managed to remap one of these (it printed ” º ” in Spanish, now it prints ”
Hi Randy!
Quite useful prog this.
I’m on a MacBook running Windows XP in parallels desktop (virtualization proggie) and have succesfully mapped one of the Apple commandkeys to Alt Gr (Right Alt) to fully utilize my swedish keylayout.
However, the macbook keyboard has a pretty useless Enter key that i would like to remap to a Delete key. The problem is Sharpkeys won’t map the scancode to the delete key, instead it tells me to go to this webpage to look for an update :)
The scancode is: E0_2038
Hello again from Spain (mmm… does that really rhyme?)
Well, further investigations using more tools.
I cleared all mappings, so the keyboard was again as it once was: two keys sending undesired characters to the screen.
Key #1 prints ” º ” and should print ”
Nope: none, honestly… I don’t have access to non-US keyboard much less non-US notebooks. Further, what ya see is what ya get in this case. The whole package of SharpKeys does nothing but provide a list of double-byte scan codes and then shove them into the Scancode Map key that is exposed in Windows. Windows then does the remapping. The good news is that it does sound like you want to move whole keys. The bad news is that I have no idea about the keys that you’re trying to remap.
Having said that you can do the Hex math on the key on your own (there’s lots of references out there), use something is more active like AutoHotkeys, or check out the Microsoft Keyboard Layout Creator which offers a lot more support for non-US keyboards…
Sorry I can’t offer more help!
Thanks a lot, your attention is more than enough. Well, the program already was more than enough.
Thanks, I’ll keep trying!
I’ve got a conundrum. I’ve been using Sharpkeys on my IBM Thinkpad for a couple of years now, remapping the back and forward web keys to home and end, respectively. Today it suddenly stopped working. The registry alterations are still there, but the back and forward keys are doing their normal assigned functions. Interestingly, the rt Ctrl key and rt Alt key remappings that I’ve also been using are unaffected. I’m not sure what I’ve changed on my end. Maybe a thinkpad hotkeys update or something has changed the behavior of those keys. I get the unknown key error if I try to type the key in the Sharpkeys edit dialogue. I’d be happy to do the manual workaround, but I don’t know how to find out what the scan code for that key is. Is there a simple way? Thanks very much!
Hotkeys alone doesn’t do it, but if you accidentally downloaded and installed the Web Keys application, it could be trapping the keys before Windows can get it.
I run with Hotkeys installed, but I make sure that the Web keys stuff is uninstalled and that Hotkeys doesn’t know about it… I get stuff like Fn+F7 and Fn+F5 working, but the web keys aren’t active (so they get passed to Windows).
Thanks, that was it!
You da’ man!
I’m also suffering with trying to remap my Fujitsu Pause / Break key into delete. I think I’ve read all of the threads and don’t see a solution. Any new ideas out there? I understand that the Pause key is a triple byte and so the code is not picked up by SharpKeys, but does a code exist and will it work in the Keyboard Layout registry hack?
Using the Commtel slimline compact multimedia keyboard (89 key, 10 special) there are two special keys which are unusable:
(E0_1F3E) which is a ‘close’ or ‘delete’ button (it’s got a X above it)
(E0_1F0F) which is a window minimise button.
neither can be mapped in any program i’ve so far used as they are not recognised, your program got the closed by telling me what the key is, but alas, not joy still.
Any ideas?
From Wikipedia, mostly:
AltGr is a modifier key on PC keyboards used to type many characters, primarily ones that are unusual for the locale of the keyboard layout, such as foreign currency symbols and accented letters. If a key has a third symbol on it (on the front vertical face or the bottom right of the key top, sometimes in a different colour), then AltGr can often be used to type that symbol.
IBM states that AltGr is an abbreviation for “alternate graphic”.
The function and usage of AltGr vary according to the exact keyboard layout, which in turn varies according to both the locale and the operating system. On German keyboards it is used to type the symbols {, [, ], and }, which are commonly used by programmers and technical writers.
On those keyboard layouts having a defined AltGr key, it is equivalent to holding down the Ctrl and Alt keys together, which means many Microsoft Windows keyboard shortcuts (for example, shortcuts to icons in Windows Explorer) can be operated using only one hand from either side of the keyboard. However, AltGr + Del does not function as Ctrl-Alt-Del does.
Finally, AltGr also provides access to special keyboard characters such as the Euro symbol.
In Microsoft Windows, the functionality of AltGr is also available via Ctrl+Alt. This is useful in case the keyboard is not able to differentiate between the Alt key on the left and the AltGr key on the right.
It should be a completely separate key than a multiple key press, as the Windows key is different than Ctrl+Esc.
I am grateful for this program, so thank you for the time and work that you’ve put into it.
can sharp keys swap the Fn and left cntl keys ?
Or rather, is it possible to use the registry to swap Fn and left cntl keys ?
When I use the “type key” function in Sharp Keys, it tells me that the key code is E0_400A and then that it doesn’t know about it.
Could I use the value provided by sharp keys to edit the registry appropriately ?
There are so many things I love about my Samsung X60, but having the cntl key on the right of the Fn key – instead of bottom left where it belongs – is just so infuriating. Am I just going to have stop whining and get used to it ?
thanks,
Kevin.
Nope. At least not in most cases: the Fn key is different keyboard to keyboard, OEM to OEM – it’s a complete crap shoot. If it’s working, it’s good – if it’s not, it’s not going to… at least as far as I know. Something like AutoHotKeys might have more luck, if ya wanna try them out.
Hi Randy,
I did more digging and see that this is a very common question so thanks for answering.
However, one thing I do keep seeing is the “most cases”, ie if no key code is sent then nothing can be done.
But given that the Fn key on my keyboard DOES send a key code (E0_400A) according to your Type Key function, could I not use this value to edit the registry directly and overload the key so that it was also my Left Cntl key ?
thanks again.
In theory? Sure: Fn should work like a Ctrl or Alt key. In reality, it’s still a 50-50 shot and the bigger problem is the triple byte code that the key is returning: SharpKeys only deals with double byte codes, which 99% of the keyboard offers. And even if it did handle it, it’s still a 50-50 shot: I get keycodes from my Lenovo hardware keys on my ThinkPad but they are still un-mapable… the hardware layer steals it and ignores the remap.
Hi Randy, OT:
I ran into SharpKeys while trying to figure out why the Page Up and Page Down keys on my old Inspiron 8000 laptop no longer work. The SharpKeys Type Key window doesn’t see me pressing either of them.
Would you guess that they’re physically dead? Everything around them works fine.
Anything else you know of that might intercept keys on a low enough level to keep SharpKeys from seeing them? Any way to find out what intercepts there are?
Thanks for any help, and nice tool (:-).
Hi Randy!
Thank you very much for very useful utility!
Hi Randy, great app, thank you
how to remap windows hotkeys directly from the Windows XP registry?
Keys : – Print screen to F12
– Shift + Print screen to f12
– Alt + Print screen to f12
Thanks
I don’t think I get the question…
Print Screen is a special key (see the FAQ for more) and the key on it’s own can be remapped, but Shift and Alt can’t do different things as modifies. What I mean is that if you remap Print Screen to F12, Alt+Print Screen will remap to Alt+F12.
Man, How do I remapp the Key “pause break”?
the programa says that doesn’t know this key.
See above:
“As to Print Screen and Pause/Break, those are often problematic due to the nature of the keys (they are triple byte and not double byte scan codes that Windows doesn’t like much).”
Hi,
Did anyone get it to work with a dvorak layout? I keep getting the qwerty keys when trying to remap.
oO, that’s a good one. I guess the question is do you have a Dvorak keyboard or just a Dvorak layout on a Qwerty keyboard? If it’s just the Layout, then it’s Windows fault, in that it’s not respecting that layout at the level of the remapping. If it’s a propery keyboard, then I have no idea: I’ve never had access to a Dvorak keyboard (which is probably a good thing seeing as I’m at about 100-120 wpm – Dvorak being a supirior layout… I might get that up to 150, in which case I’d just stop talking!)
It’s a regular qwerty keyboard that I re-arranged into a dvorak layout. Assuming it’s the fault of Windows, I figure if I switch it back to qwerty in XP and remap the whole thing it should work… And if that fails I’ll punch the computer until something magical happens.
Thanks for the app. It’s one of a kind :)
Ah, OK, so that makes sense, at least… and yeah, I think beating it is totally viable. As well as telling it that you’re going to reuse it’s parts for a toaster. It might help.
Any way to swap the Fn key with Ctrl key?
Short answer: no.
In depth reason as to why: Plz read one of the 46 comments above or check the FAQ :)
I write the values myself in notepad. I use this (http://www.usnetizen.com/fix_capslock.html) as reference. It’s not hard to create the .reg file initially, but it’s a pain to make changes in it.
What I need from this tool is a way to save the modifications in a .reg file, so I can run it on other computers. Without that, I’ll still be writing hex values in notepad.
Hurrah for notepad? And for plugging another web site that has the same information I posted in 2002…
Anyway.
When you’re done making changes, why not export a REG file from regedit? One of the reasons why I don’t export values is because regedit already does it – the “hard” part of the remapping is getting the scan codes and mapping them out properly.
Good point, I can use regedit. But the average user probably can’t. In any case, I can’t import the mappings that are already in the registry. Maybe SharpKeys is looking for the global values, and I’ve set them in HKEY_CURRENT_USER.
BTW, I wasn’t trying to plug anything, that just happened to be the first site I googled up.
Does SharpKeys work with USB keyboards, or just PS/2s?
Should be invisible to SharpKeys (and Windows)… either should work fine.
Hi
Looks like a gr8 program if I can get it to do what I want ….
I have a US laptop hence US keyboard … but I have moved to the UK.
I need to regularly use the currency symbols for the British Pound � and the Euro � and would like to remap a couple of keys to be able to quickly type these characters.
I note that neither of these are listed in the key list. Also the ‘type key’ does not allow you to type in a full ascii code (eg. alt+163) to input the character.
Any help would be much appreciated.
Regards,
Adrian.
ilike for you to send me a book on thekeyboards
Can’t get AltGr on a ThinkPad R50e keyboard…could it be added, please?
Number: E0_2038
Much appreciated!
Great utility!
mark
Your miracle software literally saved my butt. I can’t thank you as much as I would like, lol. I’ve been experiencin grave problems with my keyboard which your software momentarly solved and I am much relived. I would like to contact you, that is if you will, to see if you know something about my keyboard problem which has something to do with keyboard mapping/scancodes, mixed-up functions, etc. Thanks again…
I just wanted to say thank you for this utility, I’ve been using it for …well years now.
I program for a living and like a very specific PSK-3300 keyboard but the key layout was a bit wrong for some of the control keys etc.
I am about to get a new computer with Vista for the first time and just remembered I’m using SharpKeys and sure enough you have Vista support. I can keep my old keyboard with the worn off letters after all!
Cheers!
Can anyone tell me how to find the british pound sign on a Dell keyboard? Shift 3 comes up with #
Why the program not compatible Apple Keyboard? Namely аdditional function keys (F13 through F15 or F16), volume up, volume down, mute, and eject.
Whether support of the given keys will be included in the following version of the program?
Well I’ll be blunt: this is all covered in the FAQ as well as the comments above and the product description… SharpKeys isn’t remapping the keys, Windows is. Accordingly, if Windows doesn’t know about a key (i.e. Volume which is likely to get handled by the hardware) then it can’t remap it. Beyond that, I can’t speak to the Apple keyboard because I don’t have one: I would have expected F13-F16 to be supported, but again, if they aren’t getting to Windows, Windows can’t remap them.
HTH!
Hi! Great program, I needed to remap key: ‘ with ` (found usually above the TAB key – their output looks similar, but one is wrong as many people tell me). The ‘ (shift=@) key is the correct version(“mums'”, “dads'”, “my computer’s alive”. I always type using that top-right ` key which is a throwback to my old computing days – the ‘ key was there, possibly Amiga or C64. With this new remapping I will no longer suffer the abuse of countless billions online, telling me to ‘type that thing correctly, man’. One thing though, using the Delete button in your program will undo previous changes, yet the FAQ states that if you remap incorrectly, you’re screwed. Thankfully I wasn’t screwed, thanks to Delete – originally I did it wrong because I like to dive into programs without thought or attention. Cheers for the program :)
I’ve observed an odd phenomenon, which a previous poster alluded to. I remapped a key to PgUp, and it functions correctly. However, when holding down the remapped PgUp, the screen does not further move, whereas in holding down the original PgUp, the screen will scroll further after a short delay.
As the earlier poster mentioned, if you hold down the original PgUp key within the Type a Key dialog, it’ll first show Page Up(E0_49), and then after a brief pause will change into just (E0_4049). Is there any way to emulate the key holding down ability of the original keys?
Long answer short: no. I mean the whole key gets remapped, so if the “regular” page up key moved to another key, and it had that functionality, then it should follow. If not, then it’s prolly some hardware special key code, which Windows wouldn’t know about… very odd though.
Hi!
Saw this forum and read about all the strange keys people have and their problems to determine what they actually send. I’ve written a virtual on-screen keyboard called Freefloat Key*One. If you install it and run the Designer program, add a normal key to the empty canvas, right-click on the key and select Record Keystrokes, click New and then you can record keystrokes at a very low level. Click Stop when you are done and inspect the key info in the list.
Please note that we are unable to answer any questions about keyboards, keys, or whatever unless you have bought the product.
http://www.freefloat.com/keyone
/rob
I’m using a Mac Keyboard in windows. I’m trying to map the Eject and volume functions but SharpKeys tells me it doesn’t recognize the keys. It also doesn’t seem to detect the alt/option button for some reason. It works in windows so I’m not sure why SharpKeys wouldn’t recognize it. Great program otherwise though. I was about ready to return this keyboard when I saw that it didn’t have a print screen button.
If SharpKeys is telling you that it doesn’t recognize it, it’s because of one of three things: a) Windows doesn’t know about, b) Windows and/or hardware is intercepting the key before it gets to Windows-proper (which happens with BootCamp-based Windows) or c) it’s a triple-byte key which is a pain in the ass to map (for lack of a more technical description).
If it’s a or b, there’s nothing to be done with the Windows-based remapping (SharpKeys doesn’t remap – it just exposes a registry key). If it’s C you can look into something like the Windows Keyboard Layout remapper…
When I press the keys under “type key” it tells me I pressed 00_100 for each.
dude man, great product… im building a wireless DDR pad from scratch and i bought a Targus wireless 10-key pad but StepMania wasn’t liking most of the keys… your program fixed everything for me, great job man
Have two new keys to report:
(E0_4059): Enable touchpad
(E0_4058): Disable touchpad
Anyway we could get those added to a new release?
Triple byte codes are bizarre creatures… especially for keys that aren’t found on “normal” keyboards. Having said that, check the comments and/or the FAQ for other pro-active remapping solutions like AutoHotKey or the Microsoft keyboard layout thingy…
First of all, great work. I’m going to re-read the FAQs and comments again.
Someone asked: “Does SharpKeys work with USB keyboards, or just PS/2s?”
Answer: “Should be invisible to SharpKeys and Windows� either should work fine.”
I’ve noticed something going on with USB keyboards which I have a tough time
dealing with. On a PS/2 keyboard I find I can wrangle the keys to do whatever
I want, but with USB I have to compromise.
For example, I cannot prevent Windows Media player from running when I press “play”
on my USB keyboard. Nor can I remap that key. It will not remap when I use SharpKeys
“press key” function (I get 00_100), nor can I remap by manually selecting
the scan codes. I already know which scan codes I’m remapping.
I think a USB driver prevents this from happening.
Using SharpKeys, a (non-MS) PS/2 keyboard, and IntelliType Pro, I can pretty much
make my keyboard do whatever I damn well please. With USB, not so much.
In a first time, thank you for your software SharpKeys.
In fact, i want to remap my keyboard key “Wake Up” to “Mute”, the key “Sleep” to “Volume Down” and the key “Power” to “Volume Plus”.
In a first time, i have trying Sharpkeys with the “Wake Up” key remapping in “Mute”. This seems to work.
So i try to remap the “Sleep” in “Volume Down”.
The remap seems to work: i can see and hear the volume down but my PC immediatly after go to sleep.
The remap of the key “Sleep” don’t exchange the key but add another function to this key…
Is it logical? Do you know this problem?
Read you soon
Regards,
NOVI
Sounds like the driver that the keyboard is using is still getting it’s hardware command even though Windows is treating it as Volume Down… nothing that can be done for that. Unless your version of Windows allows you to change the behavior of Sleep – I think Vista might allow that… if you change it to “Do Nothing” you should be OK.
I’m using Windows XP SP2.
I have no “special” driver for my keyboard. It is a old Dexxa keyboard (model Y-SF11).
It is assimilate to a Logitech PS/2 Keyboard.
The pilote drivers are: i8042prt.sys, kbdclass.sys, L8042Kbd.sys and sskbfd.sys
Regards,
Novi
Which doesn’t tell me anything :) Windows is remapping the keys, not SharpKeys – further, check the Power control panel app and see if you can define the behavior of the Sleep button there.
Effectively, i can change the property of the Sleep button to “Do nothing when press”. But this changement is for the Sleep key of the keyboard AND the button in the front side of the PC.
Alas, i use the button in the front side for shutdown the PC :-(
Strange thing:
Usually the front button is programming to shutdown PC. The Sleep button, when press, go to sleep the PC.
With the remapping, when the sleep button is press, the volume is downing and the PC go to sleep.
If i change the property of the button on the front side to be “Do Nothing”; so the press action of the sleep key make the volume to go down and the function Sleep is not executed !!!
In one case, the 2 buttons have differents properties and in the other case, the 2 buttons have the same property…
Bizarre..
I’ve this keyboard http://www.profil-marketing.de/imgbase/files/1441/Genius_LuxeMate810.jpg and i’m trying to remap the green button and some other special keys using SharpKeys but the program doesn’t get notifed when i press that keys, what can i do? how can i remap that keys??
Many thanks in advance,
I’ve forgot to say that i’ve readed also this thread of linux users talking about this keyboard, hope that it helps: http://www.gossamer-threads.com/lists/mythtv/users/267003?search_string=luxemate;#267003
It appears that some keys are mapped throught mouse codes…
Thank you for a very useful and useable tool. It solved an ongoing problem for a friend who was accidentally pressing the left control key instead of the left shift key and when he typed the next letter, many unpredictable and usually non-reversible things happened to the text he was writing. With SharpKeys I disabled the left control key. Thanks again.
Charlie
You pressed: (E0_74)
You’ve entered a key that SharpKeys doesn’t know about.
You pressed: (E0_73)
You’ve entered a key that SharpKeys doesn’t know about.
—
I love this program and it helps me a whole lot.
But I just need that two more keys. What info is needed for adding them?
Thanks :)
Hi,
I have changed my + key on they number side of the key board to be the tab, is there a way i can turn this on and off??
Thanks
Is there a way to add a 2nd TAB key to the keyboard(on the right side for example… perhaps the scroll lock key) Thanks in advance!
Sure: just pick the key you want and tell it to be a TAB key. I’ve done similar stuff, turning the Right CTRL key into a Windows key on many a keyboard.
Looks interesting. Thanks.
Vasudev
http://www.dancingbison.com
Any way that I can map a key to start Firefox?
I see email but not browser.
Picky, I know, but it would be nice if your postings had the most recent entries at the top instead of at the bottom. This is more usual and easier to track.
Thanks.
SharpKeys doesn’t decide what the buttons do – that’s up to Windows. So if you have a physical Browser button on a keyboard OR if you remap a different key to be a Browser button, it’s up to the driver software in Windows to decide which application gets launched if that button is clicked…
Hi Randy,
I use SharpKeys to remap some keys of my Apple Wireless Keyboard which is connected to an HP laptop computer. Works perfect! THX for your great work on this little helper.
Needless to say that the external keyboard stays at home when I use the laptop “on the road”.
Therefore I’d really like to have an option in SharpKeys that allows temporary disabling of the key remapping (I know this will include a re-logon).
Perhaps you might consider this when working on this tool again.
Nathan
When i try to type in the function key nothing happens, every other key i press, the program sees. Any ideas on how to get it to see function? (i want to saw function and control)
EDIT: (i want to SWAP function and control)
@Nathan – not within SharpKeys itself but you can certainly export a REG file for the key/value that Windows uses for the remapping… I do that myself for most of my PC’s: I turn off Caps lock on every PC, so I have a reg file for that – the rest is all fine tuning (like whether or not I need to inject a new Windows key in it!)
@Josh – Fn is different per keyboard (per the FAQ and comments here) – the Fn key often doesn’t make it’s way into Windows, getting trapped by the hardware. Same thing happens with the new Apple keyboard: Fn is totally ignored by Windows (and probably OSX – I’m betting the keyboard is sending a different key code when Fn is pressed).
You just saved me, pal.
New Toshiba with a duplicitous back-slash key crammed between the “z” and … (ridiculous). Two hours with this thing, and I felt like I’d been a secretary for 25 years.
Works like a charm with Vista. I changed the duplicitous back-slash to another … Life is better now, and I thank you. Truly.
Cheers :)
Hey, I’m using sharpkeys (2.1) to remap a thinkPad X61t’s Back and Forward to Home and End. Remapping the right ctrl and application key to page up and page down works fine.
But the forward and back don’t seem to work. They don’t do the forward and back function, so it seems like that part is correct. But home and end doesn’t work… Any ideas?
Thanks!
Depends – did you use the key detection or try it from the list? Different versions of Lenovo (and IBM) ThinkPads have used different key codes… they aren’t automatically Web Back/Forward unless a drive is installed…
What I do know is that I currently have my back/forward keys remapped to Alt and Ctrl respectively, but I didn’t install any drivers for it… might make a difference.
Hi, I’m using an Apple Keyboard on my pc: http://blog.wired.com/gadgets/apple_kb-1.jpg
I’m trying to switch both the command keys with the alt keys (as it would be on a normal windows keyboard). When I use Type Key, it recognizes both of the command keys as left and right windows keys.
When I use Type Key and press the left alt, nothing happens. However the key functions fine as alt in windows. I tried choosing left alt manually, with no success though.
When I press the right alt, i get E0_2038. However it prompts me that “you’ve entered a key that SharpKeys doesn’t know about”.
I’m mostly interested in remapping the left alt/cmd keys.
Can anything be done?
Alt is a hard key to trap with Type Key because it toggles the system menu, and doesn’t show up. As for the Ctrl key, if that’s showing up in Type Key as a Windows key, Windows thinks it’s a Windows key. No way around that.
Either way you can select whatever keys you want from the list – and will have to for Alt – and map it to whatever else you want in the list, including Left vs Right keys.
Randy, I have a ThinkPad T61 w/Vista and removed most of the ThinkVantage software because I don�t like extra stuff doing things I don�t need. Now the big blue ThinkVantage button does nothing. Since the �Productivity Center� software controls that button, there is nothing telling it what to do and there is nothing I can change. I�d like to know if Sharpkeys can find that button and let me use it to open another program like Word or IE.
Thank you.
Nope. I tried using that, as I also have a ThinkPad, but it’s looking like that key, along with the three volume keys are hardware based: can’t remap those… sorry!
http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work
HKEY_LOCAL_MACHINE –> SOFTWARE –> IBM –> TPHOTKEY –> 8001
Change the File variable to anything you want to execute when u press blue ibm access or thinkvantage button….
Hi,
I have new usb Apple slim keyboard(http://www.apple.com/keyboard/) and FN key and eject key and F14 key dont work I am using Windows Vista… Please help!!! :-(
Thank you…
Gorazd
That’s to be expected, given the keyboard.
In other news, there’s rumors of being able to get the Boot Camp Vista driver for the new keyboard – do a Live Search on it and you’ll get more info.
I cannot seem to find the @ key…
Yes but i use this keyboard on windows Vista on PC not Mac computer. Where can i get this driver from boot camp?
The Boot Camp driver is for running Windows on Mac hardware. The keyboard is Mac hardware. Ergo, the keyboard driver that comes with Boot Camp will support the new Mac keyboard on Windows. At least that’s what I’ve heard – I did a search using Live and I got more info there.
Hi,
I got a new X60 Tablet running Vista. For half an afternoon, I’ve been trying to re-map the annoying WWWBack/Forward keys to something useful. While the web is awash with tricks and tools, none of them seem to work for me. SharpKeys reports 00_100 as the code for either key. Again, this is no weired third-party USB keyboard, but the built-in one of the Lenovo laptop. I’m desperate. Any hints?
Thanks,
David
So u saying that driver will not work on windows Vista which run on PC?
@David – no idea on that. On my T60p, they were mappable… it could be on the X60 Tablet that they did something new or funky – for example, Windows is oblivious to the volume/mute/ThinkVantage keys… they may have changed it for the tablet.
@Gorazd – I’ve helped you as much as I can. Do some research and you’ll find your answer.
ok one more question. Whay Sharpkey dont recognize F15 key? and why i dont have in Sharpkey prtsc key? Perhaps is somewhere in unknown key?
Thank you.
Gorazd
Probably because most PC Keyboards have had F1 – F12 since 1985… F13-F16 are usually only found on Mac keyboards.
But again, with the Boot Camp driver, this would be a moot issue.
Help!
I really need the “shift” key on the right to program it to be “Fn” on a Vaio laptop, to be able to use “pg up” and “pg down” easier (at this moment “Fn” key is on the left, far away from “pg up” and “pg down”).
Please, can somebody help me step by step with this (otherwise I screw up my laptop for sure), as I am a complete idiot girl when comes to computers?
Many thanks!
Got nothing to do with your gender: the Fn key is very often un-remappable. On some notebooks it works; on most notebooks it does not work.
Regarding:
“ok one more question. Whay Sharpkey dont recognize F15 key? and why i dont have in Sharpkey prtsc key? Perhaps is somewhere in unknown key?”
“Probably because most PC Keyboards have had F1 – F12 since 1985… F13-F16 are usually only found on Mac keyboards.”
Im using the new Mac keyboard on a PC and Sharpkeys has no problem recognizing the F13-F15 keys via “Type Key” in mapping.
F16-F19 is recognized as Unknown but mappable.
I just mapped F13 to prnt-scrn since the keyboard lacks it.
Anyway thank you for a great app!
Thanks – I got one of those new Apple keyboards to use on my Vista box and your program worked perfect to map the F13 key to PrtSc, and to reverse the left Windows and Alt keys like they are on a regular PC keyboard. Works like a charm!
Hi,
Sharpkeys works great. I just wonder if it would be possible to have it use different mapping for every user accounts on the same computer under Vista.
thanks,
Peter
Hi, I think the app is great, though how might I map the “Break” key? I’m another mac keyboard user that want’s to map F16 to BRK, it’ comes up with (00_E1) as the key when I use the accessibility on-screen keyboard.
Nice tool, works well on XPsp2 with an ortek mck-91 (mini keyboard). I’ve configured all the media-extra-keys to work, without having to install the lame software/drivers that came with the keyboard. Oh yes, and it works perfect with my french keyboard.
Thanks from Paris, France.
my big enter key is damaged and when i have transform any key to this big enter it works but in the game not working
Probably because the game is getting input via XInput (or possibly DirectPlay) which may bypass the “standard” Windows remapping hooks. Hard to say without knowing the game, but I think the best thing in this case would be to replace the keyboard.
I’ve got a toshiba with window vista, the keyboard is not functioning properly, when pressing shift3 it gives the pound (English dollar sign), shift2 gives (“)and shift” gives (@). Can somebody help me step by step.
Many thanks
Sounds like you’ve landed in UK keyboard layout somehow… I’d say check Control Panel and the multi-language input panel and make sure they’re both set to EN-US
Hello, I got SharpKeys awhile back and remapped f9-f12 to be my media keys for itunes – stop, play, previous, and next in that order. It was working fine before, but suddenly, they don’t work when itunes is minimized! I like being able to switch tracks while I am working in other windows (browsing, Word, etc., etc.) and it’s a pain to switch back to the itunes window every single time. Any idea how to fix this?
If I had to guess did you install a new version of iTunes or a keyboard driver since this stopped working? I’ve had very bad luck with getting iTunes to change tracks, depending on the version of iTunes.
FWIW, SharpKeys has nothing to do with the function of these keys: if iTunes isn’t listening when Windows tells it to change track, there’s little Windows can do about it.
Just DLed this, and it works fine from what I can tell, but main reason I did is to find a way to be able to map one of my multimedia keys to automatically turn on one of my playlists in Windows Media Player. A friend of mine has his keyboard set up where just pushing one of his multimedia keys pops the Playlist he uses most up and then he just presses the play button to start it up. Do you know how I’m supposed to do this?
Probably not with SharpKeys – it sounds like he’s got an “extra” drive for his keyboard or he hooked up his media player to respond to a key. Check the options that come with his keyboard driver – I know things like IntelliType has a bunch of options that you can set for all of the “extra” keys. Like does Play work like Play, Play/Pause toggle, etc. The reason why SharpKeys can’t help in this is because there’s no key in Windows that is known as “popup play list” – if there was, then you could map that to any other key :)
Is there a way to to swap the comma with the less than. When I am programming, I use the less than symbol much more than the comma. Everything i’m finding only lets me change it to a different key. Any help with changing it so the shift is swapped on it would be great. Thanks!
I found what I needed in order to make the change I was looking for. Microsoft has a tool that allows you to create custom keyboard mappings and it worked great. The link to the tool is: http://www.microsoft.com/globaldev/tools/msklc.mspx
That’s interesting: I didn’t know that it allowed you to remap half keys like that… I thought it was whole keys only. It’s all good though: the comments show me recommending the layout editor as recent as May!
Want to map keys to CTRL-C & CTRL-V.
NumLock = CTRL-C
Pause = CTRL-V
Can’t be done with SharpKeys.
awesome tool! But how do i change F17 to danish letter “�” running an american layout on the american keyboard.
No idea – never heard of an F17 key… you might have to use the Microsoft Keyboard Layout creator thingy.
Does the msklc allow remapping of letters temporarily?
toli
I use the new apple aluminum keyboard on my pc and its working fine. Sharp keys detects the f17 f18 and 19 key fine. But how do i map the “�” to one of those keys?
Your app does not support some buttons on this keyboard.
Wish it did.
http://sprignaturemoves.com/blog/2007/08/23/spriglet-8hack-the-buttons-on-a-dell-sk-8135-keyboard/
the dell sk-8135
Totally different part of the registry: the key that I expose is something that Windows uses to remap keys. What this post is about are things in the Dell or Intellitype driver – it’s not remapping keys but it’s assigning different functions to existing keys…
HTH!
plzz guys i need some help, im trying to play BF2
but de left control is a wrong position in my notebook, the fuc…. Fn , there is some way to change their functions? plzzzzzzzz T.T
Just wanted to say thanks for the software, makes using Windows much easier. I primarily use it for Caps Lock to Control key mapping.
Hi Randy, thanks for a great piece of software. I have a small suggestion. Could you please add two “Load file” and “Save to file” buttons ?
This would help users exchanging whole mapping files created with SharpKeys !
For instance, everyone seems to be talking about the new ultra-thin Apple Wireless Keyboard ( http://blog.styx.in/attach/4/1121101516.jpg ).
It would be great if someone could use SharpKeys to make a complete mapping file (including the Option & Command keys, the F1-F12 keys
with and without the Fn toggle, the four arrow keys, etc.), and share it with the community in just a few clicks.
We could even imagine you hosting the most popular keyboard files in your site, or providing them bundled with future versions of SharpKeys.
What do you think ?
Keep up the good work ! Thanks again.
Not much I can do for this one… when you export the Windows owned key that SharpKeys is working on, there’s a bunch of stuff in the subkey that comes with it – I’m not willing to take one machine’s settings and offer that .REG file for all keys. Especially when someone can download SharpKeys and do that themselves :)
Also, if someone has Leopard (and assuming that the majority of the owners of the new Apple keyboards have new machines and/or are AppleHeads and bought the OS on their own) then they have the Apple-supported keyboard driver that’s available via BootCamp. That driver even includes support for the disc eject and all of the Fn-based functions…
So I mean, I could, but this sounds like a solution that needs a problem, ya?
Is there any way to reset the keyboard for those of us who have goofed?
Sure: remove all of the entries that you made with SharpKeys and reboot. You should be able to do all of that via the mouse, I’d think, so the keyboard shouldn’t interfere.
I see, the SharpKeys window contains the changes, as opposed to it being a log. Thanks!
I have an IBM ThinkPad T61 Notebook. I wanted to swap the Fn key with the left Ctrl key. So I mapped
From Fn to right Ctrl
and
From Right Ctrl to Fn
Now I have two Fn keys and have lost Ctrl.
1) How do I get Ctrl back
Fn keys don’t always re-map since they are often hardware specific: you’ll have to remove both mappings and leave the Fn key where it is.
Randy,
Thank you. I removed both entries and rewrote to registry and it brought the control key back. thank you.
The Fn key is a curse. Its in completely the wrong place. I will see if IBM have a hardware fix for it.
Its such a pity it doesnt work as I got ahead of myself and swapped the keycaps ;-)
Thanks again.
Actually, it depends on what you’re used to – ThinkPads have always had the Fn in the place where they are now – if your last three notebooks over five years were ThinkPads, it IS in the right place. Toshiba puts it between the Ctrl and Alt keys which boggles my mind, since I don’t use it as much. Dell, HP, and Sony have moved it over the years – Apple put it up where Insert should be (on their wired metal keyboard.)
As you can guess, this non-standard placement reflexes the different uses of the Fn key (and why Windows doesn’t remap it!)
All about perspective, either way.
True enough.
Another question if you please.
Swapping keys. I want to move Insert to PgUp and PgUp to Insert, then Delete to PgDn and PgDn to Delete.
When I do this it gets confused and gets them wrong. Is there a special procedure for swapping keys?
Jeremy
Hm. Ya know, I’ve never tried that, swapping keys… I don’t know if that’s possible with just SharpKeys because you’ll probably end up with both keys acting like the last key set… so in this case, two Inserts and two Deletes. For something like this, you might want to look into the Windows Keyboard Layout Editor, which a few other people have mentioned in the comments… it might give you better control over swapping two of the same keys…
“Apple put it [the FN key] up where Insert should be (on their wired metal keyboard.)”
Great app here. I was wondering if there is any word on the code to get that FN to be mapped to my beloved INSERT? I have that new cool/weird alum KB from Apple
Thanx!
My keyboard (inland) has 3 extra keys which seem to be unmappable or non-disableable.
One of these is Shutdown and the other is Sleep key when I type it to map and should be mappable but computer still goes into sleep.
Is there any way to disable the key?
Thanks Randy. All very useful
@Beau – not that I know of: it’s a hardware key :(
@Aditya – you can try selecting it from the list, but as with some hardware related keys (Vol, Play/Pause, Sleep, Power, etc.) it’s a hit and miss attempt
Randy,
hi me again. ThinkPad T61
I am tryng to map:
PgUp to Fn Up arrow
PgDn to Fn Dn arrow
So I have the following 0 the scan codes were given by the software when i pressed the key.
Special: Page Down (E0_51) to Media Play/Pause (E0_22)
Special: Page Up (E0_49) to Media Stop (E0_24)
After rebooting. the Page up and down keys don’t work anymore so it has moved them, but the Fn Up arrow and down arrow do nothing.
Any ideas? i suppose its the Fn key causing problems again.
thanks
Jeremy
None: b/c the Fn key means all bets are off.
It worked. I had the map the wrong way round !!
It should be
Special: Media Play/Pause (E0_22) to Page Down (E0_51)
Special: Media Stop (E0_24) to Page Up (E0_49)
My misunderstanding what FROM and TO meant. I was reading it as Move FROM TO. But its CHANGE FROM TO
SharpKeys doesn’t work to remap the keys on a Sun Type 6 USB (UNIX layout). The Help, Stop, Props, Front, Open, Find, Again, Undo, Copy, Paste, Cut, and blank keys (on the left side) and the volume-control keys (on the top-right) don’t work at all for the ‘Type Key’ feature, at least.
I was wondering if there is a way to disable the Shift+numpad functions. For example, I would like “shift+1” to not activate “end”, but at the same time still be able to bind keys to “shift+1” for a pc game.
As per all of the comments, the FAQ and the blog posts:
Nope: the entire key gets remapped. Take a look at AutoHotKeys for macro type functions.
Can you tell me where in the registry the key changes are? I’d like to use more of my function keys as internet keys, but can only use Home and Favorites. I’d like to add things like Ebay and Netflix and so on. Thanks
I don’t get the question… I mean there are no eBay or Netflix button to remap it to… as for the registry location, it should be in the FAQ.
Great utility, Randy! If I can suggest a feature: it would be nice to have the option to temporarily disable the keyboard changes, like toggling them on and off. Or at least the ability to save original and changed mappings to REG files, so I can load them as I need.
This would be useful for when someone else is at my keyboard, like when I use it for training someone. Thanks.
When I said I wanted to use more of my function keys as internet keys, I meant with your program, I can remap F8 to Web: Home. Somewhere your program is reading the information of what my home page is and now that I’ve remapped F8 to Web: Home it goes to my home page when I press F8. I’d like to remap maybe F2 to Ebay and F3 to Netflix and so on. That’s what I’m wondering how to do.
Thanks,
Carol
@Bob – you can do that with the registry already… reason why it’s not in the app is because I didn’t want to be “on the hook” for malicious reg files being loaded and injected through SharpKeys – I leave it to the registry.
@Carol – Ah, OK – nope, that’s not do able. The only reason why there’s a Web:Home key is because the OS supports it… anything else would need addition software. If you have a Microsoft keyboard that has the My Favorites buttons, you can always give that a try with IntelliType.
Thanks, anyway, Randy. I don’t have a Microsoft keyboard, so I don’t have that key. I looked at your FAQs but couldn’t see where the key changes are in the registry. Could you point me in the right direction, please? Thanks again,
Carol
Where in the Registry can I find the key(s) that are being changed? I searched through the Registry and found plenty of keyboard references, but didn’t see anything obvious.
Here’s a blurb on it: https://www.randyrants.com/2004/01/keyboard_remapp/
Hi Randy,
Thanks for a very useful program. I recently used it to remap the page-up/down keys on my laptop to Home/End keys. The remapping worked fine but a couple of the windows system shortcut behaviours seem to have changed. Typing Shift + Del or Del alone now brings up the right-click alternative actions menu instead of deleting the file. Has anyone ever had this issue before? If so, would you happen to know of any workarounds?
Thanks!
-TP
Unless you remapped the Del key as well, there shouldn’t have been any other change… I’m a bit at a loss.
I have a similar problem like Aaron that posted in “September 09, 2006 at 07:34 PM”.
My problem is that all normal keys (A, B, C, D, E, F , etc) are picked as “(E0_3FDC)”. This code does not appear after a second in my case but immediatelly. I am using a Microsoft Natural Keyboard Pro on a normal desktop computer.
Btw, is the “sleep (E0_5F)” key the same as “standby”? Because I tried remapping the standby key on the keyboard using the sleep code and it doesn’t work. But I could remap successfully the “back (E0_6A)” key to volume down.
Based off Aaron’s comment from a while ago, I’d say you are pressing the key down too long when you are in the TypeKey window (I just verified it myself, actually – it only happens if you press and hold a key).
Sleep should be the same as Standby, but there are a few things that go into that. One is that your computer is configured to sleep when sleep is pressed (see your Power settings) and the other is that the key that you’re remapping it to is a regular key and not a hardware key…
HTH!
When I press and hold the tab it shows (E0_3F0F), when I just press it without holding it shows (00_0F). holding the shift: (E0_3F2A), just pressing: (00_2A).
Pressing or holding A, B, C, D, E, F, G shows (E0_3FDC), which is a different code from other keys. Special keys are detected, normal aren’t. That’s my conclusion.
Well, from what I understand that there’s nothing we can do about this situation, but I wanted to give information for further studying ;)
I have the “sleep” button configured to standby on the Power Options, and remapped to something else just to test it, but the key still makes it sleep.
Thanks for your comments, I will keep testing and configuring the keyboard.
Ah ok, now I get it! I have to disable the standby on Power Options to get the Sleep key to be remapped. :)
Thanks a lot for this program. I’ve just found it and it seems to work pretty well. I accidentally downloaded an early version and even it worked respectably. Can’t wait to try out this newer version.
I have one question, and from skimming the FAQ and other comments I’m guessing the answer is a no. But is there any way to create a “virtual” key? I assume there isn’t, at least not w/o a driver, since there would be no corresponding hardware.
I use tap zones on my touch pad and I was hoping to create a key I could map to the tap zone via the mouse driver without having to waste a real key on the function as well. I already tried to write a macro for this w/ autohotkey but was unsuccessful.
Sorry, I know very little about programming. Thanks for any reply.
Jay
No way for SharpKeys to do it – I would usually suggest AutoHotKeys b/c you need something to hang around in memory and SharpKeys doesn’t do that (and Windows doesn’t remap mouse keys to keyboard keys) – in addition to that, a touchpad would require a special driver to recognize the tapping.
Sorry!
Hey Randy,
Thanks a lot for the quick response. That was lightning. I went back to AutoHotKey, as you suggested, and more thoroughly read the FAQ there.
For anyone who may have the same question…
I was able to create a blanket “Alt+F4” hotkey script/command using [SendInput, !{F4}]. Then I used AutoHotKey’s AHK to EXE converter. After that I used my touch pad driver to specify a specific tap zone to run that command. Works like a charm.
randy,
is sharpkeys something i could have accidently allocated because my left shift key does not work as a shift key, therefore i cannot get caps or �$%^^ by using the left shift, only the right.
appreciate any help.
thanks,
Neville
Got me. I mean, if you bring up the SharpKeys UI it will show you whatever is being directed… there have been people that have edited the Registry key that SharpKeys edits by hand and even those things show up.
It sounds like you might have a deal key on your keyboard, ironically enough.
Randy,
what is a deal key?
Oops, typo sorry: dead key on your keyboard. Try plugging it into another PC and see if it works there…
tried that and it works fine, dell reckon it is a software corruption, but can fix it remotely for �50, told em to get lost
That’s bizarre. Like I said, if it was remapped in Windows (with the same technology SharpKeys exposes) it will show up in the SharpKeys UI. If it’s not there, then something else is mucking with it…
installed sharpkeys, but when i select type key, nothing comes up when i hit the left shift key
remapped special left shift to special left shift, wrote to reg and rebooted, but still doesnt work. when i select type key, again it still does not show anything?
I’ll say it again: If the shift key was remapped already it would show in the list. Remapping Left Shift to Left Shift wouldn’t do anything except confuse Windows. Telling you this is about all I can do to help because I don’t know why Windows isn’t recognizing your left shift key.
For the record – as is stated in about a dozen posts here – SharpKeys doesn’t remap any keys; it exposes a registry key within Windows that Windows uses to remap the key. SharpKeys doesn’t stay in memory when it’s window is closed; it has no drivers or services that installs.
hey!
thanks for the program! its fantastic!
however, i was wondering if there was a way to map keys to do things that there are no keys for, for example to open a specific folder or program. or to map one key to do the job of a couple.. ie: shift+2. i was also wondering if it would be possible to map a key to be kind of like a caps lock but for the Fn key.
thanks in advance for your help!
-Greg
Nope. For something like that you need an active remapper/macro utility like AutoHotKeys. HTH!
I’ve a new Apple Keyboard that has the Window and Alt key reversed. …
Starting from left:
ctrl – alt – left-window – space – right-window – right-alt – ctrl
Every time i press the old-style right-alt it opens the Start menu.
So i’ll try to change the right-Window key behavior to right-alt.
The scanned right-alt key code is E0_2038
This scan code is unknown so i cannot use it.
Any comment?
many thanks
Scroll up and read the recommendation about getting the keyboard driver for Windows from BootCamp for the Apple keyboard. Beyond that, even though it says the scan code is unknown, it doesn’t mean that it’s unusable – it’s just a key that isn’t in the list already… you still might be able to remap it.
It could be a coincidence but just after downloading the zip version (the link at the top of https://www.randyrants.com/2006/07/sharpkeys_211/) at just past 11pm EST 08/03/27, I unzipped the file, ran the program, and then suddenly my AntiVir anti-virus found a couple of trojan horse viruses. The program did work perfectly as advertised though, enabling me to map the key between L-SHIFT and Z to also be L-Shift, the key between ‘ and Enter to also be Enter, and the INSERT toggle just beside Delete to also be Delete. (All the keys are getting so squished on laptop keyboards – my author spouse wants L-SHIFT, ENTER and DELETE to be larger).
Thanks for the program! (but maybe you want to scan the zip file)
Sorry, but there’s no way there’s a trojan horse in there. Not only was it scanned before uploaded but I just grabbed it and rescanned it. I also know that this file has been picked up by other hosting sites that offer freeware and I know they scan their files too.
I would grab a ZIP from somewhere else and see if that has the same reaction with your AV.
The Canadian Bilingual keyboard on my new lappy was driving me crazy with the half size left shift and enter key, but a little remapping with sharpkeys and the universe is in order again, thanks.
Is there anyway I can get this to work on xp x64?
I wasn’t aware that it doesn’t… does it not work on x64?
Since AppleK Pro won’t be translated into english anymore,
i think it would be an awesome idea to make a special edition that pre-installs settings for Apple keyboards, i just remapped some keys, but special funtion keys like F4 are for dashboard in mac, you could map them for being F3 and without any programs selected map them for being to start Vista’s Sidebar?
Just an idea
Um, they sorta do: get the Apple-made drive for Vista – comes with BootCamp.
Great tool Randy. This is the only way (and a totally easy way) to make (most of) the keys on my new Apple keyboard work with Vista x64. So the Eject key doesn’t work, but I’m really not too bothered by that, the main thing is I now have volume control and mute/unmute which is the most important for me. So thanks a lot and I’ll buy you a beer if you ever come to Cambridge.
Hi Randy
I read all comments. There are lots of E0_2038 key remapping problem.
Can you give us the code for registery to block E0_2038 key code to nothing ?
Sorry but no, if only because of all of the problems listed above. If I were able to reliably map out the registry for it, I would have included it in the product…
Mr.Rants, I am in complete awe of the talent of people like yourself that are able to make thing such as this program. I have never understood why something like this is not part of the windows handicapped accessories. And then for you to allow others to benefit is very kind of you. I was told about your program because due to an injury I have problems with the left side of my left hand. Which means that I am constantly turning on the cap lock by mistake. I would like to relocate it but I am not able to see it listed and don’t know the “computer” language name for it. There is a key on the bottom between the FN and ALT keys with the windows logo on it that would be a better place, however I don’t know how to change it. Would you please tell me how, it would be so helpful to me and I would be very appreciative.
Thank you
Beth
Well, if you want to turn Caps Lock altogether, that’s easy: select Caps Lock on the left list and “Turn Key Off” on the right. If you want to move it to the Windows key (the one with the logo) then do the same on the left and “Left Windows Key” on the right list.
For more info, there’s also the FAQ and the screenshots up on the top of the page.
HTH!
Hi,
I am trying to disable 3 extra buttons (internet, email, and search) in a emachines keybooard in Vista. Unfortunately, each time I try to remap them they open the application.
Is it possible to remap them or are they treated as “hardware” buttons and should stay like this? Should I reinstall a generic keyboard driver instead?
Thanks,
Martin
I found a fix for the pause key. I used the following page for inspiration.
http://www.neox.net/w/2008/02/13/keyboard-remap-pause-break-key-as-del-key/
However, instead of using the registry file on the above page, I just mapped some dummy key using SharpKeys and then manually modified the registry to reflect the pause code of E1 1D. You should note that the codes need to be reversed in the registry. i.e. pause would be entered as 1D E1
They are reversed, when SharpKeys writes them out :)
Yes it does. It would be nice if SharpKeys had the ability to type in a code that is not in the list.
What’s currently not in the list (that is not a triple-byte code)?
i want my space bar as cap lock and my cap lock as my space bar, how can i do this :)??
Realistically, you can’t with the Windows-based remapping keys… you can move keys, but you can’t swap them. Reason being is that A becomes B, B tries to become A, which usually cancels out and both keys think they’re A.
I just wanted to say thank you for making this program. It’s just about perfect!
SharpKeys told me to come here, “You’ve entered a Key that Sharpkeys doesn’t know about”.
Whats the problem adding (in my case e0_74) to the registry without bothering what key it represents?
nice software through, thanks ;)
Hi,
I’m trying to map “Alt Gr” on my UK keyboard to plain old Alt. Sharpkeys says it’s (E0_2038) but it’s a key it doesn’t know about. Is there a way to fix this?
Thanks
Hi,
I have download this program on a colleagues computer, and when I try to run it I get the following error message:
“The application has failed to initialize properly (0xc0000135). Click OK to terminate the application.”
The PC is running XP Pro with all updates downloaded.
Any ideas on how to resolve this?
Do you have the 2.0 release of the .NET Framework installed? Also, are you running with an account that has Administrator permissions?
I hoped i could catch the “my favorites” key of my MS Natural 4000 keyboard with this tool, but it doesnt register a scancode when i press it.
too bad!
Hello Randy. Is Sharpkeys compatible with Windows XP Pro x64 SP2? I’m considering an apple keyboard purchase for my pc.
any idea what the key for the english pound sign is (GBP)? Im trying to replace the USD…
@Mily – no idea… if you have x64 installed already, give it a chance before you buy the keyboard – it’ll work with any keyboard. FWIW, if you DO get an Apple keyboard you can always try to get the BootCamp driver from Apple for XP.
@Jay – no idea, but you can always hold Alt and type 0128 on a keypad.
Sharpkeys does not recognize my button that i have pushed (00_100)
the button is the tune/note button that opens media software on the logitech ultraX premium keyboard.
Please update this!!!
THANKS! This makes editing my keyboard layout so much easier. I install windows quite a bit for testing things, and it’s always a hassle hacking the registry.
Randy,
My keyboard broke and was replaced with an old one, without the Win key. Thanks for this utility; kept me sane!!
Ed
Randy,
Could you please explain why you coded your Sharpkeys requiring .Net?
I would like to try the utility but have no interest in installing 20-50 MB
of bloatware to utilize a registry hack.
I am serious in my question. I presume that the .Net environment
makes programming easier but at such a tremendous cost. Would it
not be possible to just install a couple of DLLs like we do for VB apps?
I can easily explain it: ease of coding. The .NET Framework can be downloaded via Windows Update, it’s install footprint is 20-30 MB, and it’s pretty much on most XP or Vista machines these days (which matches where SharpKeys works). On top of that, I was able to do a lot of the UI niceness with minimal effort and with little memory usage… it’s a win-win all around. Broadband is in most homes, in almost all businesses, and you can’t buy a HDD that’s smaller than 100GB these days… when .NET was announced in 2001, this was a conmmon conversation – in 2008, the question I’d have is why on earth wouldn’t I?
As for VB, I haven’t used it since the mid-90s and I don’t like it. At all. Besides, unless it’s VB6, VB is a .NET language and has the same run time that C# does…
FWIW, you don’t need to keep SharpKeys installed once you’re done remapping – it’s simply a front end to a Registry key so you can always set that by hand :)
It’s not a question of download time or disk space. It is the “install footprint is 20-30 MB”. That may make sense for development but not for running a simple app. I mentioned VB6 as an example of the difference between the development environment and the run time environment. The VB6 runtime environment only required one or two small DLLs, not 20-30 MB of bloat. In addition, those DLLs were only loaded if you ran the app. As I understand it, the .Net environment is an installed environment – permanently loaded – not just a runtime environment loaded with an app. This is a big drain on resources and another avenue for crashes and security holes. Is there not a small subset of .Net service DLLs that would establish a .Net runtime environment without the bloat? If not, there should be.
As you say, .Net may be a win for developers but I don’t see it as a win for users. I have many hundreds of apps that have very sophisticated and well designed user interfaces installed, none of which need .Net, so it can’t be too hard to do without .Net.
Although I am sure that there are thousands if not even millions of systems with .Net installed, that is just a small fraction of the hundreds of millions of PCs operating today so I question it being on “most” computers. FYI, I do have broadband and I do have over a TB of disk space and I still don’t want .Net. Especially if, as you say, SharpKeys is just a registry tweak that could be accomplished with a simple text REG file.
BTW, I was lulled into carelessness by your CAPTHRA filter. I did not realize that you would expose all our email addresses to the SPAM bots. Please delete my address from my earlier post.
And again, it was my choice to use the .NET Framework because of the ease of coding and the fact that the runtime is on nearly all XP and Vista machines. So, from my point of view: it just works.
And to be honest, I don’t see the harm in that.
Aside from that, your knowledge of the .NET Framework is… limited. The .NET Framework is only loaded into memory when something needs it – it is then unloaded like any other DLL be it VB6 or MFC runtime. It sits on the HDD like any other runtime and only goes active when it’s needed… so I’m not sure what you’re talking about with “big drain on resources”… and I’ll fully admit that I’m not going to “roll back to 1998” to code in VB6 – sorry, but that doesn’t sound like smart development in today’s day and age.
Further, there are many thousands of applications that only need Win32 and the Windows API – I’m not sure I get what ya mean. As I’ve said before, it was my choice to use .NET because it allowed me to do a lot of things with little effort – if that’s not pleasing to my “userbase of freeware software” then, to be blunt, they obviously don’t have to download it… especially SharpKeys: you can install it (and the Framework), set your registry keys, and uninstall it all and the registry settings remain. but there are also serveral thousands of applications that use the .NET Framework, so I’m not sure what you’re driving at… Again, please revisit any development argument cerca 2001-2003 about why developers *and* users can appreciate the .NET Framework. And yes Users care – if you’ve never lived through the DLL Hell that was around for VB6 and can’t appreciate a single SxS Runtime, then this whole conversation is moot… VB6 Apps was a nightmare to deploy because some applications looked for specific versions in shared locations; – it’s been hashed and rehashed… for me, I’ll continue to code in a language that makes sense for my needs.
As for CAPTCHA on blogs and web sites: thats to protect the web site from SPAM – it’s not to your email address from page scrapers…
Yes, my knowledge of .Net is quite limited. That is why I am asking questions. And, Yes, I did go thru the DLL hell. I wrote my first program in 1960, had my first CPM system in the early 70s, first DOS in the late 70s and first windows some time after. It was never a question of IF windows was going to crash, it was just How Soon? However, I have been a user of windows, not a programmer of windows. By the time Windows was becoming common, I was no longer programming but managing and I had not the need or motivation to learn a new environment. There is only so much time in a day.
I had assumed, which you confirmed, that .Net was an easier development environment. I apparently have some inaccurate assumptions about the runtime environment. No longer programming, I did not follow any of the development arguments to which you refer. [Any handy links for succinct overview(s) of the .Net runtime environment would be appreciated.] And I was not asking you to revert back to 1998 coding. I am trying to get to a common frame of reference.
So, I think what you are saying is that instead of multiple DLLs (and multiple DLL versions), being loaded for various apps, .Net is a single set of resources/DLLs or APIs that are available to .Net apps. Is this correct? If they are APIs then that avoids some of the DLL version problems, Yes? (BTW, what is an SxS runtime?) App specific DLLs still exist and still can cause problems but the prevalence is reduced, Right?
Going further, the .Net environment is installed, only taking up disk space until it is loaded when a .Net app is executed. The memory requirements of the .Net environment is small because any one .Net app only uses a subset of the .Net services. (How much is small?) Is this correct? But, like a DLL, the subset remains loaded after the app is terminated until being swapped out to virtual memory due to non-use. Yes? And is totally removed only after a reboot. Right? And that is why you say that .Net is not a drain on resources.
If all this is true, then there is still one issue I don’t understand. Why would I have to uninstall SharpKeys to stop it from using resources? Would not all runtime traces of Sharpkey disappear after a reboot?
Re CAPTCHA, Yes I know it is to protect the site from SPAM bots. What I said was it lulled me into assuming that you would protect the posters as well and not publish addresses. Most blogs and web sites do not publish the addresses of users posting to their sites. My request is for you to remove or obliterate my address on my first post.
Thank you for your patience.
That’s cool, but there are a lot of good references that can tell you about the .NET Framework while I can only share my experiences with it.
That said, the .NET Framework is a collection of assemblies (managed-code term for DLL) that are signed and versioned. When you build a .NET Application, you can specifically target a version of runtime you wish to use. Those versions are installed into different directories so you can run in a Side by Side (SxS) environment – this means that if you have System.dll is it stored in Windows\Microsoft.NET\1.0 (or 2.0, etc) rather than everything going to the Application directory or worse, System32. In addition to that, you have the option of added your own assemblies into the Global Assembly Cache (known as the GAC) and then version stamp them… the GAC manages the different versions – the app that calls the assembly can specific which version to call. This solves (or side steps) DLL Hell, where many applications went looking for MSVB6.DLL and not knowing which version it was (or if it was compatible).
With that, assemblies only get loaded if they are need, be it a .NET assembly or one of your own. For example, SharpKeys (according to Process Explorer) uses 14.7MB. All of that is released when it’s closed – how much of that is .NET and SharpKeys? No idea, but considering the list of keys I load for the UI, and that the EXE itself is 72K, I’m guessing it’s 1/2 of each. That said, SharpMT is 1.3MB for all of its managed and native code on the HDD – 40MB loaded, but I know that that is picking up a bunch of native Win32 DLLs via PInvoke… so it’s really up for debate what is what.
What I was saying about uninstalling SharpKeys basically a way to change your keyboard layout then uninstall the software. It would sit idle until launched, if you left it installed – my point was that you don’t need it installed for the remapping to be active.
Otherwise, I’d pop over to MSDN for more information about the internals of the Framework – they would be the de facto reference – http://msdn.microsoft.com/en-us/netframework/default.aspx – they *will* have a bunch of information regarding 3.0 and 3.5 of the Framework but I haven’t gotten into them yet… most of my stuff is 2.0 related at this point.
HTH!
Are Administrator privileges required for writing the keys? I believe they may be, but I don’t see it here…will test.
UPDATE: Administrator privileges are required, else Sharpkeys will crash on write attempt.
It is required, but for Vista, the EXE should be installed with the “Require Administrator rights” bit flipped… I honestly can’t say that the same thing happens in XP – I almost never ran XP as a non-Admin account… bad coder, no cookie! :(
Hey, great tool. I’ve developed my own managed app and I want to launch it using a “simple” keyboard shortcut. Since I will be distributing the application, I wanted a solution that I could “bake” in with my application so it will just “magically” work on the “client” machine. I was hoping to update the registry during my first time run to create the shortcut? Is there anyway you can help me with that?
Hm. Well, there’s plenty of information about how to remap a key to another… even on my own side, from before I wrote SharpKeys. The tricky part will be finding a key that you can snag that will allow you to open an application… that’s harder.
What about snagging “Windows Key + s” or “Alt + 1”? Is it possible to snag one of these via registry hack?
Modified keys can’t be remapped – only the whole key can be remapped… Windows Rule.
… I almost understand what you said. I’m confused because it seems like this should be a lot easier than it is.
So… I can’t create a windows shortcut which is “Alt+1” to open my app?
Not with this type of technology – you can try something like AutoHotKeys… That does a more active form of macro remapping.
Gah. Alright. I’ll keep looking. Thanks for your time.
Hi. This software seems nice but unfortunately it doesn’t work on my keyboard’s extra keys and thus I’m writing this post to let you know about the issue in hopes to help you to add the support for an upcoming release.
My keyboard is a Logitech UltraX Media Keyboard (embossed on the bottom plastic) The exact model number (M/N) is: Y-BL49A. This is one of the ultra-flat keyboard models from Logitech and it has a usb connector. The extra buttons are labeled (from left to right) as Media, Play/Pause, Mute, Favorites, E-Mail and WWW. All of them report the same 00_100.
I’m using Vista x64 Home Premium UK English with Finnish keyboard map on an Intel C2D e6750 with 4×1 GB of 800 MHz DDR2 memory in dual channel mode and an Nvidia Geforce 9800 GTX 512MB PCIe card on an Asus P5K with the latest (v1006) bios. Hopefully this information helps the development of this software.
There’s a bunch of other comments here about this particular keyboard (or at least other Logitech models) that mention this… basically, it’s not sending the commands through to Windows, so Windows can’t remap them…
I’d like to flip-flop the characters typed when pressing the dash/underscore key [ -_ (00_0C) ].
current:
Key (un-shifted) = dash (-)
Shift+Key = underscore (_)
desired:
Key (un-shifted) = underscore (_)
Shift+Key = dash (-)
Possible with SharpKeys? I could not find it.
Thanks, TD
Nope – see any of the above comments or the FAQ about modified keys, sorry!
I’m trying to make the ctrl c & ctrl v options shifted to a right handed location on the keyboard, but haven’t had any success. Any ideas?
Please see the above comment about the other comments about modified keys, sorry!!
Hiya,
Nice program!! It’s really good, although my new Microsoft USB keyboard doesn’t seem to work with it – when I press any hot key (web back/forward, play/pause, vol. up/down/mute, web home, web search, web mail) SharpKeys gives the code (00_100) for the key, which then changes to (E0_4000) if I hold the key down until it repeats. I know this has been mentioned before, but I thought I’d mention again as I also got a E0_4000 code.
– Javawag
can you use this program on the new apple wireless keyboard if you are running it on a Vista M$ computer? like, for example, to remap the Apple keyboard so that control- down arrow would be “page down” and control up arrow would be a “page up”?
Sorry, I’m not very sophisticated as a user, and need to have these things “dumbed down”.
Looks like you’re already using it fine – someone replaced your S key with a $…
would be super cool if you could set a group of changes to load only when you wanted them to: for example, when I go from my crappy NB keyboard back to a full size. :)
My CAPS key is now Ctrl — just like the DEC vt52.
Such joy!
Thanks, dude!!
SK 2.1 worked great on fixing the all important Delete key on my new Apple wireless BT keyboard.
I couldn’t resist the Apple board after I heard it was compatible (mostly) with Win XP.
Hopefully, I can fix the Alt key when I get more time to mess with SK and Boot Camp.
@Jeff – no can do – a reboot is required for the remapping to take effect.
Wonderful little program. I’ve only remapped two keys, but I’ve done that on three machines. It worked fine and has been a great help.
My credit card is currently being replaced due to a fraudulent charge by a gas station, but as soon as the new one arrives I’ll send a donation.
WS
AWESOME APPLICATION
I still can’t figure out why manufacturers have to mess with the keyboard layouts. I learned to type and then they start moving the Shift and Enter keys making my typing impossible.
I live in Canada and for some stupid reason the manufacturers think we all speak and type French. So they give us a keyboard (on all new laptops) with a French key layout. WHAT A RETARDED IDEA! For a country with a French population of maybe 11% they think they need to placate the “elite frenchmen” and give them thier “special” little characters by changing the entire product line. Your sharp keys have kept me from smashing my computer. Kudos to you mate! Well done, and a huge thanks!
Thank you so much making this program! you saved me.. my left ctrl key gave way and now i’ve mapped it to my capslock key. It will do for the next 2 weeks while I work on a clients project.
Great program i’m using it for my apple alu keyboard on my windows XP pc. I managed to map the volume down(fn+f11) and volume up(fn+f12) keys, but i cant get the (fn+f10) scancode so i cant bind the mute button :(.
Is there a way to fix this, or a way so i can put it manually in the registry?
Is there way to use SharpKeys to remap the right mouse button to a keyboard button, for use on one-button MacBooks running Windows? I have searched through these postings and see no reference to such. But it seems a logical use.
Nope – no way for the keyboard to see the mouse that way… for MacBooks running Windows tho, isn’t there a native mouse driver that allows for the two finger tap?
Thanks alot for this. One of my laptop keys is broke!!
hi,
first, nice program – works great. but, after using it my user profile broke when logging back in. i’m curious as to why that would happen — any ideas? i wonder if it’s because i moved my user profile stuff around before so it wasn’t on the c drive (via registry) — would this interfere with permissions somewhere? now when i look at my profile list it changed my user profile path, and i can’t get it to stick on the correct path. PLEASE HELP! (i’ll check the comments here later, or you can email me…)
how exactly does the program write to registry? i’ve seen several suggestions for outputting the scancode into a registry file — i think it would be a great idea for several reasons. one, so i can reuse my mappings (on the same comp next time i reinstall) more easily without needing to go back through the program. two, because we’re all curious what the new scancode would be. and third, so possibly it won’t break my computer! :)
also, i’m partial to C# and .NET myself. i saw someone earlier complaining about installing the runtime; i’m pretty sure you can create an installer or publish the project so that it will package all the required dlls/etc with the program so you don’t need the entire framework.
So, SharpKeys writes to one specific location in the registry. It doesn’t impact permissions, the file system or any other key of the tree.
That said, it sounds like you changed file locations and profile stuff on your own – that’s why you’re having trouble… that you made a keyboard remapping at the same time is coincidental.
As for how it’s writing to the Registry, it’s using the .NET supplied registry classes. Nothing major there. And it knows which scancodes to write because they’ve been hard coded to the list boxes in the SharpKeys UI.
Lastly, if you have a .NET application you need to have the .NET Runtime installed before it will run. Under no circumstances should you be carving out certain DLL’s of the Framework and shipping them. Violates the .NET EULA sure, but the bigger problem is if you have another .NET application that you want to run. That’s why the MSI for SharpKeys is so small: it expects the runtime to be installed already and leaves that to the official installer app.
HTH!
wow, thanks for the quick response. i’m sure it was just coincidental. my moved profile has been working just fine for the last couple days, and i haven’t installed anything recently besides sharpkeys. in my panic i was hoping i could blame that, and thereby narrow down the problem.
out of curiousity, is the keyboard layout the only registry key you’re writing to? something like:
Microsoft.Win32.Registry.SetValue(@”HKEY_CURRENT_USER\Software\Yahoo\Common”, “Sandy”, NEW”);
one more thing (now i’m spamming) — i didn’t mean that you should carve out the dlls yourself; i’m pretty sure Visual Studio .NET itself has a “publish” feature that packages everything for you in an installer it creates. and therefore it doesn’t violate any EULAs or hurt any other programs. it should just check the destination machine to see if the parts it needs are there, and if not installs them with the program, so if someone doesn’t want the whole runtime they don’t need it.
(just for your edification; i prefer assuming the runtime exists as well)
Nope. At least not 2005. They have ClickOnce but that only works if the Framework is already there. Besides, in today’s day and age, 25MB of Runtime that shaves a bunch of size off each app *and* makes it faster and safer to code? Very, very small tradeoff.
As to the registry, the nitty gritty of SharpKeys is in this post:
https://www.randyrants.com/2002/05/down_with_caps/
Hello, does anyone know how to remap the ‘back and forward’ web-keys on x-series thinkpads? (specifically for pg-up and down keys)
I’ve tried SharpKeys and KeyTweak. Also tried Lenovos Keyboard Customizer by disabling the web-keys within that app, then disabling it in the startup list when it didnt work. (I dont really see any startup processes that look to be interfering)
I read that some people have had success with both SharpKeys and KeyTweak on older model Thinkpads.. any advice would be helpful. Thanks
Hi again, just to add to the previous post, the back and forward button scancodes in sharpkeys are listed as 00_100, which give the message “You’ve entered a key that SharpKeys doesnt know about. Please check the SharpKeys website for an updated release.”
When I tried remapping them in KeyTweak, it said those keys were successfully remapped, but in actuality they function the same with no sign of change. When I opened SharpKeys again to check, it listed the remapped keys in the main menu as: “Web: Back (E0_6A)” and “Web: Forward (E0_69)”.. without quotes.
Also, I forgot to mention this is running on Vista. Thanks.
Thanks for the information…. nice stuff…
I’m using the Logitech UltraX Premium, and am also having problems mapping the special keys. There are 6 keys: Media, Play/Pause, Mute, VolDN, VolUP and WWW_Home.
All the keys work natively with Vista without a driver, which means that Vista interprets these keys correctly.
Sharpkey (and KeyTweak) incorrectly read all these keys. ALL the keys read:
KeyTweak: 57344 or 0xE000
Sharpkey: 00_100
Is it possible something else is send which Vista reads?
It is not possible to use SetPoint to change keys as no tab for this keyboard is shown in SetPoint (4.60).
I’m using the calc a lot and my old KB had a calc about where the WWW_Home button is. I’d like to use it to start calc. Any ideas? I’d be very grateful…
I have an Acer laptop with a Euro key and a Dollar key. Neither of them do anything! I tried mapping them with Sharpkeys, and I can map them to another existing key. How can I make them do what they are supposed to? i.e. Euro and Dollar symbols?
Regarding my previous post.
I used AutoHotKey’s AutoScriptWriter(recorder).
It turnes out these “special” keys DO return ordinary numbers:
Media 181
Play/Pause 179
Mute 173
VolDN 174
VolUP 175
WWW_Home 172
in HEX that would be:
Media 00B5
Play/Pause 00B3
Mute 00AD
VolDN 00AE
VolUP 00AF
WWW_Home 00AC
My registry looks like this:
00 00 00 00 00 00 00 00
02 00 00 00 21 E0 AC 00
00 00 00 00
But again, after a logoff the WWW_Home key just starts up the browser…
Any ideas?
Sadly, not a one. The extended keys like these are quirky and different across keyboards. There’s already a bunch of these in the list of available keys but I know that not every keyboard uses the same scancode – that’s the tricky part of remapping these.
HTH!
One problem I ran into is that even with SharpKeys, (great program by the way) i still have a few keys on my keyboard that aren’t recognized by the system. It usually is something weird, like F17 doesn’t show up, but F18 and F19 have no problem.
AutoHotKeys also fails to recognize it, so I assume it might be a driver error, does this seem fairly accurate?
Anybody know how to map the context menu key or shift-f10? I’m trying to get back the context menu key on my new Apple Keyboard hooked up to my PC running Vista.
@Harrin – pretty much, yeah: Windows isn’t getting notified by it. I did see this behavior with some of the Mac-specific keyboards, but I could be misremembering that… but if Windows doesn’t see it and AutoHotKeys doesn’t, I’m not surprised SharpKeys doesn’t either.
@Ted – sorry, but SharpKeys only moves entire keys… Shift-F10 can’t be remapped; the whole of F10 would need to be remapped.
Ok… I got a gaming keyboard and the alt button wasn’t where I wanted it. I changed the alt to “c” and lost my “c” keystroke. The keyboard has 2 “b” keys on it. I changed one of the “b”‘s thinking it would only affect one, logged out for changes to go into effect, and whaddya know, “b” is in my password, and is now unmapped. Any ideas on how I can disable it so I can get into Windows on my desktop..? =(
@Ted: I mapped to Special: Application (E0_5D) for mouse context menu popup. It works, but after having switched to the Logitech MX Revolution mouse, my context menus generally appear in the wrong location.
just love your program.. pure genius.. thank you for sharing this with us! :)
Dear Randy,
I have found to be your sharpkeys utility quite useful as I turned the CAPSLOCK key to ESC so I can edit in vi with 87.3% more peace of mind.
I do have a question though. Is there a way to make windows assign ONE key (the ESC key, for instance) to ALT-F4? I realize alt-f4 is not really a single scancode, so it may be impossible… but I thought I would ask you, since you obviously have some knowledge on the whole “key mapping” subject.
Any advice greatly appreciated!
Nope – it’s because ALT-F4 isn’t a whole key and the Windows remapping tech that SharpKeys exposes is for whole keys. Might want to look into AutoHotKey or something more macro like…
Great program, but I have a question. I’m trying to remap keys on a Apple aluminum keyboard and SharpKeys 2.1.1 doesn’t even recognize when I push the control keys (even though Windows does) on either side of the keyboard. It also doesn’t recognize the Apple keys at all. When I press either of the control or apple keys, nothing happens during the ‘strike a key’ phase. The Control keys get Alt/Option keys get recognized, but not the others. Has anyone else had the same problem?
Thanks.
Thanks
I want to store an often used phone number/ passcode combo into a function key. Will your SharpKey app do that? I downloaded it but it looks as if it only transposes functions between keys.
I want to be in word or an Outlook msg or other MS app, and be able to insert approx text chars.
If this app doesn’t do that, do you know of one that will ?
Nope, it doesn’t support that – however something like AutoHotKeys should…
I have recently bought a new MacBook on which I have installed VMWare Fusion so that I can run Windows programs such as Microsoft Access. Missing from the Mac keyboard are the break and Del keys. I need crtl-break and del in Access.
SharpKeys has enabled me to map crtl-break to F12 and Del to F11 within Windows. Works a charm.
Thanks for a great tool.
Help, My Right Arrow Key is broken
and I need to Press FN+Right Arrow to make my screen brighter,
I mapped the right key to a different key and it works as right key but when i press FN+mapped key
the screen doesn’t bright up, maybe it was different code, I need to know what is the name of that make screen brighter key, how to map that key thankx
Can’t be done with this, sorry.
hey randy – love the sharp keys – it transformed my tiny eeepc – the keyboard is so small and not excellently designed… i loved that i could switch my ctrl with delete and the shift and page up…
but now i got a keyboard and a monitor so i don’t kill my eyes when working long hours — the only problem is that sharp keys is still on and i’d have to switch all of the functions every time i wanted to change keyboards.
is it possible to create an option for a second keyboard? I’d like to keep the setting for the eeepc and have a different one for the normal keyboard so that i can switch easily between the two…
thanks, jen
Sadly, no… you CAN export the information from the Registry but because of how Windows works, you’d have to re-login after every change… painful stuff but the Windows remapping tech wasn’t meant for changing this often.
Ok, this is silly but… I’ve swapped the capslock and left control, and while it works in everything else, I have a game that partially ignores the change. That is, while typing, the left control key still acts like capslock. However, there is a function in the game that is STILL bound to the left control key. I’m wondering, how is that possible? That function should have been moved to the capslock shouldn’t it?
Any help/suggestions would be appreciated!
Hi randy! I just tried downloading Sharpkeys for an apple ultra-thin keyboard I just got. Everything works great, (printscreen, etc) except somehow when I press the F10 key, nothing registers anymore on either my old keyboard or new keyboard. Even when I select it manually from the list and try to assign it to something else or itself and rebooting, there is no change. (it doesn’t say the key has been disabled either) Any ideas how I could get the key back, either through manually editing the registry or any other method?
I’d hate to do a reformat since every other change works perfectly.
I’d be grateful for any suggestions!
yea i too got ahead of myself and accidentally unmapped a key meant to use for something. how do i get it back? or is the “turn key off” function undoable? thanks!
If you change it manually through SharpKeys, save the Registry, and reboot, it should be fine, actually… pressing “Write to Registry” is that part that I often miss, when making a lot of changes…
hey thanks for the reply on that but i must be missing something really obvious then because there doesnt seem to be any way to do this. 00_00 doesnt appear in the map from column and if i press the button, “ok” in the dialog remains greyed out and says the button is disabled. is there a specific section in the registry for all these keyboard commands? if i knew where it was i could probably fix it. thanks again
Issue: Right shift key on ASUS laptop too small.
Question: Can I re-assign two adjacent keys to be the Right shift operation? Not just swap two keys.
Thanks.
Yes, if I understand the request: you can have multiple keys point to the same key – for example, you could have all of the keys on a keyboard think they were Q…
I was wondering if it would be possible to rewrite a series of key such as control-v to a single key, I’m guessing no. Also would it be possible to get the computer to recognize the CD drive eject key in a manner similar to the FN key, I am running a standard apple bluetooth keyboard with windows vista. Thank You for any time and consideration as my questions probably sound idiotic.
Nope – see all the comments above, as to why. Thanks!
i just downloaded sharpkeys 2.0 and i have a suggestion for it. you should have a button that allows you to have default setting. lets say you make some mistakes or something is wrong with the keys. you should be able to just click on a button and then have all the settings back to normal stock keyboard settings. that would be awesome!
david
Comments for this post have been closed – please visit https://www.randyrants.com/sharpkeys or http://www.codeplex.com/sharpkeys for up to date information!