Busqué y descubrí que AppleScript no puede detectar las pulsaciones de teclas por parte del usuario. Me gustaría saber si hay alguna otra alternativa para hacer esto.
Estoy creando un script para pestañas específicas en todos los navegadores de Internet, IE, FF, Chrome, Safari.
La pestaña específica se desdibujará, la pestaña de título, el favicon, la URL en la barra de direcciones se enmascararán o reemplazarán.
Cuando el usuario presiona la tecla "tabulador", por ejemplo, eliminará temporalmente todo lo que se hizo en el paso 1 y mostrará el contenido original.
Si el usuario vuelve a pulsar tabulador, volverá al estado del paso 1.
Solo he logrado hacer que el cuerpo se desenfoque temporalmente, pero no el resto del paso 1 y la detección de pulsación de tecla.
Mi código:
tell application "Google Chrome"
set allTabs to front window's tab
repeat with eachTabs from 1 to count of allTabs
set eachTab to item eachTabs of allTabs
if URL of eachTab = "http://c10h20o.com/uniqlo/2016/0923/" then
set currentTab to eachTabs
end if
end repeat
tell front window
tell tab currentTab
execute javascript "document.body.style.filter = 'blur(0)'" --this line is working
execute javascript " --this javascript always returns me missing value
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a enter key in somewhere');
}
});
"
end tell
end tell
end tell
Soy completamente nuevo en esto y es la primera vez que lo hago.
He preguntado sobre el desbordamiento de la pila pero nadie ha respondido. Espero que me puedan ayudar con esto.
Una forma sería usar Hammerspoon para detectar pulsaciones de teclas como en este ejemplo . Podrías usar algo como esto:
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "I", function()
ok,result = hs.applescript('tell Application "iTunes" to artist of the current track as string')
hs.notify.new({title="Hammerspoon", informativeText=result}):send()
end)
Presionando ⌘+⌥+ctrl+te daré una notificación con el nombre del artista, en este caso.