By houbysoft


2011-08-06 15:37:15 8 Comments

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.

6 comments

@Kris 2017-10-11 20:54:55

I got it to work on OS X 10.11!

Looks like they changed the location to: /System/Library/Input Methods/PressAndHold.app

—> Right Click + Show Package Contents

/Contents/PlugIns/PAH_Extension.appex

—> Right Click + Show Package Contents

/Contents/Resources/Keyboard-en.plist (or whatever keyboard you use).

In there you can click the drop-down arrows, then double click next to "Keycaps" and change the keys to your desired keys. enter image description here

enter image description here

See, it works!

@Tom Gewecke 2017-10-12 04:44:05

Are you sure you are talking about 10.11 El Capitan? In mine, the location of the .plist files is not what you say, but the one in the original answer. If you are really talking about 10.12 Sierra, you should delete this, because it was already fully answered by Skeleton bow months ago.

@Skeleton Bow 2017-02-27 15:29:09

If you are using macOS Sierra, you need to look elsewhere to change it. Here are my instructions, inspired from Custom Characters in OS X Accent Popup - George Garside:

  1. Disable System Integrity Protection as detailed in How to turn off rootless in Mac OS X El Capitan - MacWorld.

  2. Navigate to /System/Library/Input Methods/PressAndHold.app/Contents/PlugIns/PAH_Extension.appex/Contents/Resources/ in the Finder. To go to it quickly, press ⇧⌘G and paste the string in.

  3. Find your keyboard plist file. If you are using the English layout, you would be looking at Keyboard-en.plist and if you are using the German layout it would be Keyboard-de.plist. It could have other names as well, depending on your keyboard language.

  4. Back this file up by pressing ⌘D. Rename the copy you made to something with "backup" in its name.

  5. Open up the original file (without backup in its name) and edit the characters you want to in. After that, save it.

  6. Enable System Integrity Protection as detailed in the same page as step 1.

@Lri 2012-03-21 13:27:07

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.

(note the escape in "Input Method" if you're copy pasting)

<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>

@Mathias Bynens 2012-03-21 14:17:18

How do you keep on finding these hidden gems? Are you an OS X engineer? ;)

@Tom Gewecke 2012-03-21 16:57:13

Wow, lots of people have been trying to figure this out since at least last July. Thanks!

@Debilski 2012-03-28 14:56:08

‘Input Methods’, ‘PressAndHold.app’…? It couldn’t have been any more obvious.

@stuffe 2012-04-20 11:11:22

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 :)

@Tom Gewecke 2012-04-20 12:50:43

@stuffe Let us know how it goes. I think the possibilities are enormous, e.g. m10lmac.blogspot.com/2012/04/…

@stuffe 2012-04-22 18:27:42

And it goes a little something like this.... i.stack.imgur.com/Kyx2v.png :)

@Cajunluke 2012-09-10 03:26:59

This answer cannot be voted up enough times.

@jhabbott 2014-06-19 17:15:15

I've tried to use this to add squared and cubed characters for press-and-hold on 2 and 3, but I don't know the dictionary key names for the plist. I've tried <key>2</key>, <key>Number-2</key>, and <key>Roman-Accent-2</key> but none of these worked. Is there a list of possible key-names somewhere?

@Nathan Beach 2014-08-12 19:28:26

@jhabbott i wanted to do the same thing and just added it under the lower case "s" for "squared". also, no need to log off / on (in Mavericks at least). this solution is just awesome - trying to think of other things to use it for.

@Michiel de Mare 2015-10-16 07:21:04

It seems that this file is no longer editable in El Capitan...

@アリスター 2015-11-12 16:10:06

@MichieldeMare That’s because of System Integrity Protection, a new feature in OS X v10.11 El Capitan that makes it impossible for even root to write to system folders. As noted in the Wikipedia article though, it can be disabled.

@masukomi 2015-12-14 04:05:56

I've documented the full process here including temporarily disabling System Integrity Protection.

@user38125 2013-01-08 09:37:31

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.

@pasawaya 2012-08-03 00:47:35

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>

@houbysoft 2012-08-03 01:17:04

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.

@pasawaya 2012-08-03 01:19:11

@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.

@houbysoft 2012-08-03 01:22:21

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.

@pasawaya 2012-08-03 01:57:25

@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>

@OghmaOsiris 2012-08-28 15:57:56

That may be simple, but I'm trying to edit the .plist but it says I don't own the file, so can't edit it... How would I go about editing the file?

@pasawaya 2012-08-28 16:40:36

@OghmaOsiris - Could you post the specific error?

@OghmaOsiris 2012-08-28 16:49:14

@pasawaya 2012-08-28 16:52:33

@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.

@Valon 2012-05-24 13:13:20

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

@NOTjust -- user4304 2013-05-17 17:27:03

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…)

Related Questions

Sponsored Content

6 Answered Questions

[SOLVED] Press and hold for accents does not work everytime

3 Answered Questions

[SOLVED] Adding to accented characters available on OS X Keyboard

5 Answered Questions

[SOLVED] Faster Press and Hold Character Picker

2 Answered Questions

[SOLVED] How do I re-enable the Press and Hold character picker on OS X Lion?

  • 2013-10-12 20:51:49
  • sophieb
  • 13049 View
  • 6 Score
  • 2 Answer
  • Tags:   macos lion terminal

3 Answered Questions

6 Answered Questions

[SOLVED] Yosemite changes QWERTY keyboard layout

  • 2014-10-22 10:30:50
  • PeterG
  • 7430 View
  • 4 Score
  • 6 Answer
  • Tags:   keyboard

1 Answered Questions

[SOLVED] Hotkey switching between spelling dictionaries

4 Answered Questions

[SOLVED] How to define Lion’s key variations in a `.keylayout` file?

  • 2012-03-21 12:03:21
  • Mathias Bynens
  • 1325 View
  • 4 Score
  • 4 Answer
  • Tags:   lion macos keyboard

3 Answered Questions

[SOLVED] How can you customize the keyboard layout / shortcuts?

1 Answered Questions

[SOLVED] Can I automatically show keyboard viewer on certain layouts?

Sponsored Content