Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

On Linux, the Compose key is a great way to enter many symbols. E.g.

  • m-dash — by pressing Compose then ---
  • ö by pressing Compose then :o
  • Euro € by pressing Compose then C=

(The Compose key function can be assigned to various keyboard keys, such as right/left Alt, right/left Windows key.)

I really miss the Compose key when using Windows. I've looked but so far haven't found any way to get equivalent Compose key functionality on Windows. Does anyone know of how to do it?

share|improve this question
AllChars doesn't work in a Windows TSE server. – user71945 Mar 16 '11 at 7:19

6 Answers

up vote 8 down vote accepted

There are a couple of utilities to emulate the Unix-a-like key composition chords under windows. Allchars is one, which is also F+OSS, though I've not actually tried it myself yet (it is one of the many utilities in my "to try later" bookmark folder).

share|improve this answer
1  
If I understand what it's saying on the web page, it can only be used to enter characters with value 0..255 that are in the computer's "default code page"—so really quite limited. – Craig McQueen Dec 8 '09 at 6:23
2  
I've just tried the latest version, and it seems much more capable than the web page suggests. Perhaps the web page is quite out of date. Actually I think AllChars seems to hit the spot after all. – Craig McQueen Feb 4 '10 at 12:31
2  
The current version looks like it's written in C#, with updates in 2009 - check out the SourceForge site: sourceforge.net/projects/allchars – David Pope Nov 17 '10 at 1:35
With a title like AllChars one would expect it to cover at least the basic latin script variants, but it fails at a simple ė (fileformat.info/info/unicode/char/117/index.htm). – relet Mar 28 '11 at 11:52

On Windows, AllChars should do what you want. I have been using it for the exact purpose you describe for almost a year now.

Caveat: If you install AllChars and your keyboard starts to behave weirdly, try one of the other versions they offer, possibly the alpha/beta. They all seem to have different issues with the different versions of Windows out there. But one of them should work with whatever you use.

share|improve this answer

There's also Freecompose, found on code.google.com, but it has that annoying beep everytime you start compose mode.

share|improve this answer

Accent Composer looks promising, and I hope to try it some time.

Update:
Actually AllChars seems to do what I need (despite the web site saying it doesn't; I guess the web site's info is out-of-date compared to the latest version), and it's free. So I won't bother with Accent Composer.

share|improve this answer

The compose function is not exactly the same as a dead key. Strictly a compose is stopping spacing and printing the following characters in the same place. So even if your font have no è it would be created from e and `. They are still two characters in the same space.

A deadkey is somthing else: you type the deadkey "`" and see nothing. but a following "e" will be replaced by an unicode char "è" which is one character (and not two in the same space).

A deadkey will only work with combinations which will result in unicode chars, while compose work with all keycombinations (in theory, it depends of the OS and aplication)

There are combinations of both methods (a compose with a valid unicode result automaticly converted in Unicode), so you compose C= results in a real € char and not simply printed C and = in the same place.

Composing the alphabetic char gets first, then the modification follows. Using Deadkey the modificatin (deadkey) gets first, then the alphabetic char.

For example in windows: deadkey "`" and "e" (Unicode U+0060 and U+0065) will result in "è" (unicode character 00E8)

e +0300 <\ALT> will be get the same optic, but two chars (Unicode U+0065 and U+0300)

Of course real unicode is the more stringent method. But compose is more flexible:

deadkey "" and "w" (Unicode U+0060 and U+0077) will result in "w" (no unicode character availible), you dont get a composition

w +0300 <\ALT> will be get the the ` over the w as composition an not unicode char, so it works (if its usefull is another question)

A keyboard-layout with deadkeys can be programmed with free microsoft keyboard layout converter, so you can remap deadkey functions to layers (for example, the AltGr layer is allmost empty, you can map deadkeys there), a goot help for the needed definitions is the greek keyboard layout. Compose keys can also be mapped, but dont click deadkey in the definition but simply type the unicode of the valid composekeys (beginning at U+0300)

The hard thing will be compose and deadkeys on a WindowsPC with restricted user rights (in office), where you can´t make driver changes and start own programms.

For this you can use an programmable keyboard (for example POS-keyboards) or an microcontroller converter (Soarer-Converter with teensy ++2.0). There you can put the composable chars in Unicode in extra layers. A way to make real deadkeys in hardware is not easy done - you have to programm your own adapter, a nobody has done it now (but Soarer is thinking about developing his converter for it)

share|improve this answer

If I understand what the Compose key does in Linux, the Windows equivilant is to press Alt Gr along with a key such as A to produce á or Á, E to produce é or É etc.

You can also hold down the left Alt key along with a number code on the numerical keyboard which will produce many symbols such as

Alt+1 = ☺

Alt+2 = ☻

Alt+3 = ♥

Alt+4 = ♦

Alt+5 = ♣

Alt+6 = ♠

Alt+7 = •

Alt+8 = ◘

Alt+9 = ○

Alt+1,0 = ◙

There are thousands and after a quick look, I cannot find a complete list - I have found this guide that looks good - (and found it from this link) however there are many and you may find better.

Also, You can go in to Character map (either through Accessories or Run > "Charmap"), and click on a symbol and see what it's shortcut keystroke is - (it is not available for everything).

alt text

share|improve this answer
Mmm yes, m-dash can be got by holding down Alt and typing +2014 on the numeric keypad (possibly after setting a Windows registry setting to enable that function). But not intuitive like the Linux Compose key. And a bit difficult on a laptop. And doesn't work in Word. – Craig McQueen Nov 2 '09 at 2:49
1  
Lucky you! I wish I had a '10' key. – dreamlax Feb 4 '10 at 3:17
2  
You do misunderstand what Compose does. It lets you type characters not on the keyboard by entering an easy-to-remember sequence of two (sometimes more) characters, e.g. Compose : o to type ö or Compose C = to type . Entering characters by numbers or other obscure specifications is nowhere near an equivalent. – Gilles Nov 28 '11 at 21:06
2  
The MS Windows character map is a joke. There is even not a search feature? – rds Dec 29 '11 at 12:40
1  
@rds There is a search feature in the "Advanced view". – Craig McQueen Apr 11 '12 at 2:17
show 5 more comments

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.