Dos soluciones:
Solución 1: la mencionada para alternar el Use F1, F2, etc. keys as standard function keys
y luego bloquear la pantalla a través de un AppleScript invocado por una tecla de acceso rápido en todo el sistema:
display notification "Toggling fn keys and locking"
-- toggl fn keys
tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"
-- lock screen
activate application "SystemUIServer"
tell application "System Events"
tell process "SystemUIServer" to keystroke "q" using {command down, control down}
end tell
Luego, los siguientes pasos son guardar esto como una Aplicación, y crear un servicio en Automator para lanzar esto, y establecer un atajo de teclado para ese servicio.
Sin embargo, esto era demasiado lento y además tenía el irritante efecto secundario de tener que escribir otro script para desactivar el Use F1, F2, etc. keys as standard function keys
después de volver a iniciar la sesión.
Solución 2 : Terminé usando KeyboardCleanTool que resuelve el problema de forma más directa al bloquear todas las teclas al iniciar la aplicación hasta que se haga clic en el botón correspondiente de la interfaz de usuario:
KeyboardCleanTool es una pequeña herramienta súper sencilla que bloquea todos los entrada del teclado y de la barra táctil.