I'm using Windows 10 with polish keyboard layout. Right now, dot key on my numpad inserts ',' instead of '.'. I'd like to change it preserving polish keyboard layout and without installing 3rd party apps. I've seen, that for some people changing decimal separator in regional options from ',' to '.' helped, but I tried it and for me it doesn't.
Is there a way to change it without 3rd party apps for polish keyboard layout?


First, install AutoHotkey.

Make a script with extension *.ahk, containing the following:

#SingleInstance, force
    Send, .

Double-click the file to make it work.

For convenience, either move it to Start Menu\Programs\Startup (just type this in the location bar of File Explorer, Win10 will resolve it for you) or make a shortcut in there.

Works like a charm.

  • 2
    Is AutoHotkey not a 3rd party app? Not sure why this was chosen as the accepted answer...
    – GrayedFox
    Nov 25 '19 at 13:20

I spent couple hours today researching this issue of changing comma in dot on the polish programmer layout keyboard. Most of online help is outdated - Win 10 system settings are overridden by keyboard setup. I looked into AutoHotKey and my understanding is that this approach is a little too heavy. Then I found this tool for keyboard remapping:


It doesn't say, that it supports Windows 10 (seems like not updated since 2009), but it worked for me. Very simple user interface to re-map keyboard in registry.

2 things to pay attention to:

  1. My keyboard was not correctly shown on the diagram - it shows 104 keys, I have 101 or 102.
  2. I used two different remapping methods: Using UI and Half teach mode. They mapped different scan codes. I applied both and it works. I can't now go into testing and checking if only one is correct or which one works.

Remapping scancode 52 to '.' in half Teach Mode

Key #104 remapped to "." in UI

There is some registry information which is added. Author says:

The registry key to which I’m referring is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout and the binary value in that key is titled “Scancode Map”. If you forget this, don’t worry, just click the Show Me The Raw Map button to see what I’m talking about. Now, I don’t recommend registry hacking to anyone – that’s why I wrote this utility. If you don’t know what I’ve been talking about in this section, it’s probably better left forgotten.

Raw map was empty before I started - now there is only one item currently in effect: Key #104 remapped to "."

Good luck! Jack.

OS Windows Version = "10.0.17134.1" 64-bit Home Keyboard Dell USB Enhanced (101- or 102-key) Wireless HID Keyboard Device

  • 1
    This worked out, really only solution I could find. Oly issue is that the key is permanently as dot key, no matter if numlock is no or off. For me its more then acceptable. Thanks.
    – GoTTimw
    Apr 11 '19 at 15:31
  • @GoTTimw - I don't think this key was ever affected by NumLock. On my keyboard there is no key to toggle it - you need to go deeper in the settings.
    – Furatus
    Apr 12 '19 at 18:04

I found a solution that involves only proper (though outdated) MS tools. You can create your own keyboard layout using Microsoft Keyboard Layout Creator 1.4 (https://www.microsoft.com/en-us/download/details.aspx?id=102134). The official statement does not list any modern Windows version as supported, but I am currently writing using a modified layout I've created and installed on a Windows 10.
Last successful try was on Windows 10 Home, Version 2004, OS build 19041.572.

The instructions are simple:

  1. The program requires the dated .Net version 3.5 whose installer can be downloaded from Microsoft (https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net35-sp1-web-installer). In can be installed alongside modern version.
  2. Download and install the App. Make sure you install it with a path that contains no spaces. When I first installed it in .../Program Files (x86)/... I was able to create my new layout, but failed to build the setup binary. I found a post on an MS forum suggesting a reinstall without spaces in the path (eg.: C:\MSKLC1.4\) - this helped.
  3. Open the app and load a layout you want to modify (unless you really want to make one from scratch): File > Load Existing Keyboard....
  4. Perform your changes - for the original question choose . instead of , for the Decimal separator (numeric keyboard).
  5. Project > Properties....
    Name - The directory name of the compiled layout files
    Description - The description that will show up on the list of available keyboard layouts. \
  6. (Optionally) Change working directory (the default is Documents).
  7. (Optionally) File > Save Source File.
  8. Project > Build DLL and Setup Package. This will ask you to review some metadata of the layout (make sure the language is the correct one), perform layout validation and finally should end up with a sub-directory of the working dir containing all the necessary files and a setup.exe. The setup.exe can be used to install and uninstall the layout.
    Watch out - the setup.exe opens a graphical window. It happened to me that when I tried to run it seemingly nothing happened. The problem was that the system request to allow the app to run started minimized... I found it on the main app bar on the bottom of the screen.
  9. The layout should appear in your regular language settings, on the list of available keyboard layouts (the exact names depend on system language):
    Search (e.g. Windows button) > "Language settings" > Preferred languages (section) > Click the language you want to add the keyboard to > Options > Keyboards section > Add keyboard > Look for the Description chosen in step 5.
  • If you experience problems while builing the setup file, check this out
    – Dariopnc
    Jun 22 '20 at 10:19
  • 7. "should apprear", but does not...
    – serge
    Oct 22 '20 at 12:59
  • 1
    I just retried this on a new, recently updated Windows 10. Everything worked fine for me. I edited the instructions to address some potential causes of your failure. In particular have a look at new step 5, edits to current 8 and current 9.
    – jarzec
    Oct 24 '20 at 13:12
  • Can you use MSKLC to remap numpads?
    – masher
    Nov 26 '20 at 3:28
  • I am no expert, but I did not find a way to remap numpad after going through all the menus... Maybe there is some more complex way to achieve that.
    – jarzec
    Nov 27 '20 at 8:12

In your keyboard selection, you sometimes have the option of a period version or a comma version of the keyboard.

I had the same problem as you in Win 10 and I changed my keyboard from Belgian(comma) to Belgian(period). I don't know if this is also possible with the Polish keyboard but I would think that it is.

  • This is definitely best answer, since it uses only Windows 10 normal configuration steps, without 3rd-party software nor Registry tweaking. I verified OK on my PC, which has a Belgian (French) keyboard. In the language configuration dialog, you have a pre-selected keyboard. On my PC, selected language was "Français(Belgique)". This language came with a predefined keyboard setting : "Français(Belgique)". I had to replace it by "Belge (point)" to activate de "dot" in place of the "comma" on the numeric keypad. But, I don't know if this solution is usable in your setup. try it.
    – LM.Croisez
    Jan 27 '21 at 15:02

I followed this setting to add a keyboard into the choices:

How to add keyboard layout on Windows 10

  • Open Settings.
  • Click on Time & Language.
  • Click on Language.
  • Select your default language from the list.
  • Click the Options button.
  • Under the "Keyboards" section, click the Add a keyboard button.
  • Select the new keyboard layout that you want to add.

Now in the keyboard choice I have the Belgium (comma) and the Belgium (period)

  • "Select the new keyboard layout that you want to add.", what kind of "layout" should I select, I need only to change "." to ",", or viceversa, all the rest is OK
    – serge
    Oct 22 '20 at 12:34
  • I have French keyboard, and there is no "French" (coma) in the list.
    – serge
    Oct 22 '20 at 12:35

Answering here as this was the first result which came up for my problem.

I was able to fix this in Latvian keyboard by going into its options and changing Latvian (Standard) QWERTY to Latvian (QWERTY) QWERTY.

Language Preferences > Latvian > Options > Add keyboard

Adding Polish to see if the same could be done there shows no luck. The only available Polish (Programmers) QUERTY and Polish (214) QUERTZ neither have . as a numeric pad decimal separator.

But I was able to make a native working Polish layout with dot on numpad with MSKLC. Load existing keyboard > edit project properties > validate > build > install > restart.

enter image description here

Here is my build. It is installable.


I am not sure and I cannot verify this, as I have no polish keyboard, but you have a good chance by switching your user settings to use '.' as the numeric separator, in Control Panel/Region and Language (or so). There are 'Customize' options to specify your 1000 separator, your decimal separator, etc.

On a German keyboard, this works for XP and Windows 7, and the numeric keypad inserts the chosen decimal separator, no matter what it is (even if you choose '?' or something crazy). Chances are good it will work in Windows 10 and polish too.

Note that this effects also other programs, like Excel - it will use that too. Maybe you actually like that, but maybe not.

  • 1
    Unfortunately it didn't work, still numpad dot key gives comma instead of dot.
    – fulaphex
    Nov 30 '15 at 18:00
  • There is a comma on the keypad, and it will show as a comma whatever you set as separator. It needs a registry hack, I did it once, now searching again ... (or maybe an additonal keyboard layout?)
    – Ralf
    Feb 1 '18 at 13:37
  • This is it (for me): dirk-schwarzmann.de/software/pkb.php#download Apparently for German keyboards only. One of the great mysteries of the universe, why Microsoft makes this so difficult ...
    – Ralf
    Feb 1 '18 at 13:56

Finally figured this out on Windows 10 Control Panel -> Clock & Region -> Additional date time & Regional settings -> Change date, time or number formats -> Additional Settings ... and you'll get to this window ... change setting to " . " and there you go! Hope this helps some of you. enter image description here

  • 4
    " I've seen, that for some people changing decimal separator in regional options from ',' to '.' helped, but I tried it and for me it doesn't." Mar 10 '19 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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