SharpKeys: Saturday, July 08, 2006 at 11:22 PM by Randy
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.
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!
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.
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.
Posted on: September 09, 2006 at 07:34 PM by Aaron
"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! ^^
Posted on: September 10, 2006 at 06:05 PM by Charles Heist
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!
Posted on: September 10, 2006 at 06:56 PM by Randy
@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.
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?
Posted on: September 30, 2006 at 02:52 PM by Randy
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.
Posted on: October 17, 2006 at 08:22 AM by Alberto
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 "
Great! But the other key remained elusive. It printed nothing before trying, and it should print " º " after remapping. But it doesn't.
When I used "Type a Key" to determine what Scan Code that "rogue" key sent to the OS, it was recogized as the "Special: Left Shift" key. All right, that makes sense with it not printing anything on the screen. Well, although the laptop keyboard had a "Left Shift" key in its expected placement, working right, I let it go, anyway. And there I went for assigning to it what I needed for a Spanish keyboard: " º ". So I used the correctly mapped external keyboard and pressed " º " on it. It was recognized as sending... "Unkown: 0x0056" !!! The very same key for the other, now correctly working, mapping! Well, I let it that way, and... it failed. It stubbornly printed nothing.
In order to be sure that at least it could be mapped to something "ordinary", I edited (tried later by deleting and creating it anew, same result) the failed mapping, and assigned to the key recognized as "Special: Left Shift" a perfectly ordinary "h" key. I closed session and opened it again, launched Wordpad, pressed the damned key and... did it print an "h"? No, it printed nothing at all. So I pressed down my "standard" Left Shift key and... it printed an "h"!
So I'm highly confused. That key is recognised as actually sending a code: the one for "Left Shift". But any mapping will only affect the "real" "Left Shift" key. And besides, if I press the "desired" key on the external and correctly mapped keyboard it will be recognized by your program as sending the same code for "
Any suggestion? Should I try each and every "Unknown" keycode both for the "current" and the "future" keys?
Thanks in advance.
Posted on: October 17, 2006 at 11:27 AM by aegzorz
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
Posted on: October 18, 2006 at 08:26 AM by Alberto
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 "
Key #2 apparently does nothing, should print " º "
According to Sharpkeys:
Key #1 scancode is (00_29) - " `˜ "
Key #2 scancode is (00_2A) - Left Shift
I searched then for another program which could give another point of view on which scancode was sent by which physical key. After trying several programs that weren't fit for the job, I installed and used KeyTweak.
It also had a "press-key-to-select-its-keycode" method available. In two modes: Half Teach (press the "original" key only, then choose its new value from a ListBox, then click Remap button) and Full Teach mode (press first the "original" key, then press the "destination" key, then click Remap button).
The suspect thing:
According to Keytweak, Half Teach mode (1 key input):
Key #1 scancode is 41 - (???... oh, 29 in hex)
Key #2 scancode 57399 - (E037 in hex)
And (E037) is... PrintScreen.
That's what happens with Key #2: it's not that it does nothing; it does, but not visibly, for it triggers the screen capturing feature. Oh, my, I already have a built-in, standard, PtrScr key on this laptop. Two keys to do the same thing, as far as the OS is concerned.
But, wait, what happens when using the Full Teach mode, which expects two key inputs?
According to Keytweak, Full Teach (2 key input):
Key #1 scancode is 41; it waits for a 2nd keypress
Key #2 scancode is 57399, BUT ALSO receives the 2nd press: 42
or 2A hex, which is... Left Shift, what SharpKeys detected.
So here we are again, equally baffled, but looking for an escape route!
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!
Posted on: October 20, 2006 at 07:54 AM by Alberto
Thanks a lot, your attention is more than enough. Well, the program already was more than enough.
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).
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.
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 ?
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.
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 ?
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.
Posted on: November 26, 2006 at 06:31 AM by stirFly
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 (:-).
Posted on: November 28, 2006 at 06:01 AM by Ivan Zhakov
Hi Randy!
Thank you very much for very useful utility!
Posted on: December 04, 2006 at 05:20 AM by Khalifa
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
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.
Posted on: December 09, 2006 at 06:34 PM by Felipe
Man, How do I remapp the Key "pause break"?
the programa says that doesn't know this 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)."
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.
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.
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.
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.
Can't get AltGr on a ThinkPad R50e keyboard...could it be added, please?
Number: E0_2038
Much appreciated!
Great utility!
mark
Posted on: February 12, 2007 at 08:59 PM by jazzGT
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...
Posted on: February 14, 2007 at 09:36 AM by JCardinal
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!
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.
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 :)
Posted on: April 17, 2007 at 05:00 PM by Manekineko
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.
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.
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...
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
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...
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
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..
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
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.
Posted on: August 29, 2007 at 11:38 AM by Vasudev Ram
Posted on: September 02, 2007 at 07:54 AM by Bingo
Any way that I can map a key to start Firefox?
I see email but not browser.
Posted on: September 02, 2007 at 08:16 AM by Bingo
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.
Posted on: September 02, 2007 at 02:39 PM by Randy
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...
Posted on: September 03, 2007 at 08:03 AM by Nathan
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.
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)
Posted on: September 03, 2007 at 07:55 PM by Randy
@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.
Posted on: September 08, 2007 at 06:50 PM by Randy
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!
Posted on: September 11, 2007 at 04:21 PM by Randy
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.
Posted on: September 21, 2007 at 11:57 AM by Nikolaus
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?
Posted on: September 21, 2007 at 01:23 PM by Randy
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.
Posted on: September 24, 2007 at 11:12 PM by ickysmits
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.
Posted on: September 25, 2007 at 05:25 PM by Randy
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!
Posted on: September 30, 2007 at 11:08 AM by someone
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!!! :-(
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.
Posted on: October 05, 2007 at 04:56 PM by David Gross
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?
@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.
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.
Posted on: October 10, 2007 at 03:32 AM by blonde-IT-null
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?
"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.
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!
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
Posted on: October 24, 2007 at 10:44 PM by Brett Ryan
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.
Posted on: October 29, 2007 at 06:18 AM by samer shabana
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.
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!
Posted on: November 29, 2007 at 09:25 AM by Yarglzors
Does the msklc allow remapping of letters temporarily?
toli
Posted on: December 07, 2007 at 07:14 AM by anders
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?
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!
Posted on: December 08, 2007 at 09:20 PM by Nihhal
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
Posted on: December 21, 2007 at 06:30 AM by Jeremy
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.
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?
Posted on: January 02, 2008 at 12:07 PM by George L Smyth
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.
Posted on: January 03, 2008 at 05:56 AM by George L Smyth
I see, the SharpKeys window contains the changes, as opposed to it being a log. Thanks!
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!)
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!
Posted on: January 04, 2008 at 01:17 AM by Aditya Mishra
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?
@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
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.
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
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.
Posted on: February 09, 2008 at 11:54 AM by Tinypliny
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?
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...
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. :)
Posted on: February 14, 2008 at 09:16 PM by gat0rjay
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.
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!
Posted on: February 14, 2008 at 10:41 PM by gat0rjay
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.
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...
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.
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.
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?
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 http://www.randyrants.com/2006/07/sharpkeys_211.html) 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.
Posted on: April 02, 2008 at 11:53 AM by voodoofox
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?
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.
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...
Posted on: April 25, 2008 at 03:58 PM by Beth Lehman
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.
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
Posted on: April 29, 2008 at 04:24 AM by Paul Ward
I found a fix for the pause key. I used the following page for inspiration.
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
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.
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?
@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.
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.
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.
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.
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! :(