Skip to main content

Overview

Quick Accent (also known as PowerAccent) allows you to easily insert accented characters, diacritics, and special symbols by pressing and holding letter keys. A selection toolbar appears showing available accent variations for the pressed key.
Quick Accent is essential for typing in multiple languages, especially those that use diacritical marks like Spanish, French, German, Portuguese, and many others.

How to Activate

Quick Accent activates automatically when you press and hold a letter key that has accent variations:
1

Press and Hold Letter

Press and hold a letter key (e.g., A, E, O) for the configured duration
2

View Options

A toolbar appears above the cursor showing available accented variants
3

Select Character

Press Space, , or to cycle through options, or click with mouse
4

Insert

Release the Space key or press Enter to insert the selected character

Configuration Options

Language Selection

SelectedLang
enum
default:"ALL"
Choose which language’s accent characters to display:
  • ALL: Show accents from all supported languages
  • Catalan
  • Croatian
  • Czech
  • Dutch
  • Estonian
  • French
  • Gàidhlig (Scottish Gaelic)
  • Galician
  • German
  • Hebrew
  • Hungarian
  • Icelandic
  • Italian
  • Kurdish
  • Lithuanian
  • Macedonian
  • Māori
  • Norwegian
  • Polish
  • Portuguese
  • Romanian
  • Serbian (Cyrillic)
  • Serbian (Latin)
  • Slovak
  • Spanish
  • Swedish
  • Turkish
  • Welsh
And many more…

Toolbar Behavior

InputTime
number
default:"300"
Time in milliseconds to hold a key before the accent toolbar appears (default: 300ms)
Position
enum
default:"Top"
Position of the accent selection toolbar relative to the cursor:
  • Top: Above the cursor
  • Bottom: Below the cursor
  • Left: To the left of the cursor
  • Right: To the right of the cursor
  • Center: Centered on screen
StartSelectionFromTheLeft
boolean
default:"false"
When true, the first character in the toolbar is pre-selected. When false, selection starts from the middle.

Advanced Options

ShowUnicodeDescription
boolean
default:"false"
Display Unicode character information (code point and name) below each accent option in the toolbar
SortByUsageFrequency
boolean
default:"false"
Automatically reorder accent options based on how frequently you use them. Most-used characters appear first.

Available Characters

Quick Accent supports a wide range of accented characters. Here are some examples:

Common Vowels

KeyAvailable Accents
Aá, à, ä, â, ã, å, ā, ă, ą, ǎ, æ, and more
Eé, è, ê, ë, ē, ė, ę, ě, and more
Ií, ì, î, ï, ī, į, ı, and more
Oó, ò, ô, ö, õ, ō, ő, ø, œ, and more
Uú, ù, û, ü, ū, ű, ų, ů, and more
Yý, ÿ, ŷ, and more

Common Consonants

KeyAvailable Accents
Cć, č, ç, ĉ, and more
Nñ, ń, ň, and more
Sś, š, ş, ș, and more
Zź, ż, ž, and more

Special Characters

KeyAvailable Symbols
O°, ø, œ, ō (also includes dashes when ShowUnicodeDescription is enabled)
-Various dash types (em dash, en dash, etc.)
The exact characters available depend on your selected language setting. Choose “ALL” to see the complete set.

Use Cases

Multilingual Typing

Type in multiple languages without switching keyboard layouts.
Scenario: Writing an email in Spanish
Action: Hold 'n' key to access ñ for "mañana"
Result: Quickly insert ñ without changing keyboard layout

Academic Writing

Insert proper diacritical marks in citations, foreign terms, and names.
Enable “Sort by usage frequency” to automatically prioritize the accents you use most often.

Language Learning

Practice typing in foreign languages with correct accent marks:
  • Learn proper spelling and pronunciation
  • Type vocabulary exercises accurately
  • Communicate with native speakers correctly

Professional Communication

Ensure names and places are spelled correctly:
  • Client names with special characters
  • International locations
  • Cultural sensitivity in correspondence

Keyboard Navigation

ActionKeys
Show toolbarHold letter key
Select next character (right)Space or
Select previous character (left)Shift + Space or
Insert selected characterRelease Space or Enter
Insert space (cancel)Release held letter key without selecting
CancelEsc

Mouse Navigation

  • Click any character in the toolbar to insert it immediately
  • Hover to preview character names (when ShowUnicodeDescription is enabled)

Performance Tips

Reduce Input Delay

If the toolbar appears too slowly:
  • Lower the InputTime setting to 200ms or 250ms
  • Note: Very low values (less than 150ms) may cause accidental activations

Optimize for Specific Language

Instead of using “ALL” languages:
  • Select only the language(s) you actively use
  • Reduces visual clutter in the toolbar
  • Faster character selection with fewer options

Enable Usage Frequency Sorting

If you frequently use the same accents:
  • Enable SortByUsageFrequency
  • Your most-used characters will appear first automatically
  • Reduces navigation time

Technical Details

Character Database

Quick Accent includes comprehensive character mappings in:
  • PowerAccent.Core/Languages.cs - Over 43,000 lines of character definitions
  • Supports 40+ languages and writing systems
  • Unicode-based character representation

Keyboard Hook Architecture

  • Low-level keyboard hook captures key presses
  • Timer-based activation prevents accidental triggers
  • Non-intrusive: doesn’t interfere with normal typing
  • Works in any application (text editors, browsers, etc.)

Rendering

  • WPF-based toolbar overlay
  • DPI-aware for high-resolution displays
  • Follows cursor position dynamically
  • Hardware-accelerated rendering

Troubleshooting

  • Check that Quick Accent is enabled in PowerToys Settings
  • Verify the key has accent options in your selected language
  • Try increasing InputTime if you’re releasing too quickly
  • Ensure no other application is capturing keyboard input
  • Check your selected language setting
  • If using “ALL”, consider switching to specific language(s)
  • Verify keyboard layout in Windows settings
  • Quick Accent inserts at current cursor position
  • Ensure correct application has focus
  • Some applications may not support direct character insertion
  • Change Position setting (Top, Bottom, Left, Right, Center)
  • Top position is usually best for most scenarios
  • Center position works well for touch screen users
  • Select specific language instead of “ALL”
  • Reduce number of enabled languages
  • Check for Windows performance issues
  • Restart PowerToys

Accessibility Features

Visual Enhancements

  • Large, clear character display in toolbar
  • High-contrast compatible
  • Configurable positioning for visibility

Unicode Information

Enable ShowUnicodeDescription to see:
  • Unicode code point for each character
  • Official character name
  • Helpful for learning and reference

Motor Accessibility

  • Mouse clicking supported (no keyboard required)
  • Adjustable hold duration for different motor abilities
  • Visual feedback for selected character

Source Code Reference

The Quick Accent implementation can be found at:
  • Module interface: src/modules/poweraccent/PowerAccentModuleInterface/dllmain.cpp
  • Core logic: src/modules/poweraccent/PowerAccent.Core/PowerAccent.cs
  • Language definitions: src/modules/poweraccent/PowerAccent.Core/Languages.cs
  • UI implementation: src/modules/poweraccent/PowerAccent.UI/
  • Module name: Line 39 in dllmain.cpp (“QuickAccent”)

Build docs developers (and LLMs) love