Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I heard that you can hold alt and type out some cryptic numeric code to get characters like accented letters. Is there a way to do this more like the mac way?

share|improve this question

11 Answers 11

so i searched and searched the web how to type enye ...i accidentally discovered it by myself yesterday ... just hold ctrl+shift+...then press the letter "n" if you wana type it in a small letter just let go ctrl+shift+ before you press "n" ...this hotkey works on windows 8.1 ..

share|improve this answer

I will shamelessly plug a little tool I wrote for entering symbols in Windows as I find any solution usually presented too cumbersome for daily frequent use. My personal use case is typing the Swedish å for example on an international US keyboard without having to switch layouts or resort to (shudder) alt key codes.

It allows the entering of unicode characters through a popup window not dissimilar to how this works in Apple OS X.

See https://github.com/mjvh80/SymWin for details, it's free and open source, but must (currently) be compiled. If there is sufficient interest I could add a pre-built version.

The tool can be configured per key, e.g. by copy/pasting symbols once from a site such as http://copypastecharacter.com.

share|improve this answer

Native Options to Windows


Use the Windows Character Map

Windows Character Map

You have several different options to getting to it.

  1. You can find this under Start > All Programs > Accessories > System Tools > Character Map.
  2. You can type Character Map in the Windows Start Menu search box.
  3. You can click on Start > Run and type charmap and click on OK (or hit Enter)
  4. You can press Win + R, type charmap and click on OK (or hit Enter)
  5. You can create a shortcut to it on your Desktop or other location.
  6. If on Windows 7, you can Pin it to your taskbar, or Start Menu.

Once you get to the Windows Character Map...

  1. Find the character you want.
  2. Single click will zoom on the character for a closer look.
  3. Double clicking will append the character into the Characters to copy text box at the bottom, and the contents of Characters to copy will be put on your clip board. You can then paste (CTRL + V) this where you want to use the characters.

Using Keyboard Shortcuts

To use the Alt keyboard shortcuts, you have to have a keyboard with a dedicated numberpad, and you have to have Numlock turned on. You also have to know the number of the character you want. For example, if you want to type a lower case acute e (é), then you would hold down the Alt key, and type Numpad 0, Numpad 2 , Numpad 3, Numpad 3. Remember that Numlock has to be turned on, and you have to use the keys on the Numberpad. You cannot use the number keys at the top of your keyboard.

You have a couple of different ways to find out what the number associated with the character is. The best is to use the Windows Character Map, if you notice in the bottom right hand corner of the Windows Character Map after you click on a character, it tells you the Keystroke sequence. There are also a lot of web-sites that list this such as this one that breaks them down into categories.

Add An Additional Language Service

You can add additional input language services such as Spanish, Germin, Greek, etc. and a language selector will be placed on your startbar. To do this,

  1. Go to the Control Panel and click on Change keyboards or other input methods under Clock, Language, and Region
  2. Click on the Keyboard and Languages tab
  3. Click on the Change Keyboards... button
  4. Click on the Add... button
  5. Expand the language that uses the characters you want (e.g. Spanish (Mexico))
  6. Expand Keyboard
  7. Check one of the options (e.g. Latin American)
  8. Click on the OK button
  9. Click on the Apply button

After you do this, a language selecter will be placed on your start bar to left of your System tray. You can then single left-click on this to switch languages.

Input Language Selector

As an example, if you want to type out a lower-case acute e (é) then you would single click on the language selector, select Spanish (Mexico), then press the ' key, and press e. You should make sure you switch back to English (United States) or whatever your native language is.

Note, you can toggle between input languages by pressing Left Alt + Left Shift, you can also setup hotkeys for specific input languages under the Advanced Key Settings tab in the Text Services and Input Languages dialog you arrived at after step 3 of the last section.


Hardware Option


As others mentioned, you can purchase keyboards that have accented characters available on them such as this $5.00 Latin/Spanish keyboard on eBay.


Third-Party Software Options


These options will get you the closest to the Mac style. In Linux, you can setup what's called a "Compose Key" which behaves similary to the Mac method. For example, to type a lower-case acute e (é) you would do Compose Key, ', e. As a result, you can search for "compose key for windows" and arrive at most of these options.

  1. freecompose — Works on Windows 2000 or better. This is what I personally use and recommend since it lets you add/remove/change the key-sequences.
  2. AutoHotKey in combination with this script that @jay mentioned.
  3. Unichars — also a AutoHotKey solution
  4. AllChars

Side Note: Personally, I like to set my "Compose Key" to the Caps Lock key. But a lot of people use the Left Alt key.

share|improve this answer

keyxpat could be your solution. You get the accents and other diacritics on the keys you expect them to be. The character you get only depends on the time you take to release the key (a metronome helps you determine that moment). I wrote it for myself first and a lot of people appreciated it so I'm proposing it now online.

share|improve this answer

I use a lot of odd characters, and actually found it worthwile to create a new keyboard layout using MSKLC, that uses the layout I am used to, but adds a lot of special characters in unobtrusive places. Those I use most are inserted as AltGr combinations, e.g., AltGr+n for ŋ and so on. The idea is that you or anyone using your computer should have everything in its expected place, with all those extra characters available to you if you need them. The only way this can be made to work is if you take pains to put the characters in intuitive places. If you weren't sure whether a character existed or not on your keyboard, which keys would you try? These are generally a great place to keep them.

This does not solve everything, of course. I also set a keyboard shortcut to the insert symbol dialog in word, use the Charmap and separate keyboard layouts for completely different input methods, such as arabic-based alphabets.

That said, I am intrigued by the idea of combination solutions, because they also let you use intuitive paths to the characters you need. Reminds me of old Word Perfect...

share|improve this answer

I've been using this awesome AutoHotkey script from this forum http://www.autohotkey.com/forum/topic570.html by 'jak'. Just set this script to run at startup:

With this you can do stuff like

  • Windows + ` and then e to get è
  • Windows + : and then e to get ë

...etc

;====================================
;accents "top part" - this top part needs to be located at the top part (the 'run' part) of the ahk file
;====================================
;
;============ ----- Send Unicode Character - universal MS word-style accents in any application
;
SendInput:=DllCall("GetProcAddress",UInt,DllCall("GetModuleHandle",Str,"user32"),Str,"SendInput")
VarSetCapacity(SendUbuf, 56, 0) ; INIT SendU data strucure
NumPut(1, SendUbuf, 0, "Char")
NumPut(1, SendUbuf,28, "Char")
NumPut(0x40000, SendUbuf, 6)
NumPut(0x60000, SendUbuf,34)
;-----------------
;

;====================================
;accents "hotkey part" -  (this part can be located anywhere)
;====================================
;



SendU(UC) {                     ; Send Unicode Char, Pressed modifier keys stay active!
   Global                       ; SendUbuf, SendInput
   NumPut(UC, SendUbuf, 6, "Short")
   NumPut(UC, SendUbuf,34, "Short")
   Return DllCall(SendInput, UInt,2, UInt,&SendUbuf, Int,28)
}


a::
if accent=grave
;   sendinput,à
{
SendU(0x00e0)
}
else if accent=acute
{
;   Send,á
SendU(0x00e1)
}

else if accent=circumflex
;   sendinput,â
{
SendU(0x00e2)
}
else if accent=tilda
;    sendinput,ã
{
SendU(0x00e3)
}
else if accent=umlaut
;   sendinput,ä
{
SendU(0x00e4)
}
Gosub,TurnAccentsOff
Return


c::
if accent=cedilla
;    sendinput,ç
{
SendU(0x00e7)
}
Gosub,TurnAccentsOff
Return

e::
if accent=grave
;   sendinput,è
{
SendU(0x00e8)
}
else if accent=acute
;   sendinput,é
{
SendU(0x00e9)
}
else if accent=circumflex
;   sendinput,ê
{
SendU(0x00ea)
}
else if accent=umlaut
;   sendinput,ë
{
SendU(0x00eb)
}
Gosub,TurnAccentsOff
Return


i::
if accent=grave
;   sendinput,ì
{
SendU(0x00ec)
}
else if accent=acute
;   sendinput,í
{
SendU(0x00ed)
}
else if accent=circumflex
;   sendinput,î
{
SendU(0x00ee)
}
else if accent=umlaut
;  sendinput,ï
{
SendU(0x00ef)
}
Gosub,TurnAccentsOff
Return


n::
if accent=tilda
;    sendinput,ñ
{
SendU(0x00f1)
}
Gosub,TurnAccentsOff
Return

o::
if accent=grave
;   sendinput,ò
{
SendU(0x00f2)
}
else if accent=acute
;   sendinput,ó
{
SendU(0x00f3)
}
else if accent=circumflex
;   sendinput,ô
{
SendU(0x00f4)
}
else if accent=tilda
;    sendinput,õ
{
SendU(0x00f5)
}
else if accent=umlaut
;   sendinput,ö
{
SendU(0x00f6)
}
Gosub,TurnAccentsOff
Return


u::
if accent=grave
;   sendinput,ù
{
SendU(0x00f9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00fa)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00fb)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00fc)
}
Gosub,TurnAccentsOff
Return


+a::
if accent=grave
;   sendinput,À
{
SendU(0x00c0)
}
else if accent=acute
;   sendinput,Á
{
SendU(0x00c1)
}
else if accent=circumflex
;   sendinput,Â
{
SendU(0x00c2)
}
else if accent=tilda
;    sendinput,Ã
{
SendU(0x00c3)
}
else if accent=umlaut
;   sendinput,Ä
{
SendU(0x00c4)
}
Gosub,TurnAccentsOff
Return



+c::
if accent=cedilla
;    sendinput,Ç
{
SendU(0x00c7)
}
Gosub,TurnAccentsOff
Return


+e::
if accent=grave
;   sendinput,È
{
SendU(0x00c8)
}
else if accent=acute
;   sendinput,É
{
SendU(0x00c9)
}
else if accent=circumflex
;   sendinput,Ê
{
SendU(0x00ca)
}
else if accent=umlaut
;  sendinput,Ë
{
SendU(0x00cb)
}
Gosub,TurnAccentsOff
Return


+i::
if accent=acute
;   sendinput,Í
{
SendU(0x00cc)
}
else if accent=grave
;   sendinput,Ì
{
SendU(0x00cd)
}
else if accent=circumflex
;   sendinput,Î
{
SendU(0x00ce)
}
else if accent=umlaut
;   sendinput,Ï
{
SendU(0x00cf)
}
Gosub,TurnAccentsOff
Return


+n::
if accent=tilda
;    sendinput,Ñ
{
SendU(0x00d1)
}
Gosub,TurnAccentsOff
Return


+o::
if accent=grave
;   sendinput,Ò
{
SendU(0x00d2)
}
else if accent=acute
;   sendinput,Ó
{
SendU(0x00d3)
}
else if accent=circumflex
;   sendinput,Ô
{
SendU(0x00d4)
}
else if accent=tilda
;    sendinput,Õ
{
SendU(0x00d5)
}
else if accent=umlaut
;   sendinput,Ö
{
SendU(0x00d6)
}
Gosub,TurnAccentsOff
Return



+u::
if accent=grave
;   sendinput,ù
{
SendU(0x00d9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00da)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00db)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00dc)
}
Gosub,TurnAccentsOff
Return


TurnAccentsOff:
Hotkey,a,off
Hotkey,e,off
Hotkey,i,off
Hotkey,o,off
Hotkey,u,off
Hotkey,c,off
Hotkey,n,off
Hotkey,+a,off
Hotkey,+e,off
Hotkey,+i,off
Hotkey,+o,off
Hotkey,+u,off
Hotkey,+c,off
Hotkey,+n,off
Return

TurnAccentsOn:
Hotkey,a,on
Hotkey,e,on
Hotkey,i,on
Hotkey,o,on
Hotkey,u,on
Hotkey,c,on
Hotkey,n,on
Hotkey,+a,on
Hotkey,+e,on
Hotkey,+i,on
Hotkey,+o,on
Hotkey,+u,on
Hotkey,+c,on
Hotkey,+n,on
Return



<#'::
keywait, lwin
accent=acute
Gosub,TurnAccentsOn
Return



<#`::
keywait, lwin
accent=grave
Gosub,TurnAccentsOn
Return



<#6::
<#+6::
keywait, lwin
accent=circumflex
Gosub,TurnAccentsOn
Return



<#;::
<#+;::
keywait, lwin
accent=umlaut
Gosub,TurnAccentsOn
Return



<#,::
keywait, lwin
accent=cedilla
Gosub,TurnAccentsOn
Return



<#+`::
keywait, lwin
accent=tilda
Gosub,TurnAccentsOn
Return



Gosub,TurnAccentsOff

There's also a more Mac like approach which I haven't tried here: http://www.autohotkey.com/forum/topic30440.html.

share|improve this answer
    
I used the second link you gave, autohotkey.com/forum/topic30440.html and it's rock-and-roll :) thanks! –  adambox Mar 3 '10 at 17:54
1  
update: the autohotkey scripts are gobbling up my ctrl key, screwing up all sorts of stuff. I just use copypastechar now :P copypastecharacter.com –  adambox Jun 22 '10 at 11:39
    
@adambox: gobbling up? –  jay Jun 23 '10 at 0:44
    
when it's enabled, I can't do things like ctrl-a to select all :( –  adambox Jun 23 '10 at 14:33
    
with the second script at the first link given, it works great for me, no Ctrl-gobbling happening: I can still Ctrl+A et faire accents comme ça. :) –  Kev Oct 28 '11 at 21:55

I use AllChars on a daily basis. It emulates X-style Compose key, allowing me to quickly type all those annoying characters like ©, ® and °.

share|improve this answer
up vote 3 down vote accepted

Windows is such a pain. I've been using copypastechar to grab them and paste in. :P

share|improve this answer
1  
+1 as it even contains ☃ :-) (How else can one get to http://☃.net/ when needed!) –  Arjan Feb 28 '10 at 3:52
    
Yeah, it's super awesome! –  trusktr Sep 18 '13 at 5:38

Ctrl + ', then let them go, and e will give you é

This will work for the vowels, but in my tests, only in certain situations (e.g. MS Office).

share|improve this answer
    
Also works for ñ, by doing CTRL + Shift + ~ and then pressing n haven't tried anything else yet. –  druciferre Sep 11 '13 at 3:56

An alternative would be installing a multilingual keyboard layout (such as Canadian Multilingual) and use the hotkeys (ALT+SHIFT in Vista and 7) to alternate between that and your normal keyboard layout.

share|improve this answer
    
Changed CTRL into ALT –  Ivo Flipse Feb 18 '10 at 20:57
    
Thanks Ivo - I forgot that I had changed the key sequence on my PC. –  MetalMikester Feb 19 '10 at 12:17
    
@Ivo: Alt+Shift switches input languages, Ctrl+Shift switches keyboard layouts for the currently active input language (by default, at least). Of course, ofttimes switching the input language also switches the keyboard layout, but those two concepts are distinct. Depending on your configuration (one input language, multiple keyboard layouts or multiple input languages, each with its own layout) either one can be correct. –  Joey Feb 19 '10 at 14:33
1  
US International is also a nice one, although not suitable for every European language (Polish for example is lacking). Another alternative would be to create a custom keyboard layout using MSKLC: microsoft.com/downloads/… –  Joey Feb 19 '10 at 14:35
    
Ctrl+Shift was driving me crazy, switching to International when I didn't want it. In Windows 8.1, go to Control Panel > Clock, Language, and Region > Language > Advanced settings > Change Language Bar Hotkeys > Advanced Key Settings > Change Key Sequence. Set Switch Keyboard Layout to Not Assigned. Windows+Space will still work, but Ctrl+Shift will no longer switch keyboard layouts. –  Christian Long Jan 20 at 6:54

Not really, Windows doesn't allow accented input as easily. However, it is generally pretty easy to locate the codes you need by using the 'Character Map' utility.

From the run dialog (Win+R), execute: charmap.exe

In there, you will be presented with a font selection at the top and a grid of characters that font provides. I recommend picking a good standard font (e.g. Times New Roman). Locate the character you want and SINGLE-CLICK on it.

In the bottom right corner of the window there will be a code that correlates to the Alt+### code you use to type that character. Alternatively if you DOUBLE-CLICK on the character, it will append it to the text-box at the bottom left of the application, where you can easily copy & paste it into the program you needed the character.

Some software has a special-characters insert built right in (Word for example, under Insert Special Character). Do note however, that if you use a non-standard font you may get something other than what you expected (Wingdings is a great example of this).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.