¿Cómo puedo volver a enlazar las teclas del teclado en OS X?

4

Necesito un método abreviado de teclado personalizado para la barra invertida \ .

He creado ~/Library/KeyBindings/DefaultKeyBinding.dict y lo puse en él:

{
    "@ö" = ("insertText:", "\");
}

Se supone que desencadena una barra inclinada al presionar + ö (Sí, tengo un carácter "ö" en mi teclado).

Al intentar source el archivo, aparece este error:

-bash: DefaultKeyBinding.dict: line 2: syntax error near unexpected token '('
-bash: DefaultKeyBinding.dict: line 2: '    "@ö" = ("insertText:", "\");'

¿Qué hay de malo con la sintaxis? ¿Hay una mejor manera?

    
pregunta Winterflags 15.12.2015 - 00:37

3 respuestas

2

Para habilitar Cmd Ö - > \ simplemente vuelve a asignar el combo de teclas con Karabiner. El acceso directo que necesita no está predefinido, por lo que debe escribir el suyo propio:

  1. Descargue, instale y abra Karabiner
  2. Abrir en la menulet Karabiner - > Preferencias
  3. Abra la pestaña Misc & Desinstalar
  4. Pulsa el botón Abrir private.xml
  5. Abra el archivo private.xml con un editor apropiado
  6. Introduzca el código clave personalizado

    Ejemplo 1 ( cmd Ö - > \ ):

    <?xml version="1.0"?>
    <root>
        <item>
          <name>Command-Ö to Backslash</name>
          <appendix>(Change Command-Ö to \)</appendix>
          <identifier>remap.command_ö_to_backslash</identifier>
          <autogen>__KeyToKey__ KeyCode::GERMAN_O_UMLAUT, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::KEY_7, ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
        </item>
    </root>
    

    Ejemplo 2 ( cmd_R Ö - > \ cmd_R es la clave de comando correcta, cmd_L < kbd> Ö no tiene salida!):

    <?xml version="1.0"?>
    <root>
        <item>
          <name>Command_R-Ö to Backslash</name>
          <appendix>(Change Command_R-Ö to \)</appendix>
          <identifier>remap.command_r_ö_to_backslash</identifier>
          <autogen>__KeyToKey__ KeyCode::GERMAN_O_UMLAUT, ModifierFlag::COMMAND_R, KeyCode::KEY_7, ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
        </item>
    </root>
    

    Ejemplo 3 ( cmd_R - > \ no puede usar la tecla de comando correcta para ningún otro propósito):

    <?xml version="1.0"?>
    <root>
        <item>
          <name>Command_R to Backslash</name>
          <appendix>(Change Command_R to \)</appendix>
          <identifier>remap.command_r_to_backslash</identifier>
          <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::KEY_7, ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
        </item>
    </root>
    

    Ejemplo 4 ( cmd_R - > \ similar al ejemplo 3, pero puede usar la tecla de comando derecha como tecla de comando normal - > golpear cmd_R produce \ pero cmd_R S guarda los archivos):

    <?xml version="1.0"?>
    <root>
        <item>
          <name>When you type Command_R only, send Backslash</name>
          <appendix>(Change Command_R lazy to \)</appendix>
          <identifier>remap.command_r_lazy_to_backslash</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::VK_LAZY_COMMAND_R, KeyCode::KEY_7, ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
        </item>
    </root>
    
  7. Guarda el archivo

  8. Abrir en la menulet Karabiner - > Preferencias de la pestaña Cambiar clave
  9. pulsa el botón ReloadXML
  10. Habilitar la reasignación. Debería estar listado al principio.
respondido por el klanomath 21.12.2015 - 15:47
1

¿Por qué no usas Karabiner?

  

Un personalizador de teclado potente y estable para OS X.

     
  • Puede personalizar fácilmente desde la configuración preparada.

  •   
  • También puede agregar su propia configuración mediante XML.

  •   

enlace

    
respondido por el StrawHara 21.12.2015 - 12:24
1

De una breve búsqueda en la web de DefaultKeyBinding.dict , de acuerdo con esta página :

  

Solo la aplicación que [use] el sistema de texto Cocoa admitirá esto.

Este no es un archivo de shell, y no funcionará cuando 'source' se realice a través de bash.

Fuente: @mtklr comentar .

    
respondido por el kenorb 13.04.2017 - 14:45

Lea otras preguntas en las etiquetas