Dead Keys: How to Type Accented Characters Without a Special Keyboard
- ○ 1. How to Type Special Characters on Mac: The Complete Guide
- ○ 2. How to Type Special Characters on Windows: Alt Codes and Beyond
- ○ 3. How to Type Special Characters on Linux: Compose Key and Unicode Input
- ○ 4. Input Method Editors (IME): How CJK Text Input Works
- ● 5. Dead Keys: How to Type Accented Characters Without a Special Keyboard
- ○ 6. Unicode Hex Input on macOS: Type Any Character by Code Point
- ○ 7. Windows Alt Codes: Complete Reference for Special Characters
If you've ever pressed a key and noticed nothing appeared on screen until you typed the next key, you've used a dead key. Dead keys are one of the oldest and most elegant solutions to the problem of typing accented characters on a keyboard that doesn't have dedicated accent keys. They're built into dozens of keyboard layouts across all major operating systems — once you understand how they work, accented character input becomes effortless.
What Is a Dead Key?
A dead key is a keyboard key that, when pressed, does not immediately produce a character. Instead, it "waits" — the key is "dead" until you press the next key. If the combination is valid, you get an accented character. If the combination isn't valid, you typically get both the accent mark and the base character separately.
The visual metaphor is a two-keystroke combination: the dead key "primes" the accent, and the following key delivers the base letter with that accent applied.
For example, on the US International keyboard layout:
- Press the apostrophe key (') — nothing appears
- Press e — you get é (e with acute accent)
Or:
- Press the apostrophe key (') — nothing appears
- Press Space — you get ' (a standalone apostrophe, because Space isn't a base letter)
Why Dead Keys Matter
Without dead keys, typing accented characters requires either: - Memorizing numeric Alt codes (Windows) or Option key combos (Mac) — powerful but hard to remember - Opening a character picker — slow for fast typing - Using a keyboard physically designed for a language with those accents
Dead keys let you type accented characters at full typing speed once you've learned the sequences. For anyone who regularly writes in a European language that uses accents — French, Spanish, German, Portuguese, Dutch, Swedish, Polish, and more — dead keys are worth learning.
How Dead Keys Work Technically
At the operating system level, a dead key sends a special key event that isn't immediately committed to the input buffer. The keyboard layout table contains mappings:
Dead acute + e → é (U+00E9)
Dead acute + a → á (U+00E1)
Dead acute + i → í (U+00ED)
Dead acute + o → ó (U+00F3)
Dead acute + u → ú (U+00FA)
Dead acute + Space → ´ (standalone acute accent, U+00B4)
Dead acute + Dead acute → ´ (standalone acute accent)
These mappings are defined in the keyboard layout files: .klc files on Windows, keylayout bundles on macOS, and XKB symbol files on Linux.
When a dead key is pressed, the system stores the "pending accent" state. When the next key event arrives, the system looks up the (dead key, base key) pair and outputs the combined character.
The US International Keyboard Layout
The US International layout is specifically designed to add dead key support to the standard US QWERTY layout without moving any keys. It keeps all the regular keys in their familiar positions and repurposes five keys as dead keys.
Installing US International
Windows: 1. Open Settings > Time & Language > Language & Region 2. Click on English (United States) then Language options 3. Under Keyboards, click Add a keyboard 4. Select United States-International 5. Switch to it via the language bar in the taskbar, or with Win+Space
macOS: 1. System Settings > Keyboard > Text Input > Edit 2. Click + > search "U.S." > select U.S. International - PC 3. Add and switch to it via the Input menu
Linux:
# Set via gsettings (GNOME)
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+intl')]"
# Or via setxkbmap for immediate effect
setxkbmap us -variant intl
Dead Keys in US International
The five dead keys in US International are:
| Key | Dead Key | Accent |
|---|---|---|
' (apostrophe) |
Dead acute | ´ |
` (grave/backtick) |
Dead grave | ` |
" (double quote / Shift+') |
Dead diaeresis | ¨ |
^ (caret / Shift+6) |
Dead circumflex | ^ |
~ (tilde / Shift+`) |
Dead tilde | ~ |
Complete Dead Key Combinations (US International)
Dead Acute ( ' ):
| Sequence | Result | Name |
|---|---|---|
' + a |
á | a-acute |
' + e |
é | e-acute |
' + i |
í | i-acute |
' + o |
ó | o-acute |
' + u |
ú | u-acute |
' + y |
ý | y-acute |
' + A |
Á | A-acute |
' + E |
É | E-acute |
' + I |
Í | I-acute |
' + O |
Ó | O-acute |
' + U |
Ú | U-acute |
' + Y |
Ý | Y-acute |
' + Space |
' | Standalone apostrophe |
Dead Grave ( ` ):
| Sequence | Result | Name |
|---|---|---|
` + a |
à | a-grave |
` + e |
è | e-grave |
` + i |
ì | i-grave |
` + o |
ò | o-grave |
` + u |
ù | u-grave |
` + Space |
` | Standalone grave |
Dead Diaeresis ( " ):
| Sequence | Result | Name |
|---|---|---|
" + a |
ä | a-umlaut |
" + e |
ë | e-umlaut |
" + i |
ï | i-umlaut |
" + o |
ö | o-umlaut |
" + u |
ü | u-umlaut |
" + y |
ÿ | y-diaeresis |
" + Space |
" | Standalone double quote |
Dead Circumflex ( ^ ):
| Sequence | Result | Name |
|---|---|---|
^ + a |
â | a-circumflex |
^ + e |
ê | e-circumflex |
^ + i |
î | i-circumflex |
^ + o |
ô | o-circumflex |
^ + u |
û | u-circumflex |
^ + Space |
^ | Standalone caret |
Dead Tilde ( ~ ):
| Sequence | Result | Name |
|---|---|---|
~ + a |
ã | a-tilde |
~ + n |
ñ | n-tilde |
~ + o |
õ | o-tilde |
~ + Space |
~ | Standalone tilde |
The Apostrophe and Quotation Mark Problem
The biggest practical challenge with US International is that the apostrophe and quotation mark become dead keys. This means typing it's requires pressing ', then Space, then s — an extra keystroke compared to US layout.
For programming and terminal work, this is annoying. Solutions:
- Switch back to US layout for coding sessions
- Use a different layout where dead keys are placed on less-used keys
- Learn to type ' + Space, which becomes second nature quickly
macOS Dead Keys
macOS's default US keyboard layout has its own dead keys, accessed via the Option key rather than repurposing the apostrophe:
| Dead Key | Sequence | Examples |
|---|---|---|
| Dead acute | Option+E | Option+E, then e → é |
| Dead grave | Option+` | Option+`, then a → à |
| Dead circumflex | Option+I | Option+I, then o → ô |
| Dead tilde | Option+N | Option+N, then n → ñ |
| Dead umlaut | Option+U | Option+U, then u → ü |
This approach keeps the standard keys unchanged (apostrophe still types ' immediately) while using the Option layer for dead keys. It's less disruptive than US International but requires remembering which Option combination produces which accent.
macOS US International PC Layout
If you want the "true" US International dead key behavior on Mac (apostrophe as dead key), add the U.S. International - PC layout in System Settings > Keyboard. This closely matches the Windows US International experience.
UK Extended Layout
The UK Extended keyboard layout is designed for British users who occasionally need to type characters from other European languages. It adds dead keys via the AltGr (right Alt) key, keeping UK standard keys intact.
AltGr dead keys in UK Extended:
| Dead Key | AltGr sequence |
|---|---|
| Dead acute | AltGr+' |
| Dead grave | AltGr+` |
| Dead circumflex | AltGr+6 |
| Dead diaeresis | AltGr+; |
| Dead tilde | AltGr+# |
| Dead cedilla | AltGr+, |
The AltGr key (or Option on Mac) approach means all dead key sequences require three keys (AltGr + dead key base, then the letter), but it doesn't interfere with normal typing at all.
Other Layouts with Dead Keys
Many European keyboard layouts incorporate dead keys for their specific language needs:
| Layout | Dead Keys | Language Need |
|---|---|---|
| French (AZERTY) | ` ^ ¨ | French accents |
| German (QWERTZ) | AltGr+dead sequences | Foreign accents |
| Spanish (Latin America) | ´ ` ¨ ~ ^ | Spanish and Portuguese |
| Nordic (Finnish/Swedish) | ¨ ^ ~ ´ | Scandinavian characters |
| Polish (Programmer) | AltGr combinations | Polish diacritics |
| Portuguese (Brazil) | ´ ` ~ ^ ¨ | Portuguese accents |
| International phonetic | Multiple dead keys | IPA symbols |
Combining Characters
Dead keys produce precomposed characters — single Unicode code points that include both the base letter and the accent (e.g., U+00E9 for é). This is different from combining characters, which are separate Unicode code points that attach to the preceding base character.
For example:
- Precomposed: é (U+00E9, one code point)
- Base + combining: e + ◌́ (U+0065 + U+0301, two code points)
Both render identically in most contexts, but they differ in string length and normalization. Dead keys always produce the precomposed form, which is the correct choice for text that will be stored and displayed.
If you're building applications that accept accented input, normalize to NFC (canonical decomposition followed by canonical composition) to ensure consistent storage regardless of how the user typed the character.
Find any precomposed character's code point with our Unicode Lookup tool.
Troubleshooting Dead Keys
Dead key typing a regular character immediately: Your current keyboard layout may not have dead keys on that key. Open Keyboard Viewer (macOS) or use a layout tester to confirm which keys are dead in your active layout.
Apostrophe not working as a dead key on Windows: Make sure you've switched to US International layout (not US layout). Check the language bar — it should show "ENG INTL" or similar.
Two characters appearing instead of one accented character: The combination you typed isn't in the layout's dead key table. For example, ' + b isn't a valid combination in most layouts, so you'll get 'b. Press Space between the dead key and the letter to cancel the dead key state and type them separately.
Dead keys interfering in terminal/code editor: US International's apostrophe-as-dead-key behavior is the most common issue in terminals. Consider using a layout where dead keys are on less-used keys (Option layer on macOS, AltGr layer), or configure your terminal emulator to bypass dead key processing.
macOS Option+E not working in some apps: A few apps (particularly Electron apps and some games) intercept keyboard events before the OS dead key processing occurs. Use Character Viewer or paste from clipboard in these cases.
Next in Series: macOS's Unicode Hex Input method lets you type any character by its code point — the ultimate power user tool. See Unicode Hex Input on macOS: Type Any Character by Code Point for setup and usage.