Remapping Keys in Windows

May 27, 2015 - General Computing

I recently ordered a new laptop. My previous laptop, a Satellite L300, was a fairly good system when I bought it, though at that time it was an excellent system, it has started to suffer from it’s age. With 4GB RAM, a 2Ghz Dual Core, a 1TB SSHD and Windows 8.1, it runs well enough for browsing but struggles to keep up when it comes to programs such as Visual Studio.

Given that one of the reasons I would use a laptop is to take my work “on the go” or at least allow for some similar activities via a mobile system, this was a rather significant impairment as it made the system somewhat detestable to use for recent software. This is regrettably to be expected.

Thus, I decided some time ago that I would replace it. I hemmed and hawwed for some time, coming near purchasing decisions, but backing out before committing to it. I ended up going with a Thinkpad T550. 16GB of RAM, a 5600U i7 processor, a 500GB HDD (which I will replace with an SSD in time), fingerprint reader, and a extremely high-resolution 2880×1620 Multi-touch IPS display.

it is now very early Wednesday morning. I received the system on Monday afternoon. I’ve managed to switch over some work to it and I’ve found that it competently handles all the software I’ve thrown at it. It only has CPU graphics (Intel Graphics, provided by the CPU), but as I’m not one to want a “gaming laptop”- in fact, while I considered a few gaming-oriented systems while perusing my options for a new laptop, I found their appearance and design to be silly. they look goofy, they seem to purposely draw attention to themselves with what I find t obe silly design gimmicks, and I find them just all-around goofy.

I used to own a 755CDV Thinkpad laptop This dated from around 1994, but it was an exceptionally well built IBM Thinkpad. If I had been more prudent in my care of the system I would have removed the battery before it leaked and caused a system board failure. While I have never owned or even personally seen a Thinkpad laptop since the brand moved to Lenovo, I decided I would give them a chance. Given the alternatives, The Thinkpad was the least “look how cool I am, see my style” designed laptop I was able to see available.

It has not been completely perfect sailing. As it turns out, I made a mistake or forgot to revise a default configuration option for the attempt with Lenovo’s configuration tool that finally went through (I had tried about a half-dozen times), the result is that my keyboard is a French-Canadian keyboard. This was originally a problem, but I’ve found that I don’t look at the keys anyway, so while many keys are mislabelled, I have no problems with it because the keys are in the same positions as they are on my L300 laptop, which appears to use a similar layout (Though Toshiba was kind enough to dual-label the keys with both French as well as English).

T550 Keyboard

This does bring me to the title of this post, however- as even with that memorization I find that there are keys missing or simply in the wrong place as far as I’m concerned. In particular, the Print Screen key- or rather, “ImpEc” key, is positioned where I expect to find the Application/Menu key. While I could use Shift+F10 to get that capability, I would rather prefer not to- furthermore, that feels sort of like the usage of Control+Esc to use the start menu in Windows 95 when you didn’t have a keyboard with the Windows Keys- a sort of workaround for older systems that lacked the ability to use the new keys.

Enter Sharpkeys

As it turns out, this problem is not a new one and goes back quite some time. In fact, in an ancient, dusty book from ancient times, Titled “Windows 3.1 Secrets” I recall the author writing at length on the topic of keys, key re-mapping, and macros, some of which were intended to resolve similar issues of laptop key layouts of that era. More recently, Windows itself has had the ability to remap keys internally, but as of yet the only tool that officially provides the ability to change these features is either language packs or an application distributed via the Windows Resource Kit. This has not prevented- and likely partly spurred- the creation of third-party applications to fulfill that role. One of those programs is Sharpkeys.

Sharpkeys is surprisingly straightforward. It basically allows remapping keys- which is sort of what you would expect given the lead-in of my last paragraph. It’s only caveat is that it cannot reliably swap two keys.

Thankfully, at least for my purposes, I wouldn’t need to do so. My intention was to change the print screen key into an application key, and then change the “calculator” media key into a print screen key. (I find media keys a bit weird and seldom use them, particularly the launch hotkeys like the one that launches calculator). Though it took me a few moments to find the settings I needed and create the appropriate remappings, after saving those changes to the registry and rebooting the laptop I found the keys had been reassigned just fine.

Now my only puzzle left is how this thing is disassembled such that I can replace the Hard disk with an SSD as I intended at some point in the future. I was not expecting that more recent laptops had actually become more difficult to perform such upgrades on. With my L300 or even my old 440CDX, such an upgrade is rather straightforward and requires few screws, in both cases simply requiring a cover to be removed allowing access to the hard disk. In the case of this T550, the entire bottom needs to be removed and they appear to have gone to some length to engineer it in such a way that it can easily be damaged. I’ve yet to successfully remove the case because I prefer to wait at least a week before I break something. That said it did take me over 8 years to even realize how to access the hard disk on my 440CDX, which as it turned out was via a full disassembly as the HDD actually slid out from the front via a cover that I had somehow completely overlooked.

The laptop itself does provide another significant advantage, in that I can now run more recent versions of Visual Studio that allow me to experiment with C# 6.0 features and capabilities without causing problems for my work- I have Visual Studio 2013 installed on my main system and Visual Studio 2015 is not installed to prevent problems. My older desktop system is workable with it but with a nice large screen and a nice fast system, not to mention one that is incredibly mobile, I think I will have a much easier time exploring new features. And if I use this system for everyday development I will be exposed to new Visual Studio features as well, possibly making use of them for my everyday tasks.

Have something to say about this post? Comment!