27

Using polish language on Windows 8.1, comma is the default decimal seperator on numerical keyboard. Is there a way to change it to dot?

I wouldn't like to change it in Excel or some other program, but permanently rebind that key to dot. Can I do that?

2
  • 1
    Have you tried changing your "Region and Language" settings? There is a "Decimal Symbol" option which allows you to change the character(s) used. Control Panel > View by: Small/Large icons > Region and Language > Advanced Settings Apr 28, 2014 at 20:25
  • 2
    @nonterrorist yes, I have. With no effect.
    – alex
    Apr 28, 2014 at 20:46

11 Answers 11

17

You can do this using AutoHotKey with the following simple script:

NumpadDot::.

Basically, because Windows is interpreting the number pad's . signal as a , in the Polish layout, you just have to rebind that keystroke to the standard keyboard's . command again.

You could also try the Microsoft Keyboard Layout Creator.

7
  • This options seems only to work when this program (AutoHotKey) is open... :/
    – snoram
    Jun 18, 2016 at 22:45
  • 1
    @snoram yes and that is not an issue. Sep 20, 2016 at 7:51
  • 1
    the Microsoft Keyboard Layout Creator did the job May 8, 2018 at 6:00
  • Microsoft Keyboard Layout Creator also did the job for me. It's a bit sloppy and counterintuitive on Windows 10, but it works. Thanks! May 22, 2019 at 8:59
  • 1
    @SrđanPopić Fixed. Some time ago there existed 2 autohotkey sites hosting similar but distinct content. Now everything is consolidated back to the original site, so I put that in there again.
    – techturtle
    Apr 2 at 5:01
16

I think the same problem sits in the German version of Windows 8. This way it is really annoying for example to enter a date or decimal number in Excel. The Numberpad becomes totally useless.

The Solution (sorry for German screenshots):

  1. Open Control Panel (Systemsteuerung) with rightclick on the windows icon in the lower left corner of your screen.
  2. Select the shortcut to change the format of Date, Time and Numbers (Datums-, Uhrzeit- oder Zahlenformat ändern): Control Panel
  3. Choose the Advanced Settings (Weitere Einstellungen): Region Settings
  4. Type in a dot instead of the comma (Dezimaltrennzeichen Komma --> Punkt): Change Format
  5. Repeat step 4 for the Currency (Währung) tab.
  6. Confirm changes with OK.

Hope this helps.

6
  • 10
    unfortunately, this solution does not work. numpad dot still gives comma.
    – alex
    Jun 23, 2014 at 16:53
  • 2
    Try changing the decimal separator to the dot in the currency tab as well.
    – Ryakna
    Oct 21, 2014 at 11:11
  • Worked for me on Windows 8.1 with German(Swiss) Keyboard.
    – robsn
    Nov 18, 2014 at 7:22
  • Didn't work on Icelandic keyboard.
    – snoram
    Jun 18, 2016 at 22:51
  • 1
    Unforunately didn't work for me either (french belgian keyboard, win10); but I've found another solution.
    – Anto
    Aug 31, 2016 at 0:39
15

Solved this in Windows 10 with Microsoft Keyboard Layout Creator 1.4 https://www.microsoft.com/en-us/download/details.aspx?id=102134

It requires .Net Framework 2.0, but I have latest 4.8.

  1. Open Microsoft Keyboard Layout Creator. I got some errors, but just pressed "Ignore" all time.
  2. File > Load existing Keyboard (find your current)
  3. Change comma to dot here: enter image description here

3b. Adjust fields in Project > Properties

  1. Press Project > Validate Layout and fix issues. In Russian case I deleted Alt+Ctrl+8 currency symbol (I didn`t even know it exists in default).
  2. Press Project > Build DLL and Setup package.
  3. Run setup.exe from build folder.
  4. Press magnifier icon and type language > go to "Language and Keyboard Settings".
  5. Select bottom "language package available" version and press arrow up till it will be upper than yours previous layout.
  6. After that delete your previous language.
  7. In my case language bar in tray dissapeared after previous step, so I used this https://winaero.com/blog/enable-language-bar-windows-10/
  8. Reboot your PC.
2
  • update the first link, it does not work anymore
    – serge
    Oct 22, 2020 at 14:26
  • 1
    Thank you, fixed Oct 26, 2020 at 18:01
4

The utility SharpKeys manipulates the windows ScancodeMap registry key, which can map any key to any other key. You don't need to know the scancodes, SharpKeys figures them out for you. You just press the key you want to remap, and press the key you want to map it to, and it will write it to the registry. SharpKeys doesn't run in the background - the registry key that it uses is part of Windows.

Unfortunately, it's not documented to work on Windows 8, and not guaranteed 100% on non-US keyboards, but the underlying Windows registry key will still be there, so there is a good chance it will work, and it almost certainly won't hurt to try.

4
  • utility seems promising, but the installer doesn't even start on win 8.1
    – alex
    Oct 22, 2014 at 18:32
  • I have extracted the installer using "Universal Extractor" (it used the MSI Administrative Command Line unpack method), I ran the application and I have mapped my NUM_DEL to KEY_DOT_> (or something like that). IT WORKS. THANKS! (also, no need to reboot, logging out and in seems to be enough for the changes to apply). If you do not want to download an additional utility to extract the .msi, check out this link.
    – Gizmo
    Feb 14, 2015 at 10:36
  • Great! Worked smoothly.
    – snoram
    Jun 18, 2016 at 22:52
  • Finally, this worked for me. Only one issue: it works the other way round than I expected. Maps from right to left, not left to right.
    – Ralf
    Dec 17, 2019 at 14:26
4

Microsoft Keyboard Layout Creator

Worked for making a Swedish keyboard numpad produce dot instead of comma.

Brief overview for Windows 10:

  • install and run downloaded app.
  • load existing keyboard (option in the menu)
  • modify and "Save as..."
  • generate installer (option in the menu)
  • run installer
  • reboot

At this point press Win+Space, and select your new keyboard layout.

1
  • This is from 2007. Does not seem to work on Win10 anymore.
    – Ralf
    Dec 17, 2019 at 13:57
4

I found it! It took "only" 2 years.

I used Keyboard Layout Manager (unfortunately the website is down). After installing (run as admin!) click New, select new name, your language and your current layout as template. Then just change , on numpad to . and confirm with Ok.

In my case I removed the old layout from keyboards list, so only the new one remained. After this, the language bar dissappeared. But after logout/login it reappeared again and... everything worked as expected! Yay!

Also, no DLL for your new layout is generated so it only works locally on any given computer, it's not a portable solution. There is also a registration fee for this software, but a freeware version can handle dot/comma substitution.

2
  • Yes, this was also the only solution that worked for me. See also superuser.com/questions/280005/… on how to remove the backtick or accents
    – nachtigall
    Dec 22, 2017 at 13:36
  • Dead link - site does not exist anymore. Google finds download links on fishy sources (informer, softpedia ...)
    – Ralf
    Dec 17, 2019 at 13:58
3

I've found a clean solution for my French (Belgian) keyboard in Windows 10.

  1. In the Windows menu, search for "keyboard options" In the Windows menu, search for "keyboard options"

  2. Under "Languages", click on your keyboard's language and select "Options" Under "Languages", click on your keyboard's language and select "Options"

  3. There, under "Keyboard", I see my current keyboard as "Belgian (Comma)". Click on "Add a keyboard" and select the same keyboard but ending with "(Period)". Click on "Add a keyboard" and select the same keyboard but ending with "(Period)"

  4. Eventually remove the previous "Comma" keyboard to make sure you always use the "Period" one. Eventually remove the previous "Comma" keyboard to make sure you always use the "Period" one

  5. Voilà. . now properly prints . !

2
  • 5
    From what I can see only Belgian has keyboards with comma/period, there's no such choice for other languages.
    – alex
    Aug 31, 2016 at 8:20
  • I have french keyboard, there is not such an option for French
    – serge
    Oct 22, 2020 at 12:41
1

I changed my keyboard to English (US) which fixed it for me.

Control Panel/Clock language and region/Change input methods

1

I use Hungarian QWERTZ layout (102) but Win 10 has no option for having dot on the numpad instead of a comma (Hungarian decimal symbol). Typing IP addresses is a real pain this way.

Of course my decimal should stay comma, so modifying local and currency settings is no solution. Having a 3rd party app for this feels like an overkill for me. But this solution with registry override worked for me like charm: Rebinding Numpad . (location 104) to regular dot (location 54)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,34,00,53,00,00,00,00,00

Save this to a file named 102to102dot.reg (only the extension matters), run it and add the key to the registry. After reboot, it works as expected. To undo it, simply remove the Scancode Map key from the registry path above in RegEdit.

1
  • This is a lifesaver, works like a charm without external dependencies. OFF: I think the decimal separator comma is ugly, so I use dot in Hungarian text too. Oct 26, 2022 at 19:37
0

Note that in Windows 10, I was able to modify the key behavior without any 3rd party software, through the following menu: Typing settings > Advanced keyboard settings > Override the default input method.

Windows 10 Advanced keyboard settings

In my case, it allowed switching between period and comma versions of my keyboard layout (French Belgium).

0

this works for me: SharpKeys https://github.com/randyrants/sharpkeys ,
it is now also available on MS Store: https://apps.microsoft.com/store/detail/sharpkeys/XPFFCG7M673D4F

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .