Change numpad , to . Windows 10

First, install AutoHotkey.

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

#SingleInstance, force
NumpadDot::
    Send, .
Return

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.


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.

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:

https://www.bleepingcomputer.com/download/keytweak/

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