July 2nd, 2024

The history of Alt+number sequences

The history of Alt+number sequences on IBM PCs and Windows systems is explored. Users could enter characters by pressing Alt and typing decimal values on the numeric keypad, leading to discrepancies in character display based on the input control used.

Read original articleLink Icon
The history of Alt+number sequences

The article discusses the history of Alt+number sequences on IBM PCs and Windows systems. Initially, users could enter characters not on the keyboard by pressing Alt and typing the decimal value on the numeric keypad. In the United States, this corresponded to Code Page 437 in the IBM PC BIOS and Code Page 1252 in Windows. The Alt key, when used with the numeric keypad, looked up characters in the OEM character set for compatibility with MS-DOS. Typing Alt+number would give the corresponding character from the OEM set. However, some controls like RichEdit override this behavior and interpret the decimal value differently, affecting the character displayed. For instance, Alt+9731 would show a heart in the default mode but a snowman in RichEdit controls due to different modulo calculations. This discrepancy caused confusion when users expected a snowman but got a heart instead after a Windows update. Understanding these nuances helps clarify why Alt+number sequences may yield different characters based on the input control being used.

Related

The End-of-Line Story (2004)

The End-of-Line Story (2004)

The ASCII standard lacks a unique end-of-line character, leading to varied EOL conventions in early systems. ARPAnet researchers mandated CR LF sequence for standardization across protocols like Telnet, FTP, and SMTP. Modern systems handle EOL translations, but issues like extra characters can still occur. Windows systems use CR LF for EOL, while Unix uses LF. RFCs specify CR LF for Internet transmission, and FTP can preserve EOL characters in binary mode. RFC Editor website adapts EOL conventions for different systems in compressed RFC collections.

The End-of-Line Story (2004)

The End-of-Line Story (2004)

The ASCII standard lacks a unique end-of-line character, leading to varied EOL conventions in early systems. ARPAnet researchers standardized CR LF sequence for network communication, influencing protocols like Telnet and FTP. Modern systems handle EOL conversions, but issues like Control M characters can occur. Windows' CR LF simplifies cross-system transfers, contrasting Unix's LF. RFCs mandate CR LF for internet transmission, despite Unix's LF storage. Binary FTP mode preserves EOL characters, and compressed RFC collections accommodate Unix and Windows EOL conventions, crucial for data exchange.

Interactive Comparator of Different National Layouts on a Computer Keyboard

Interactive Comparator of Different National Layouts on a Computer Keyboard

The page provides a keyboard layout comparator emphasizing alphanumeric blocks and character assignment variations. It includes Unicode code points, key names, and references to keyboard resources. Tools like TMK, QMK, and Soarer's Converter are listed. Last updated 17/05/2023. Contact Miguel Farah for inquiries.

What actual purpose do accent characters in ISO-8859-1 and Windows 1252 serve?

What actual purpose do accent characters in ISO-8859-1 and Windows 1252 serve?

Accent characters in ISO-8859-1 and Windows 1252 ensure compatibility with older 7-bit character sets, adding national characters and composed characters. Their inclusion predates modern standards, impacting historical encoding variants. Application software determines their usage.

Beyond monospace: the search for the perfect coding font

Beyond monospace: the search for the perfect coding font

Designing coding fonts involves more than monospacing. Key considerations include hyphens resembling minus signs, aligning symbols, distinguishing zero from O, and ensuring clarity for developers and type designers. Testing with proofing strings is recommended.

Link Icon 15 comments
By @UI_at_80x24 - 4 months
Back in my BBS days I would use ALT+255 to create a <null> blank character. Windows couldn't display it, but the FTP programs I used could. That made it fun/easy to "hide" an FTP server dump location on a windows server.

The windows admin could see that the drive was filling up but not which directory was the cause.

Linux could see it. And so could my FTP client. (Enter fond memories of using FXP here too)

For multiple layers of chaos I might create multiple "blank" directories but only store the 'real' files multiple layers deep. For added "legitimacy" I might include the contents of \system or \print or something. I can't remember exactly.

By @felideon - 4 months
Fond memories of having a handy cheatsheet printed out for doing homework and chatting on MSN Messenger, until of course I memorized them (or maybe I printed it for the benefit of others).

It was always odd to me that é was out of sequence:

  Alt+160 => á
  Alt+130 => é
  Alt+161 => í
  Alt+162 => ó
  Alt+163 => ú
  Alt+164 => ñ
  Alt+165 => Ñ
Most people with US keyboards had no idea how to type ñ/Ñ, the most important out of the bunch.
By @theonealtair - 4 months
I learned about the Alt characters a long time ago when I wanted to type “Pokémon” in the gamefaqs message boards. I never knew until now why higher numbers didn’t do anything different.
By @Workaccount2 - 4 months
TIL that the reason these alt+ sequences never worked for me is because you have to use the number pad...
By @Aardwolf - 4 months
It would be great to make this feature relevant again but use decimal unicode codes, and have it work in linux too this way; it can be really useful now and then (as an alternative to looking up the unicode character on the internet and copypasting it)

I remember using this back in the day for ALT+0160 to type non breaking space, which could do funny things in forums and chat programs like MSN and ICQ

By @novagameco - 4 months
alt-255 alt-255 alt-30

alt-30 alt-255 alt-30

new friends can't triforce

By @ttrrooppeerr - 4 months
> For example, you could enter ñ by holding Alt and typing Numpad1 Numpad6 Numpad4, then releasing the Alt key.

To this day, this remains the best way to insert the character, I have tried the PowerToys Quick Accent [1] but I had so many missed characters when typing fast.

[1] https://learn.microsoft.com/en-us/windows/powertoys/quick-ac...

By @criddell - 4 months
I wonder why they made this work only on the numpad?

Are these sequences available on laptop keyboards or some of the smaller keyboards that have no numpad? I’m working on a Lenovo Trackpoint II keyboard and alt-0176 should create the degrees sign but I can’t figure out how to do it.

By @TuringNYC - 4 months
When we were learning typing in high school, some of the geekier kids were using alt-224, etc to selectively replace some English chars with Greek ones. The not-so-techy teacher were scratching her head on how we were typing in Greek.
By @wojtczyk - 4 months
My first keyboard on a 286 didn't have: alt+039:' alt+060:< alt+062:> They are still burned in my memory.
By @7bit - 4 months
ALT-3 ♥

Unfortunately, for some reason unbeknownst to me, this doesn't work any longer on Windows 10+11

By @rob74 - 4 months
> This means that whether the Alt+… value is taken mod 256 depends on what kind of control you are typing into.

By default, the value is taken mod 256, and Alt+9731 gives you a heart.

But if you happen to be using a RichEdit control, then the Alt+… value is taken mod 65536, and Alt+9731 gives you a snowman.

And that is why some people hate Windows with so much passion. Not that other OSes don't have their peculiarities of course...

By @K7PJP - 4 months
Ah, is this one of the reasons Windows users are so attached to full-sized keyboards with numpads? In any discussion of TKL-or-smaller keyboards, there’s a cohort of people baffled at how any keyboard without a numpad could be fit for purpose. I take it this Windows feature is among the reasons why.