Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

In OS X Lion, there is a very useful feature for people like me who need to write in multiple languages, which pops up a small menu of additional characters when you hold down a letter.

For instance, when I hold down the letter E, I get:

e

This is great when I'm writing in French for example. However right now I need to write something in Czech; however, the Czech letter ě (looks like the 3rd letter in the popup with the accent flipped) does not appear in the popup.

Is there a way to tell OS X to include Czech or other additional characters in those popups?

Note: I do not want to use the Czech keyboard layout; I found switching layouts for each language is somewhat unpractical.

share|improve this question
    
It should also be mentioned that someone asked this question back in September on the cocoa-dev mailing list: lists.apple.com/archives/cocoa-dev/2011/Sep/msg00098.html (Unfortunately there were no responses!) –  jtbandes Mar 21 '12 at 14:44
    
I wonder if this was perhaps recently added, like in 10.7.3? –  Tom Gewecke Mar 23 '12 at 14:52
    
@TomGewecke Yeah, I'm pretty sure the popup hasn't been there since 10.1... –  NOTjust -- user4304 May 17 '13 at 17:28
add comment

5 Answers 5

up vote 43 down vote accepted

The characters included in the popovers are defined in property lists inside the /System/Library/Input Methods/PressAndHold.app/ bundle.

I was able to change à to y by editing /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist and logging out and back in.

<key>Roman-Accent-a</key>
<dict>
    <key>Direction</key>
    <string>right</string>
    <key>Keycaps</key>
    <string>a y á â ä æ ã å ā</string>
    <key>Strings</key>
    <string>a y á â ä æ ã å ā</string>
</dict>

share|improve this answer
11  
How do you keep on finding these hidden gems? Are you an OS X engineer? ;) –  Mathias Bynens Mar 21 '12 at 14:17
    
Wow, lots of people have been trying to figure this out since at least last July. Thanks! –  Tom Gewecke Mar 21 '12 at 16:57
    
‘Input Methods’, ‘PressAndHold.app’…? It couldn’t have been any more obvious. –  Debilski Mar 28 '12 at 14:56
    
Wow, I missed this question until now. I will be playing around to see if I can turn something like ~ into a list of my favourite Emoji or special keyboad characters :) –  stuffe Apr 20 '12 at 11:11
6  
And it goes a little something like this.... i.stack.imgur.com/Kyx2v.png :) –  stuffe Apr 22 '12 at 18:27
show 3 more comments

Using the info in this thread I answered the same question on MacRumors.

I made a custom .plist file specifically for Chinese Pinyin input. So I wanted to link to a plist that is created for Chinese phonetics. You can download it here.

share|improve this answer
add comment

I know this is a little late, but I feel it's an important contribution: you can not only press-and-hold keys to input special characters; you can also input strings of text. For example, I configured my Keyboard-en.plist file so when I hold the "p" key, I can choose between my first name (which is pretty long), last name, and email address (which is also long). I feel this might be useful to some people, so this is what it looks like:

<key>Roman-Accent-p</key>
<dict>
    <key>Direction</key>
    <string>right</string>
    <key>Keycaps</key>
    <string>p firstname lastname email</string>
    <key>Strings</key>
    <string>p firstname lastname email</string>
</dict>
share|improve this answer
    
Cool! Out of curiosity what's your first name if you don't mind sharing? Given how long it waits I'd imagine this would give me a benefit only like upwards of 10-15 chars... My names are pretty short, but it could be useful for the email. –  houbysoft Aug 3 '12 at 1:17
    
@houbysoft - You're right. I guess it's not that useful for my name, as mine is only 8 letters long, but for my emails which are upwards of 25 letters long each, it's very useful. –  qegal Aug 3 '12 at 1:19
    
btw, I just realized, do you know if something like this is possible on iOS? Given the small keyboards on iPhones for instance this could be very useful for those devices. –  houbysoft Aug 3 '12 at 1:22
    
@houbysoft - Well you might have heard of text expanders, which you can configure so for example when I type "addr", it will autocomplete my complete address. I just did a quick google search and it looks like there's an iOS text expander app. You can find it here: <itunes.apple.com/us/app/textexpander/id326180690?mt=8>; –  qegal Aug 3 '12 at 1:57
1  
@OghmaOsiris - Duplicate it, save it to your Desktop, make the desired edits, then rename it to the original (ex. "Keyboard-en-duplicate.plist" -> "Keyboard-en.plist") and place delete the original file. Then place the renamed duplicate in the original directory. –  qegal Aug 28 '12 at 16:52
show 4 more comments

My solution (for Czech):

  1. Backup /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist file
  2. Copy /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-cs.plist and rename it to /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist
  3. Remove useless characters from new /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist
share|improve this answer
    
good idea, I only switch between one other international keyboard ATM, this will make that almost unnecessary!!! (not to mention the layout has me typing with numbers all the time…) –  NOTjust -- user4304 May 17 '13 at 17:27
add comment

As far as I know no one has yet found a way to add items to the popups.

You could ask Apple to do it here:

http://www.apple.com/feedback/macosx.html

In case you are not aware, layouts can be easily switched via the shortcut Apple/command + space.

Also you can make the czech accents with the US Extended layout via Option/alt keyboard shortcuts. A list is at

http://homepage.mac.com/thgewecke/diacritics.html

share|improve this answer
    
Seems there's no way to do what I want now, so I'll accept this answer. I have asked apple on the page you provided. –  houbysoft Sep 20 '11 at 23:32
    
There’s also bugreport.apple.com. –  Mathias Bynens Mar 21 '12 at 14:16
add comment

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.