Sometimes when editing text, I want to use the Emoji & Symbols viewer to quickly type a symbol. Other times, I want to open the full Character Viewer window. Unfortunately, there only seems to be one keyboard shortcut to open them (Edit > Emoji & Symbols, ⌃⌘space), and it simply remembers which you used last. Changing which interface is displayed seems to require the use of a mouse to click the toggle button in the top-right of the window.
How can I easily select which of them to bring up? Ideally, I would like to end up with two keyboard shortcuts, one for each interface. Third-party solutions are acceptable, but a native solution would be ideal.
Possibly useful starting point: "Show Emoji & Symbols" in the Input menu (enabled via System Preferences > Keyboard > Keyboard > Show keyboard and emoji viewers in menu bar) seems to always bring up the full Character Viewer, regardless of the last state. Activating this with a keyboard shortcut would be perfect, though I would much prefer doing so programmatically rather than via the menu GUI.
Best Answer
If I were in a similar situation, I would do the following:
Change the default keyboard shortcut for Emoji & Symbols from ⌃⌘Space to ⌃⌥⌘Space so that the default ⌃⌘Space can be used as a shortcut with one of the scripts, the primary one.
Create two AppleScript scripts, one for showing Emoji & Symbols, (the primary one for me), and the other for showing Character Viewer. (This could be done in one script however, for coding simplicity two will be used.)
Use FastScripts to assign a keyboard shortcut to each. The first for My Emoji & Symbols to ⌃⌘Space and for My Character Viewer, use ⌃⇧⌘Space as shown in the image further below.
Note that I have no affiliation with Red Sweater Software, the developer of FastScripts, and am just a satisfied user.
The following was tested and worked under macOS High Sierra...
First, change the global keyboard shortcut for the Emoji & Symbols menu item:
System Preferences > Keyboard > Shortcuts > App Shortcuts
Click the [+] to add a new shortcut with the following settings:
Applications: All Applications
See image further below.
Next, create two AppleScript scripts (.scpt) files in
~/Library/Scripts/
, one named My Emoji & Symbols and the other named My Character Viewer, adding the following to each:For My Emoji & Symbols:
For My Character Viewer:
-bool
, beingtrue
orfalse
for theCVStartAsLargeWindow
key. Also, the value of thedelay
command is to allow time for thedefaults
command to make the write before System Events triggers the new global keyboard shortcut for the Emoji & Symbols menu item. The value of thedelay
command may need be adjusted, so do so as needed.Then in FastScripts > Preferences... > Script Shortcuts, assign ⌃⌘Space (or ⌃⌘␣) to My Emoji & Symbols, and assign ⌃⇧⌘Space (or ⌃⇧⌘␣) to My Character Viewer. See image below.
If using Automator Services, use a Run Apple Script action with the example AppleScript code, show above, replacing the default code in each and assign keyboard shortcuts via: System Preferences > Keyboard > Shortcuts > Services
Key Symbol Legend:
System Preferences > Keyboard > Shortcuts > App Shortcuts
FastScripts > Preferences... > Script Shortcuts
• Note that the ␣ character, shown in the shortcut below, is for the space character.
System Preferences > Security & Privacy > Privacy > Accessibility