Windows 10 - Alt code results in wrong character

62,344

Solution 1

By default, the numeric keypad way of entering characters by code can only access the first 256 characters. (I believe these are defined by your system's code page for non-Unicode programs.) Codes bigger than 256 get wrapped around, so code 257 actually gets you character 1.

To enable the entry of all Unicode characters by code, create a string registry value in Computer\HKEY_CURRENT_USER\Control Panel\Input Method called EnableHexNumpad with the value of 1. Then you'll be able to enter any character by holding down the right Alt key, pressing the + button on the numeric keypad, entering the hex code (2, 7, 1, 3 in your case), and releasing the Alt key. You may need to log off and back on before this input type is enabled.

Note that the non-+ method of entering ASCII characters by code will continue to wrap around even after you enable this mode.

Solution 2

Instead of trying to remember that ✓ is U+2713 (which I am unable to), I can suggest trying a piece of software I maintain called WinCompose. It inserts itself in the keyboard input chain and when using the default Right Alt as a compose key, lets you enter combinations such as:

  • Right Alt @ / for ✓
  • Right Alt @ X for ✗
  • Right Alt [ Space ] for ☐
  • Right Alt [ / ] for ☑
  • Right Alt [ x ] for ☒
  • … and thousands more

There is a GUI that lets you search for sequences and characters. Of course if you only know the Unicode codepoint for a given character and not the (supposedly intuitive) combination, you can still activate Unicode input in WinCompose and do the following:

  • Right Alt u 2 7 1 3 for ✓

Finally, note that Windows doesn’t let you enter Unicode characters beyond U+FFFF with the EnableHexNumpad key, so you won’t be able to enter e.g. U+1F4A9, but WinCompose lets you do this:

  • Right Alt u 1 f 4 a 9 for 💩

Solution 3

The best I have come up is typig the numeric sequence slower. I want to type é, so I go Alt 130: é, but if I type as fast as I can, I get ♪, which is the so called "eighth note" music symbol, which is normally made with Alt 13. Bottom line, it seems to be a problem of keyboard sensitivity and those damn "help" anti-repeat features. Maybe the keyboard is dirty and the Alt key doesn't hold steady and drops after the 1 3 and doesn't get the 0. Anyway, the solution for now is pressure air clean the keyboard and tinker with the typing speed. Microsoft continues its relentless regression to the Middle Ages... ♪♪éééé♪♪♪éé

Solution 4

After reading this I have discovered right-alt and left-alt produce different results for the same code.

To get GBP I used to enter left-alt 0163, which produces ú. I should be using right-alt 0163, which produces £.

Since I use my right hand on the keypad, pressing right-alt with the left hand is not as convenient as pressing left-alt.

Try using right-alt instead of left-alt.

Share:
62,344

Related videos on Youtube

Cg2916
Author by

Cg2916

Updated on September 18, 2022

Comments

  • Cg2916
    Cg2916 almost 2 years

    I'm on a laptop running Windows 10. I try pressing Alt+2713 to give a "✓" character, but instead I get a "Ö" character. Any thoughts as to why this might be?

    • Admin
      Admin over 8 years
      Which program? What font?
    • Admin
      Admin over 8 years
      Alt+251 gets a check mark...alt-codes.net
    • Admin
      Admin over 8 years
      @Moab Strictly speaking, that's a square root sign; U+2713 is a different character. (Also, in locales that aren't US English, the top 128 ASCII codes can be different. For me, Alt+251 produces ¹.)
    • Admin
      Admin over 8 years
      Makes my head hurt!
    • Admin
      Admin over 5 years
      You gotta type the plus sign too. Literall alt PLUS 2713 (on the numpad). You can do the ones with non 0-9 hex as well, but you gotta type the letters on the left side without letting go, and depending on what application in GOOD LUCK as it probably has something bound to at least one of those (e.g. alt-a through alt-f). edit: just saw the below answer. Yeah, you gotta enable the registry entry. This should be standard by today because the average person isn't going to know how, nor want to do that., but it's super usefull. I use +2047 for ⁇ which works in filenames, while a regular ? doesn't.
  • Cg2916
    Cg2916 over 8 years
    Perfect! Restarted instead of just logging out just in case.
  • Alex Che
    Alex Che almost 6 years
    ✓ Signing out and then in worked.
  • fixer1234
    fixer1234 over 5 years
    Interesting discovery on the speed. But if your assumption is wrong about the anti-repeat (which is adjustable), you will have maligned Microsoft unfairly (on this one issue). :-) In general, answers are better if you focus on the technical issue and avoid commentary.
  • phuclv
    phuclv over 3 years
    with EnableHexNumpad you can type characters outside the BMP by typing the surrogate pair