Does anybody know if it is possible to change spellchecker language with keyboard shortcut using the BetterTouch? I am struggling with this, since I have to write in English and in Slovenian (which is not officially supported by Apple), so I cannot use AutoDetect option. At the moment I have to open spellchecker (via keyboard shortcut) and then navigate to drop down list with my mouse and select correct language. If I could automate switching with a simple shortcut, it would be great. Tnx
Screw it. I had something like this in my preset, but Catalina seems to screw this too.
Gonna check it up, it shouldn't be this complicate to make an Apple Script.
Just to agree on the point that you want to change: System Preferences → Keyboard → Text → Spelling right?
So, first experiences…
The Shell Script I used was
defaults write -g NSSpellCheckerAutomaticallyIdentifiesLanguages 0; defaults write -g NSPreferredSpellServerLanguage en
But this, for any reason, does not work anymore with Catalina.
The following Apple Script does what you want:
tell application "System Preferences"
reveal anchor "Text" of pane id "com.apple.preference.keyboard"
delay 0.5
tell application "System Events"
tell pop up button 3 of tab group 1 of window 1 of application process "System Preferences"
click
click menu item "Automatic by Language" of menu 1
end tell
end tell
end tell
You'll have to replace "Automatic by Language" with the language you want to set.
Interestingly the script works fine run from Script Editor, but won't change the language if run by BTT (either blocking or async). #bug-reports ? @Andreas_Hegenberg
So you would have to save the Apple Script files some where, and add an action "Launch Application / Open File / Start Apple Script…" and select the Script.
I'm gonna see if there is no Shell script for Catalina, but it might take some time.
Oh. Easy. Try those actions (added once after the other using the plus button in the right column) for your desired trigger:
Select predefined action or keyboard shortcut: ⌘:
Save current mouse position
Move mouse to position Move it on the Language Selection Dropdown, go back to BTT without moving the curser and hit space
Left Click
Send Keyboard Shortcut first letter of the language you need
Send Keyboard Shortcut second letter
Send Keyboard Shortcut (add as many letters as needed to select the language)
Send Keyboard Shortcut enter
Move mouse to position Move it on the red button, go back to BTT without moving the curser and hit space
Left Click
Restore Saved Mouse Position
Though one BIG inconvenient is, that you may never ever move the Spelling and Grammar window, because otherwise the clicks we need will click nonsense But given the fact that the Spelling and Grammar window activated not as frontmost I don't know how to use window related mouse positions on it so we're stuck for now with this suboptimal solution
Here what happens with this action to choose U.S. English: