I broke my laptop and had to buy a new one with a new keyboard that I am struggling to get familiar with, especially with the keys like home, page-up, page-down and end, which aren't standardized at all.

I found myself doing this for like the 5th time in the last several years, and I think it is really annoying.

Is there an app that can reliably map one key to another? By reliably I mean that key mapping works with Shift, Alt, and other modifiers.


Windows 7, Samsung Chronos 7

  • Hmm, this is offtopic for Serverfault. Perhaps Superuser will be more helpful? – cjc Jul 15 '12 at 0:12
  • It would also really help to include information about the OS, applications, etc... anything relevant, else answers would just be guesses. – jscott Jul 15 '12 at 0:14
  • just did, check it out – Trident D'Gao Jul 15 '12 at 0:18
  • What about the original key, do you want them to remain as is or be swapped with the target key? – Synetech Jul 15 '12 at 0:38
  • 2
    Related: superuser.com/questions/430906/… – iglvzx Jul 15 '12 at 7:09

Microsoft Keyboard Layout Creator is an excellent tool for creating custom keyboard mappings.

The Microsoft Keyboard Layout Creator (MSKLC) extends the international functionality of Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and Windows 7 systems by allowing users to:

  • Create new keyboard layouts from scratch
  • Base a new layout on an existing one
  • Modify an existing keyboard layout and build a new layout from it
  • Multilingual input locales within edit control fields
  • Build keyboard layout DLLs for x86, x64, and IA64 platforms
  • Package the resulting keyboard layouts for subsequent delivery and installation
  • What is "this"? Please edit your question to provide more context. – iglvzx Jul 15 '12 at 6:55
  • All you need to do is click the link, it's pretty self-explanatory for there on in. – Will Jul 15 '12 at 6:56
  • 12
    Yes, I know. But think about it this way: if the link stops working (i.e. link rot), your answer is no help. You can't google "this" and find more information on the tool you suggested. :) – iglvzx Jul 15 '12 at 7:04
  • 3
    This app is not an option for Dell laptop with Windows 7. It cannot map Page Up/Down and Shift keys :-( – Andrii Muzychuk Jan 16 '14 at 12:24
  • This is utterly useless. It can't remap the entire keyboard. – LtWorf Jul 23 '16 at 14:13

There is an excellent tool for remapping keys for Windows Platform known as SharpKeys.

Sharpkeys is supported on Windows XP/2003/2000/Vista/7.

Another software is KeyTweak.

  • Sharpkeys allows us to tweak caps/shift/ctrl keys, when Microsoft Keyboard Layout Creator says they are unassignable. – Hugo H Jul 31 '16 at 16:28
  • As of 2016-12-22 SharpKeys is reported as having a virus by both Chrome and Firefox running on a Win7 laptop. – Peter Rowell Dec 23 '16 at 3:47

Try AutoHotkey. Its configuration syntax isn't the greatest, but it's very flexible.

  • I am sorry I am not a hell of a programmer, how do I map the "page down" to the "end" key? – Trident D'Gao Jul 15 '12 at 1:06
  • 1
    Read the documentation around Send, specifically {PgDn} and {End}. – user3463 Jul 15 '12 at 4:35
  • 2
    If you are just mapping one key to another, you don't need the Send command. See this related question and its answer: superuser.com/questions/430906/… – iglvzx Jul 15 '12 at 7:28
  • The syntax for this particular purpose is really simple: just one line Capslock::Ctrl makes Capslock become a Control key. Here is the doc: autohotkey.com/docs/misc/Remap.htm – user Apr 16 '16 at 10:26
  • And, in contrast to SharpKeys and KeyTweak, no reboot is needed. – user Apr 16 '16 at 10:34

For Mac OS X, Karabiner is a great remapping tool that enables you to create profiles for different keyboards and layouts. For Windows, there are many good remapping tools, such as AutoHotKey, hotkeycontrol, KeyMapper, keyremapper, KeyTweak, klm2000, MSKLC, and sharpkeys.

However, my own preference is ATNsoft Key Manager, which is highly intuitive and powerful. With Key Manager, you can create profiles for different keyboards and layouts. It does not make changes to the Windows Registry, and you can change profiles without logging out or rebooting. It even allows you to create a Fn key, which I have used extensively in my profile of a KBP V60 keyboard remapped to a HHKB/Mac layout under Windows 8.1.


http://www.autohotkey.com/ can is a powerful solution. You can remap keys and create modifiers keys using scripts like

;Use Capslock as a modifier and not as capslock anymore
    Gui, 99:+ToolWindow
    Gui, 99:Show, x-1 w1 +NoActivate, Capslock Is Down
    keywait, Capslock
    Gui, 99:Destroy

;Write functions for keys while capslock is beeing hold here
#IfWinExist, Capslock Is Down

;Use right and left shifts to toggle capslock
RShift & LShift::
    SetCapsLockState, % (State:=!State) ? "On" : "Off"

LShift & RShift::
    SetCapsLockState, % (State:=!State) ? "On" : "Off"
  • There shouldn't be a + before NoActivate – Born2Smile Nov 1 '16 at 21:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.