Según se ha descubierto, este problema sólo existe actualmente con Vista previa cuando el Repetición de llaves deslizador en el Teclado ficha de la Teclado panel en Preferencias del sistema se ajusta a Rápido , donde el deslizador es todo el camino a la derecha. Por defecto es una posición desde la derecha.
Este es un solución solución que establece el Repetición de llaves deslizador a la posición por defecto cuando Vista previa se activa, y a Rápido cuando se desactiva, (es decir, se da/se pierde el foco del teclado/ratón).
Utiliza el aplicación de terceros Cuchara de martillo junto con un poco de Lua código para vigilar Vista previa que se activa/desactiva, y un AppleScript script utilizando Guiones de interfaz de usuario para ajustar el Repetición de llaves deslizador en el Teclado ficha de la Teclado panel en Preferencias del sistema .
El ejemplo Lua código y ejemplo AppleScript código que se muestra más adelante, se probó bajo MacOS High Sierra y MacOS Catalina con Lengua y región ajustes en Preferencias del sistema ajustado a Inglés (EE.UU.) - Primaria y me ha funcionado sin problemas 1 .
- 1 Asume la configuración necesaria y adecuada en <strong>Preferencias del sistema </strong>> <strong>Seguridad y privacidad </strong>> <strong>Privacidad </strong>> <strong>Accesibilidad </strong>se han fijado/abordado según las necesidades.
- Tenga en cuenta que las instrucciones de descarga e instalación suponen Safari y por defecto preferencia [] Abrir archivos "seguros" después de la descarga revisado.
Descargar Cuchara de martillo
Instalar Cuchara de martillo
-
Abrir el Descargas carpeta y arrastrar y soltar el Cuchara de martillo paquete de aplicaciones en Aplicaciones .
-
Antes de abrir Cuchara de martillo , añádelo a: Preferencias del sistema > Seguridad y privacidad > Privacidad > Accesibilidad
Abrir Cuchara de martillo de Aplicaciones o Foco de atención entonces:
Desde el Cuchara de martillo menú, en el barra de menús , haga clic en él y, a continuación, haga clic en Preferencias y los fijamos de la siguiente manera:
Preferencias de Hammerspoon
Comportamiento:
- [] Lanzar Hammerspoon en el inicio de sesión
- [] Comprobar las actualizaciones
- [ ] Mostrar el icono del dock
- [] Mostrar el icono del menú
- [ ] Mantener la ventana de la consola en la parte superior
- [ ] Enviar datos de colisión (requiere reiniciar)
La accesibilidad: La accesibilidad está activada. Ya está todo listo.
Activar la accesibilidad (Debería estar en gris.)
Cerrar Preferencias de Hammerspoon .
Añadiendo el código Lua a Cuchara de martillo
Abrir el Cuchara de martillo configuración archivo haciendo clic en el botón Abrir la configuración comando de la Cuchara de martillo menú, en el barra de menús .
Añade el ejemplo Lua código a la init.lua configuración archivo y guardar el documento y luego ciérrala.
Ejemplo Lua código :
function applicationPreviewWatcher(appName, eventType, appObject)
if (eventType == hs.application.watcher.activated) then
if (appName == "Preview") then
local asFile = "/.hammerspoon/Scripts/ChangeKeyRepeatValue.applescript"
local ok, status = hs.osascript.applescriptFromFile(os.getenv("HOME") .. asFile)
end
end
if (eventType == hs.application.watcher.deactivated) then
if (appName == "Preview") then
local asFile = "/.hammerspoon/Scripts/ChangeKeyRepeatValue.applescript"
local ok, status = hs.osascript.applescriptFromFile(os.getenv("HOME") .. asFile)
end
end
end
appPreviewWatcher = hs.application.watcher.new(applicationPreviewWatcher)
appPreviewWatcher:start()
-- appPreviewWatcher:stop()
Añadir el AppleScript script a Cuchara de martillo
En Terminal :
mkdir -p ~/.hammerspoon/Scripts
touch ~/.hammerspoon/Scripts/ChangeKeyRepeatValue.applescript
open ~/.hammerspoon/Scripts/ChangeKeyRepeatValue.applescript
Cerrar: Terminal (Se supone que no hay errores de los anteriores <em>comandos </em>.)
En Script Editor :
Añade el ejemplo AppleScript código , que se muestra a continuación, a la abierta ChangeKeyRepeatValue.applescript documento , luego guárdelo y cierre el documento .
Cerrar: Script Editor
NOTA: Una vez hecho esto, puede hacer clic en el botón Recargar la configuración comando en el Cuchara de martillo menú, en el barra de menús .
Esto debería alternar el Repetición de llaves deslizador en el Teclado ficha de la Teclado panel en Preferencias del sistema como Vista previa se activa/desactiva.
Ejemplo AppleScript código :
-- #
-- # NOTE: Hammerspoon does not allow the use of the
-- # AppleScript line continuation character.
-- # Therefore code must be written in long form.
-- # It also doesn't like the use of some characters
-- # such as symbols for modifier keys and others
-- # in comments and possibly in code as well.
-- #
-- # ChangeKeyRepeatValue.applescript
-- #
-- # Change the value of Key Repeat on the Keyboard tab
-- # of the Keyboard pane in System Preferences.
-- #
-- # Check to see if System Preferences is
-- # running and if yes, then close it.
-- #
-- # This is done so the script will not fail
-- # if it is running and a modal sheet is
-- # showing, hence the use of 'killall'
-- # as 'quit' fails when done so, if it is.
-- #
-- # This is also done to allow default behaviors
-- # to be predictable from a clean occurrence.
if running of application "System Preferences" then
try
tell application "System Preferences" to quit
on error
do shell script "killall 'System Preferences'"
end try
delay 0.1
end if
-- # Make sure System Preferences is not running before
-- # opening it again. Otherwise there can be an issue
-- # when trying to reopen it while it's actually closing.
repeat while running of application "System Preferences" is true
delay 0.1
end repeat
-- # Get the name of the frontmost application.
tell application "System Events"
set appName to name of process 1 whose frontmost is true
end tell
-- # Open System Preferences to the Keyboard tab of the Keyboard pane.
tell application "System Preferences"
reveal anchor "keyboardTab" of pane id "com.apple.preference.keyboard"
end tell
-- # Change the value of Key Repeat as coded.
tell application "System Events"
tell application process "System Preferences"
set i to 0
repeat until exists slider 2 of tab group 1 of window 1
delay 0.1
set i to i + 1
if i > 30 then return
end repeat
if appName = "Preview" then
set value of slider 2 of tab group 1 of window 1 to 6.0
else
set value of slider 2 of tab group 1 of window 1 to 7.0
end if
end tell
end tell
delay 0.1
tell application "System Preferences" to quit
Notas:
Tal y como está codificado actualmente, supone que cuando Cuchara de martillo se carga primero que el Repetición de llaves deslizador en el Teclado ficha de la Teclado panel en Preferencias del sistema se ajusta a Rápido y Vista previa es no frontales .
Es normal ver el Preferencias del sistema en el icono Muelle rebote una vez mostrando brevemente el indicador de apertura debajo de él cuando Cuchara de martillo ve que Vista previa se ha activado/desactivado. Se está ejecutando el AppleScript script para cambiar la posición del Repetición de llaves deslizador en el Teclado ficha de la Teclado panel en Preferencias del sistema . Esto en mi sistema toma menos de un segundo. Si puedo encontrar una manera de programar detrás de la escena para hacer este cambio sin tener que usar Guiones de interfaz de usuario con AppleScript Actualizaré el código y notificar al OP.
Hay un problema con esto solución al hacer clic manualmente en Preferencias del sistema en el Muelle cuando Vista previa es frontales . Para abrir manualmente Preferencias del sistema de la Muelle cuando Vista previa es frontales es necesario establecer enfoque lejos de Vista previa primero antes de hacer clic en Preferencias del sistema en el Muelle . El comportamiento cuando Vista previa es frontales e intentar abrir manualmente Preferencias del sistema de la Muelle resultados en Preferencias del sistema abriéndose y cerrándose, rebotando en el Muelle sin más interacción del usuario. (Veré lo que puedo hacer para resolver este problema, aunque creo que es un error del tipo de la naturaleza de la bestia que uno sólo tendrá que ser consciente y vivir con el beneficio de lo que esta solución proporciona).
No estoy afiliado a los desarrolladores de <strong>Cuchara de martillo </strong>, sólo un usuario satisfecho con el producto.
Nota: El ejemplo Lua y AppleScript código es sólo eso y sin ningún tipo de inclusión tratamiento de errores no contiene ningún otro tratamiento de errores según corresponda. Corresponde al usuario añadir cualquier tratamiento de errores como sea apropiado, necesario o deseado.