3 votos

Reutilizar Cmd+Tab para el conmutador de aplicaciones hammerspoon

Configuré cuchara martillo y utilizar hs.window.switcher como ya se ha mencionado en los documentos . Es decir

switcher_space = hs.window.switcher.new(hs.window.filter.new():setCurrentSpace(true):setDefaultFilter{})
hs.hotkey.bind('alt','tab',function()switcher_space:next()end)
hs.hotkey.bind('alt-shift','tab',function()switcher_space:previous()end)

Esto funciona bien con alt Sin embargo, cuando intento utilizar cmd en su lugar, se utiliza el conmutador de aplicaciones nativo.

Cómo reutilizar cmd + tab o desactivar el conmutador de aplicaciones estándar?

3voto

Kevin Slagle Puntos 136

Para usar cmd+tab y shift+command+tab para cambiar de Windows, necesitas usar eventtap para poder anular la tecla de acceso directo predeterminada del conmutador de aplicaciones. Vea el código a continuación. Configuramos una ventana switcher que cambia de una ventana a otra dentro del espacio actual. mapCmdTab es una función callback para cada vez que se pulsa una tecla. Si se pulsó tabulador mientras sólo estaba activado el modificador cmd, entonces llamamos a switcher:next() para pasar a la ventana siguiente. Volver a true significa que la pulsación de tecla no se reenvía a otras aplicaciones (pero sí si devolvemos false o nil). Si se ha pulsado shift+comando+tabulador, vamos a la ventana anterior. Por alguna razón, el carácter de tabulación (¿capital?) es string.char(25) cuando se pulsaba el cambio.

switcher = hs.window.switcher.new(hs.window.filter.new():setCurrentSpace(true))
function mapCmdTab(event)
    local flags = event:getFlags()
    local chars = event:getCharacters()
    if chars == "\t" and flags:containExactly{'cmd'} then
        switcher:next()
        return true
    elseif chars == string.char(25) and flags:containExactly{'cmd','shift'} then
        switcher:previous()
        return true
    end
end
tapCmdTab = hs.eventtap.new({hs.eventtap.event.types.keyDown}, mapCmdTab)
tapCmdTab:start()

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X