I use the Chinese keyboard on OS X Mavericks, and I'm sure this is the case for other versions of OS X, where when I type in Chinese, like 爱情 and emoji like hearts come up.. which is annoying because the emoji takes up a space that otherwise would be filled with relevant characters and I don't use emoji. While not urgent, it'd be nice if I could just get rid of them once and for all.

I've looked through the keyboard settings for Chinese and couldn't find an option to disable the emoji and also did some Googling online if you can do a system-wide disable of emoji, and couldn't find anything.

1 Answer 1


The following method is produced on OS X 10.9.

The emoji definition file is at /usr/share/mecabra/zh/common/emoji.plist.

You just replace it with an empty plist file (back it up first). The input method will not start again if you simply remove or rename the file. I use the following Python code:

from plistlib import dump

dump({}, open('emoji.plist', 'wb'))

The Python version I use is 3.4. You have to use sudo to replace the file.

Then you reload the input method by doing killall SCIM, and then activate the input method again. If the SCIM process fails to start, log out and log in again. Now the Chinese input method would be emoji-free.

PS: I like the emoji feature. Emoji is the first reason I use the Apple Chinese input method rather than other third party ones.

  • Instead of emptying the file, I would recommend to rename it so you can restore it later: sudo mv /usr/share/mecabra/zh/common/emoji.plist /usr/share/mecabra/zh/common/emoji.plist.bak; sudo touch /usr/share/mecabra/zh/common/emoji.plist
    – nohillside
    Commented Sep 18, 2014 at 8:42
  • 1
    The input method cannot start if the file is missing. I have edited the answer to include backing up. Commented Sep 18, 2014 at 8:48
  • That's why the touch command creates a new one (which is empty), same as your python code :-)
    – nohillside
    Commented Sep 18, 2014 at 9:12
  • I tried an empty file, and the input method will not restart again. I finally figured that it must need an valid plist file. PS: you have reminded me to add the Python version, since the dump function I used is not available in older versions. :) Commented Sep 18, 2014 at 9:26

You must log in to answer this question.

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