Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use English and Serbian/Croatian about 50%-50% of the time while on internet. The problem is, Serbo-Croatian alphabet contains 30 characters. The extra characters are pretty much letters like C, S, D, an Z with accents. So, my question is what is the best way to accommodate this on Windows 7 and normal keyboard?

The perfect solution would be the way iPhone handles this. It's really brilliant. You just hold a character for a few seconds and options to choose a accented character pops up. What I am talking about is presented nicely in this article:

At the moment, I open up Character Map and find a character I need and do copy-paste. I know there are shortcuts to get these characters to display, but they are not really user friendly as they are not easy to remember. For example: Č would be U+010C

If solution requires a running a small app in the background that is also acceptable, as long as it it's very light on resources.

Hopefully I was clear, and I hope somebody has a solution for this. Thanks in advance.

share|improve this question
up vote 2 down vote accepted

I'm not aware of anything that mimics the iPhone-style solution of character diacritics (the accented marks on characters) on Windows. OSX has a similar feature built-in with the options key, but for Windows-based systems you're pretty much stuck using either the Alt+Keycode method, or by changing your keyboard layout.

If you just have a few special characters in the extended ascii character set that you use infrequently (like I did while learning German in high school), then you can use alt keycodes. In the character map where it shows "U+00D9" for "Ù", on the right-hand side you should see "Alt+0217". This means you can press and hold the Alt key, type "0217" on the number pad (make sure numlock is on!), and then release Alt to type that character.

This doesn't work for all characters, as you'll note there is no alt keycode for "Č". The other method is to switch keyboard layouts. Under Control Panel -> Regions and Languages, you can click "Change Keyboards" on the "Keyboards and languages" tab. In the window that pops up, click the "Add" button and add the Serbian and Croatian keyboards to your system.

You can then switch between keyboard layouts by pressing Shift+Alt. A keyboard layout basically binds each key on the keyboard to a letter in the OS. If you've ever noticed a foreign keyboard, some of the keys are in different locations - this is to make room for the symbols used most often those languages, and allow them to be accessed easily. Switching keyboard layouts will make the computer think one of those foreign keyboards is connected, so it'll map the keypresses to those symbols accordingly - Keys will no longer match up to what is physically printed on the keyboard in all cases, but once you learn the layout, you'll find it's very easy to type characters with diacritics in foreign languages.

share|improve this answer
Although I didn't get an answer that I was hoping for, hehe, I still got an answer nevertheless. You explained the options pretty well. Thanks. – iboros Feb 18 '13 at 18:00
So, I followed you advice about adding an additional keyboard layout. It's much easier now. I just have to figure out which are the accented characters. So, when I need an accented characters, I press ALT+SHIFT and fire away. Here's the list of characters that others using Serbo-Croatian on standard US keyboard might find useful. Š - [ Đ - ] Č - ; Ć - ' Ž - \ – iboros Feb 18 '13 at 18:12
You can view the key layout by going here and selecting "Croatian" If you hover your mouse over the Shift or AltGr in the keyboard image, it'll update the keys to reflect what keys will be typed when the Shift and AltGr keys are pressed down. – Darth Android Feb 18 '13 at 20:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .