Keyboard viewer
One of the better kept secrets on the Mac is the Keyboard Viewer. It allows you to see a visual representation of your keyboard with a “live” view of what different modifier keys make available. For instance, you can see what characters become available when you hold down the ⌥ key.
But the challenge is to make it easily available. It can be found in the Text Input menu, but that’s not visible by default unless you have more than one input source (and depending on your macOS version maybe not even then). So here’s a guide to help you:
Go to > System Settings > Keyboard and click on Edit next to Input Sources
2. In the “All Input Sources menu”, turn on “Show Input in menu bar”
3. When you want to see the Keyboard Viewer you click on the Input Menu and select "Show Keyboard Viewer”
Mass Deployment
The terminal command to turn on the Input Menu is:
Last login: Fri Mar 31 09:01 ulrik@mba2 ~ % defaults write com.apple.TextInputMenu visible -bool true
This creates (or modifies) a property list file in the users Preferences library but that has to be run as the currently logged in user and most MDM agents will execute code as the root user. Depending on your MDM capabilities you have a couple of options for deploying this.
Scripting
If your MDM supports running a script you can use a script to first get the currently logged in user and create the .plist file in that users ~/Library/Preferences/ folder.
#!/bin/bash # Get the username of the currently logged in user loggedInUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }') # create the .plist file in the current users Library > Preferences defaults write /Users/$loggedInUser/Library/Preferences/com.apple.TextInputMenu.plist visible -bool true
Deploying this script won’t “lock” the setting like a Configuration Profile, so you can use this in Self Service or install it automatically and the user can turn it off in settings if they don’t want it.
Packaging (dmg)
If your MDM supports delivering packages with content to existing users and or user templates (typically called FEU and FUT), you can create a package the places the com.apple.TextInputMenu.plist file in code ~/Library/Preferences/
With Jamf Pro, you can use Composer and drag the file into Sources and package as a DMG so you can use Fill Existing User when you deploy.
In Jamf Pro you need to deploy the DMG with a policy and remember to check the box Fill Existing User (FEU) and deploy either automatically or in Self Service.