11 votos

No se pueden asignar atajos de teclado normales en Monterey porque "ya es utilizado por un atajo de teclado de todo el sistema"

Acabo de comprar un nuevo MacBook y venía con Monterey instalado. Normalmente, configuraría "Cmd+\N" para asignar al navegador 1Password Mini, para recuperar las contraseñas. También tengo accesos directos configurados para Divvy - "Cmd+E" hace aparecer la ventana de Divvy, y luego "S" asigna la ventana a la mitad izquierda de la pantalla, "F" a la mitad derecha, "R" a la esquina superior derecha, etc.

Cuando intento asignar alguno de estos accesos directos, me aparece un cuadro de diálogo del sistema que me informa de que el acceso directo que he intentado asignar no se puede utilizar porque "ya está siendo utilizado por un acceso directo de todo el sistema".

He sacado las preferencias del teclado y he ido a Atajos y me he desplazado por toda la lista y no he visto nada conflictivo. También abrí la aplicación "Atajos" pero no tengo ningún atajo instalado.

¿Qué debo hacer para que mis atajos de teclado vuelvan a funcionar?

0 votos

Correcto, pero la forma en que Divvy funciona es, presionas "cmd+E" para abrir la ventana de Divvy, y luego puedes usar un rango de teclas mientras Divvy es la aplicación más frontal para mover la siguiente ventana más frontal a varias posiciones en la pantalla. Así que en realidad no estás presionando "Cmd+F", es "Cmd+E", y luego "F".

0 votos

Correcto - eso no es exactamente lo que había configurado antes, no tenía que pulsar cmd+F, sólo "F" mientras la aplicación estaba enfocada (no utilicé la opción Atajo Global).

0 votos

Pruebas en MacOS Big Sur Pude establecer un único carácter no global método abreviado de teclado en Divvy con la exacta método abreviado de teclado que has mencionado. En una instalación original de MacOS Monterey como has comprobado, yo también me encontré con el mismo problema. Lo instalé de la misma manera en ambos sistemas utilizando el mismo descargado Divvy.zip archivo . Claramente Apple ha cambiado algo en MacOS Monterey . Te sugiero que te pongas en contacto con [support@mizage.com](mailto:divvy@mizage.com?subject=Divvy%20Support%20Request) ya que claramente no funciona como se indica en su página web.

12voto

user3439894 Puntos 5883

El comportamiento que estás viendo es consistente con los cambios Apple ha hecho en MacOS Monterey en comparación con MacOS Big Sur a su asignado atajos de teclado del sistema global como se menciona en un comentario de Mateusz Szlosek.

Por ejemplo, lo siguiente atajos de teclado son algunos que son nuevos para MacOS Monterey :

Elemento del menú

Atajo de teclado

Iniciar el dictado

fn D

Emoji y símbolos

fn E

Entrar en pantalla completa

fn F

Sin embargo, hay una inconstancia en lo que MacOS informes cuando se intenta asignar un carácter único no global atajo de teclado en Divvy , en el sentido de que al tratar de asignar, por ejemplo, S o F informa, por ejemplo, para S y lo mismo para F (con ella en su lugar adecuadamente).

La combinación de teclas S no se puede utilizar.

La combinación de teclas "S" no se puede utilizar porque ya es utilizada por un atajo de teclado de todo el sistema. (Si realmente quieres usar esta combinación de teclas, la mayoría de los atajos pueden cambiarse en el panel de Teclado y Ratón en las Preferencias del Sistema).

Sin embargo, permite asignar el carácter único no global atajo de teclado D aunque se le asigne: Iniciar el dictado

Aunque existe una solución, los siguientes caracteres alfa individuales y otros caracteres, por defecto en MacOS Monterey no se puede utilizar como un solo carácter atajo de teclado al intentar asignar uno en Divvy :

       A C F H M N Q S ` \N - A

Soluciones

  • Para resolver su problema, la respuesta obvia es utilizar un carácter único diferente atajo de teclado como no global, o utilizarlo junto con teclas modificadoras .

  • Si es posible, modifique el atajos de teclado del sistema global en Preferencias del sistema > Teclado > Atajos > Atajos de la aplicación para liberar el carácter único para su uso en Divvy .

  • Otra opción es restaurar el preferencias para Divvy a partir de una copia de seguridad del ~/Library/Preferences/com.mizage.direct.Divvy.plist archivo de su sistema anterior, que he probado y funciona. Tenga en cuenta que al hacerlo hay que salir primero de Divvy restaurar la mencionada .plist archivo y hay que reiniciar directamente después de restaurar el archivo . (Sí, en este caso, se requiere un reinicio).

  • Otra opción es editar el mencionado .plist archivo que tengo en pruebas limitadas en un máquina virtual de la UE.


Editar com.mizage.direct.Divvy.plist

Esta sección de la respuesta es para la prueba de concepto, y las instrucciones sobre cómo hice la edición de ejemplo.

El contenido de la mencionada .plist archivo , en su Lista de propiedades XML formato, con haber establecido E como el global atajo de teclado para sacar a relucir Divvy y ningún otro cambio de configuración, se muestra como:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>SULastCheckTime</key>
    <date>2021-11-08T13:02:01Z</date>
    <key>enableAcceleration</key>
    <true/>
    <key>globalHotkey</key>
    <dict>
        <key>keyCode</key>
        <integer>14</integer>
        <key>modifiers</key>
        <integer>256</integer>
    </dict>
    <key>useGlobalHotkey</key>
    <true/>
</dict>
</plist>

A continuación, con la adición de un solo carácter no global atajo de teclado L asignado a Mitad izquierda que consiste en la mitad izquierda de la pantalla en su configuración por defecto, en su Lista de propiedades XML formato, se muestra como:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>SULastCheckTime</key>
    <date>2021-11-08T13:03:32Z</date>
    <key>enableAcceleration</key>
    <true/>
    <key>globalHotkey</key>
    <dict>
        <key>keyCode</key>
        <integer>14</integer>
        <key>modifiers</key>
        <integer>256</integer>
    </dict>
    <key>shortcuts</key>
    <data>
    YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
    AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwSKSoxVSRudWxs0g0ODxFa
    TlMub2JqZWN0c1YkY2xhc3OhEIACgAXdExQVFhcOGBkaGxwdHh8gISIiJCUmHycoISFY
    c2l6ZVJvd3NfEA9zZWxlY3Rpb25FbmRSb3dfEBFzZWxlY3Rpb25TdGFydFJvd1pzdWJk
    aXZpZGVkVmdsb2JhbF8QEnNlbGVjdGlvbkVuZENvbHVtbldlbmFibGVkW3NpemVDb2x1
    bW5zV25hbWVLZXlca2V5Q29tYm9Db2RlXxAUc2VsZWN0aW9uU3RhcnRDb2x1bW5da2V5
    Q29tYm9GbGFncxAGEAUQAAgIgAQQAgmAAxAlWUxlZnQgSGFsZtIrLC0uWiRjbGFzc25h
    bWVYJGNsYXNzZXNYU2hvcnRjdXSiLzBYU2hvcnRjdXRYTlNPYmplY3TSKywyM15OU011
    dGFibGVBcnJheaMyNDVXTlNBcnJheVhOU09iamVjdAAIABEAGgAkACkAMgA3AEkATABR
    AFMAWgBgAGUAcAB3AHkAewB9AJgAoQCzAMcA0gDZAO4A9gECAQoBFwEuATwBPgFAAUIB
    QwFEAUYBSAFJAUsBTQFXAVwBZwFwAXkBfAGFAY4BkwGiAaYBrgAAAAAAAAIBAAAAAAAA
    ADYAAAAAAAAAAAAAAAAAAAG3
    </data>
    <key>useGlobalHotkey</key>
    <true/>
</dict>
</plist>

La configuración del usuario creado atajos de teclado se almacenan en el shortcuts clave que es datos binarios PLIST como cualquier otro individuo PLISTAS binarias archivo pero incrustado en su interior. Es en este datos que se puede cambiar, por ejemplo, el carácter único no global atajo de teclado Por ejemplo, L a S .

Extraído shortcuts datos , en su Lista de propiedades XML formato, se muestra como:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>$archiver</key>
    <string>NSKeyedArchiver</string>
    <key>$objects</key>
    <array>
        <string>$null</string>
        <dict>
            <key>$class</key>
            <dict>
                <key>CF$UID</key>
                <integer>5</integer>
            </dict>
            <key>NS.objects</key>
            <array>
                <dict>
                    <key>CF$UID</key>
                    <integer>2</integer>
                </dict>
            </array>
        </dict>
        <dict>
            <key>$class</key>
            <dict>
                <key>CF$UID</key>
                <integer>4</integer>
            </dict>
            <key>enabled</key>
            lt;true/>
            <key>global</key>
            <false/>
            <key>keyComboCode</key>
            <integer>37</integer>
            <key>keyComboFlags</key>
            <integer>0</integer>
            <key>nameKey</key>
            <dict>
                <key>CF$UID</key>
                <integer>3</integer>
            </dict>
            <key>selectionEndColumn</key>
            <integer>2</integer>
            <key>selectionEndRow</key>
            <integer>5</integer>
            <key>selectionStartColumn</key>
            <integer>0</integer>
            <key>selectionStartRow</key>
            <integer>0</integer>
            <key>sizeColumns</key>
            <integer>6</integer>
            <key>sizeRows</key>
            <integer>6</integer>
            <key>subdivided</key>
            <false/>
        </dict>
        <string>Left Half</string>
        <dict>
            <key>$classes</key>
            <array>
                <string>Shortcut</string>
                <string>NSObject</string>
            </array>
            <key>$classname</key>
            <string>Shortcut</string>
        </dict>
        <dict>
            <key>$classes</key>
            <array>
                <string>NSMutableArray</string>
                <string>NSArray</string>
                <string>NSObject</string>
            </array>
            <key>$classname</key>
            <string>NSMutableArray</string>
        </dict>
    </array>
    <key>$top</key>
    <dict>
        <key>root</key>
        <dict>
            <key>CF$UID</key>
            <integer>1</integer>
        </dict>
    </dict>
    <key>$version</key>
    <integer>100000</integer>
</dict>
</plist>

Para cambiar el carácter único, por ejemplo L a S se modificaría el keyComboCode clave de 37 a 1 .    <a href="https://eastmanreference.com/complete-list-of-applescript-key-codes" rel="nofollow noreferrer">Lista de códigos clave</a>

Dejando de lado cualquier aplicaciones/utilidades de terceros que existen para manipular Archivos de la lista de propiedades e incluso Apple de la empresa Xcode ya que no todo el mundo quiere instalar un aplicación Aquí están algunas de las Apple incorporado utilidades de la línea de comandos y aplicaciones que pueden, en un grado u otro, trabajar con Archivos de la lista de propiedades .

  • /usr/bin/defaults
  • /usr/bin/plutil
  • /usr/libexec/PlistBuddy
  • Terminal
  • Script Editor
  • Eventos del sistema
  • TextEdit
  • Otros nativos utilidades de la línea de comandos que puede utilizarse junto con los otros mencionados.

Nota: Lo siguiente no pretende ofrecer una solución programática totalmente automatizada para editar el objetivo PLISTAS binarias archivo La edición de los documentos no es una tarea fácil, ni mucho menos, y va a ser un proceso de varios pasos para realizarla.

Habiendo dejado Divvy...

En Terminal

  • Copia de seguridad del objetivo existente PLISTAS binarias archivo .

    cd ~/Library/Preferences/ cp -anv com.mizage.direct.Divvy.plist com.mizage.direct.Divvy.plist.bak

            - Sugerencia: Copie y pegue el comandos en Terminal , y luego presiona: enter

En Script Editor

  • Crear un nuevo documento y ejecutar lo siguiente ejemplo AppleScript código para crear un archivo que contiene el datos de la shortcuts clave . Sólo tienes que copiar y pegar, y luego ejecutarlo ( R ). No es necesario editarlo.
  • Esto creará el archivo ~/divvy.shortcuts.plist de la shortcuts clave en el ~/Library/Preferences/com.mizage.direct.Divvy.plist archivo . Es sólo un temporal archivo para realizar la(s) edición(es) y actualizar el .plist archivo utilizado por Davvy y luego se borra.

Ejemplo AppleScript código :

property bPlistFile : "com.mizage.direct.Divvy.plist"
property bPlistData : missing value
property thePropertyListFilePath : POSIX path of ¬
    ("" & (path to preferences from user domain) & bPlistFile)
property bPlistDataShortcuts : POSIX path of ¬
    ("" & (path to home folder) & "divvy.shortcuts.plist")

tell application "System Events"
    tell property list file thePropertyListFilePath
        set bPlistData to the value of property list item "shortcuts"
    end tell
end tell

writeToFile(bPlistData, bPlistDataShortcuts, true)

--  ## Handler ##

on writeToFile(theData, theFile, overwriteExistingContent)
    try
        set theFile to theFile as string
        if theFile contains "/" then
            set theOpenedFile to open for access theFile with write permission
        else
            set theOpenedFile to open for access file theFile with write permission
        end if
        if overwriteExistingContent is true then set eof of theOpenedFile to 0
        write theData to theOpenedFile starting at eof
        close access theOpenedFile
        return true
    on error
        try
            close access file theFile
        end try
        return false
    end try
end writeToFile

De vuelta en Terminal

cd ..
plutil -convert xml1 divvy.shortcuts.plist
open -e divvy.shortcuts.plist

            - Sugerencia: Copie y pegue el comandos en Terminal , y luego presiona: enter

En TextEdit

  • Buscando <key>keyComboCode</key> seguido de, por ejemplo <integer>37</integer> donde 37 representa el código clave para L y cambiar 37 a 1 El código clave para S .

  • Guarde y cierre el archivo .

De vuelta en Terminal

plutil -convert binary1 divvy.shortcuts.plist
defaults delete com.mizage.direct.Divvy 'shortcuts'
defaults write com.mizage.direct.Divvy 'shortcuts' -data "$(xxd -p 'divvy.shortcuts.plist' | tr -d '\n')"
rm divvy.shortcuts.plist

            - Sugerencia: Copie y pegue el comandos en Terminal , y luego presiona: enter

Terminando

Ahora reinicie el Mac y uno estará preparado y listo para funcionar, utilizando felizmente un único carácter no global atajo de teclado en Divvy que no se podía asignar desde el preferencias en Divvy .


Notas:

Aunque escribí las instrucciones pensando en utilizar todos los MacOS nativo aplicaciones/utilidades de línea de comandos No obstante, recomiendo encarecidamente el uso de un editor que proporciona resaltado sintáctico para editar el Datos XML Plist . BBEdit es lo que he utilizado.

Aunque se trata de un ejemplo en el que un solo usuario creó un solo personaje atajo de teclado fue creado y posteriormente editado, no obstante, tenga en cuenta la estructura jerárquica XML para cada carácter único creado por el usuario atajo de teclado y asegúrese de que está editando el correcto.

Todo esto se hizo en máquinas virtuales y por lo tanto no hay garantías expresas o implícitas de que el carácter único no global atajos de teclado editado como se describe en este documento no tendrá conflictos en el hardware físico. En este momento no puedo hacer pruebas en hardware físico.

     No estoy afiliado al desarrollador de BBEdit, sólo soy un usuario satisfecho del producto.

0 votos

He intentado cambiar .plist pero al iniciar la aplicación el archivo se sobrescribe de alguna manera. He intentado colocar keyComboCode = 3 que es la letra F pero no hubo suerte.

0 votos

@Mateusz Szlosek, actualmente estoy redactando información adicional para editar el .plist archivo Sin embargo, puedo asegurarle que es factible y funciona si se hace correctamente.

0 votos

De acuerdo, gracias. No puedo esperar a ver eso :) Tal vez tenga que reiniciar la máquina para que ese archivo persista ¯_()_/¯

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