Come posso riassociare i tasti della tastiera in OS X?

4

Ho bisogno di una scorciatoia da tastiera personalizzata per la barra posteriore \ .

Ho creato ~/Library/KeyBindings/DefaultKeyBinding.dict e ho inserito questo:

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

Si suppone che attivi la barra indietro quando si preme + ö (Sì, ho un carattere "ö" sulla mia tastiera).

Quando provi a source del file, ottengo questo errore:

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

Cosa c'è di sbagliato nella sintassi? C'è un modo migliore?

    
posta Winterflags 15.12.2015 - 00:37
fonte

3 risposte

2

Per abilitare Cmd Ö - > \ basta rimappare la combinazione di tasti con Karabiner. La scorciatoia di cui hai bisogno non è predefinita, quindi devi scrivere la tua:

  1. Scarica, installa e apri Moschettone
  2. Apri la menulet Karabiner - > Preferenze
  3. Apri la scheda Misc e amp; Disinstalla
  4. Premi il pulsante Apri private.xml
  5. Apri il file private.xml con un editor appropriato
  6. Immettere il codice tasto personalizzato

    Esempio 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>
    

    Esempio 2 ( cmd_R o - > \ cmd_R è il tasto di comando solo a destra, cmd_L < kbd> Ö non ha un risultato!):

    <?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>
    

    Esempio 3 ( cmd_R - > \ non puoi usare il tasto comando destro per nessun altro scopo allora):

    <?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>
    

    Esempio 4 ( cmd_R - > \ simile a esempio 3, ma è possibile utilizzare il tasto di comando destro come normale comando a chiave > colpire cmd_R yields \ ma cmd_R S salva i file):

    <?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. Salva il file

  8. Apri la menulet Karabiner - > Preferenze la scheda Cambia chiave
  9. Premi il pulsante ReloadXML
  10. Abilita la rimappatura. Dovrebbe essere elencato all'inizio.
risposta data 21.12.2015 - 15:47
fonte
1

Perché non usi Karabiner?

A powerful and stable keyboard customizer for OS X.

  • You can easily customize from prepared settings.

  • You can also add your own settings by XML.

link

    
risposta data 21.12.2015 - 12:24
fonte
1

Da una breve ricerca web per DefaultKeyBinding.dict , secondo questa pagina :

Only application that [use] Cocoa text system will support this.

Questo non è un file di shell e non funzionerà quando viene eseguito 'source' via bash.

Fonte: @mtklr commento .

    
risposta data 13.04.2017 - 14:45
fonte

Leggi altre domande sui tag