Come disabilitare la digitazione di caratteri speciali quando si preme il tasto opzione in Mac OS X? [chiuso]


129

Ora quando premo l'opzione-b, riceverò ∫. Non ho bisogno di digitare caratteri speciali e ho bisogno di mappare l'opzione-b ai collegamenti a determinate applicazioni. C'è un modo per fare questo?


26
Sto usando IntelliJ e vorrei simulare le scorciatoie da tastiera di emacs e ho mappato il meta con il tasto opzione. Ma quando premo, diciamo, l'opzione b, ho ottenuto il comportamento atteso in quanto interpretato come un personaggio speciale.
Ximyu,

3
Se uso il tasto opzione come modificatore, posso definire ancora più scorciatoie nel mio IDE, il che aumenta in modo significativo la mia produttività.
Dan,

25
È semplicemente ridicolo quanto siano difficili azioni così semplici su Mac. Inserita un'app errata nel programma di avvio: buona fortuna rimuoverla con istruzioni SQL; vuoi disabilitare alcuni stupidi collegamenti: inizia a scaricare e testare miliardi di soluzioni che non sono coerenti tra le versioni del sistema operativo. Dio, perché ho comprato questo orribile computer?
Vasiliy

3
Questo funziona per me: superuser.com/a/942256/535138
김민준

1
Per le persone che hanno problemi sul terminale, seguire queste istruzioni -> superuser.com/questions/496090/…
A-letubby

Risposte:


33

Stavo avendo lo stesso identico problema, nello stesso identico IDE.

La soluzione a questo è scaricare Ukulele da qui:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

Nell'applicazione è possibile creare un nuovo keylayout utilizzando File -> Nuovo dall'origine corrente. Premendo Opzione ti mostrerai nel posto per Opzione-b un tasto colorato rosso - il che significa che è un tasto morto . Facendo doppio clic su di esso ti permetterà di cambiarlo da una chiave morta a una chiave di output. Quando viene richiesto l'output, è possibile inserire la stessa cosa (premendo Opzione-b).

Quindi genererà lo stesso carattere ma non sarà considerato una chiave morta, quindi Intellij può associarlo come scorciatoia.

Per abilitare il tuo nuovo layout devi salvarlo nei tuoi layout ~ / Library / Keyboard (aiuta se gli dai un nuovo nome con Tastiera -> Imposta nome tastiera), quindi abilitalo da Preferenze di Sistema -> Lingua e testo.


15
Questo richiede molto lavoro e corregge solo una combinazione di tasti in un'app. Io e almeno alcuni altri vorremmo disabilitare su tutta la linea optare come input di caratteri speciali su Mac.
javadba,

@javadba Non è stato poi così male dopo aver capito bene. Vedi la mia risposta qui sotto per i passaggi dettagliati che dovrebbero essere veloci da cliccare.
Peter Lamberg,

Ho aggiunto una risposta con passaggi dettagliati a ciò che @SebastianZaha descrive in questa risposta. Ho finito per armeggiare un po 'per farlo, quindi spero che salverà qualcuno (e dopo me) qualche problema.
Peter Lamberg,

74

È possibile creare una mappatura della tastiera personalizzata con le lettere delle opzioni tutte impostate su BLANK utilizzando lo strumento online da questa pagina Web . Puoi creare una mappatura personalizzata in diversi clic da quasi tutti i layout di tastiera. Dimostrato di funzionare su MacOSX 10.7+ con IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Selezionare la radio "Imposta spazio vuoto per tasto opzione" nel modulo, inviare il modulo e scaricare un layout di tastiera con patch con la funzione tasto "opzione" disabilitata. Sto condividendo il file di lavoro per il layout standard della tastiera inglese americano:

Dopo aver abilitato questa mappatura personalizzata, se si digita una lettera con il tasto "opzione" premuto, nulla viene stampato sull'output di testo. Tuttavia, la "pressione del tasto opzione" viene attivata dal sistema operativo e rilevata dall'IDE. Quindi ottieni esattamente lo stesso comportamento che hai per gli altri tasti di comando!

  1. Scarica il file di mappatura chiave My Layout.keylayout.
  2. Sposta in ~/Library/Keyboard\ Layouts/
  3. Apri System Preferences->Language & Text
  4. Vai a Input Sources-> (hit +)->Select Others
  5. Dovresti trovare My Layoutnell'elenco e selezionarlo.

Il passaggio 4 può cambiare leggermente tra le versioni di MacOS. Si prega di pazientare di trovare l'elenco dei layout di tastiera nelle impostazioni.


1
@javadba, ho corretto la mia risposta. Grazie per il tuo feedback!! Le cose potrebbero cambiare con le nuove versioni del sistema operativo.
Dan,

5
Il collegamento dropbox ora sembra interrotto.
Andrew White,

2
Impossibile farlo funzionare. Posso aggiungere il mio nuovo layout di chiave all'elenco, ma non riesco a rimuovere il layout "US" predefinito, quindi non utilizzerà effettivamente il mio nuovo layout di chiave ....
AgmLauncher

12
Questo non funziona più in 10.11. Genero un file di layout in gist.github.com/haosdent/573ea124e5ea666fc576 che funziona in 10.11
haosdent

1
Non ha funzionato per me. Invece di digitare + r ®, ora digita rIntelliJ :(
Navin

35

Ecco alcuni passaggi dettagliati per la risposta di Sebastian Zaha. (Ho finito per armeggiare un po 'prima di farlo funzionare).

(In alternativa, ecco un file già pronto da me )

  1. Scarica Ukelele
  2. Puoi eseguirlo direttamente dal file .dmg
  3. File -> Nuovo in base alla sorgente di input corrente (avevo selezionato US)
  4. Fai clic sul pulsante Modificatori
  5. Seleziona ciascun modificatore dall'elenco che ha Sinistra Giù o Destra Giù nella colonna Opzione . (Potrebbero esserci alcuni come O Down or Up , ma AFAIK puoi lasciarli.)
    • Premere il pulsante meno per ognuno come questo
  6. Vai al menu Tastiera -> Imposta nome tastiera
  7. Cambia il nome in qualche modo per facilitarne l'identificazione
  8. Vai a File -> Salva con nome
  9. Salva in ~ / Libreria / Tastiera \ Layout / con suffisso .keylayout
  10. Esci dal tuo account Mac OS
  11. Accedi di nuovo
  12. Vai a Preferenze di Sistema -> Tastiera -> Sorgenti di input
  13. Premi il pulsante + -> Altro -> Il tuo nuovo layout dovrebbe essere disponibile
  14. Aggiungi il nuovo layout
  15. Possibilmente lasciare anche il layout della tastiera originale e configurare un modo carino per passare

1
Questa è l'unica soluzione che ha funzionato per me e mi ha permesso di ricollegare le combinazioni di tasti ai comandi simili a Emacs.
event_jr

@event_jr, come li hai riuniti per il comportamento di emacs? Quando si tiene premuta l'opzione e si fa clic su b, viene richiesto l'output per quella combinazione. Come diciamo che l'output deve tornare indietro di una parola?
Sahas,

1
Come ho già detto sopra, questo non mi ha aiutato a correggere scorciatoie in IDEA su Yosemite. Temo che abbiano cambiato qualcosa nelle versioni più recenti e ora non è stato possibile risolvere questo problema. Uso IntelliJ IDEA 14.1.2 su OS X Yosemite 10.10.3
Innokenty,

1
@Innokenty Strange. Sono su OSX 10.10.3 e IDEA 14.1.2 e le mie associazioni emacs funzionano. Ho portato la configurazione IDEA da un computer Windows e il file .keylayout è stato creato utilizzando una versione precedente di OSX. Uno di questi potrebbe essere il motivo? Ecco il mio file di layout.
Peter Lamberg,

1
In OS X 10.10.5, nella colonna "Opzione" non vedevo "Sinistra in basso" o "Giù in basso": solo "O down". Ho rimosso tutti questi, e ora ho le combinazioni di tasti in stile Emacs che funzionano in IntelliJ. Vorrei aver capito cosa significava rimuovere quelle righe, ma poiché è facile cambiare i metodi di input in caso di problemi, ci vado. Grazie.
marcatori di duello il

12

Usa Ctrl-Alt-<MNEMONIC>. IMHO molto più semplice che dover installare e configurare un'app separata.


2
Buono a sapersi. Tuttavia, ciò non è del tutto soddisfacente se anche le combinazioni di tasti Ctrl-Alt- hanno funzioni.
Peter Lamberg,

4
Per IDE CTRL + ALT è probabilmente già usato, quindi devi riconfigurare il tuo IDE, che è la stessa pena dover configurare qualche altra app.
ARKBAN,

questa risposta è ciò che ottieni se chiedi JetBrains
Kirby

8

Ho una soluzione! Posiziona un file in: ~/Library/KeyBindings/DefaultKeyBinding.dictas:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Nasconderà l'input testuale originale. Ma puoi ancora ottenerlo usando Ctrl-Q prima della combinazione. Quindi Ctrl-Q Alt-f mi dà ƒ per esempio. In effetti, sto scrivendo questa risposta con l'opzione keybindings abilitata. Puoi anche aggiungere altre chiavi che ti piacciono! Riferimento ufficiale: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Ecco un buon elenco di cose a cui puoi legare: https://www.hcs.harvard.edu/~jrus/site/selectors.html

Oh, a proposito, se associ una chiave a un'azione indefinita, la tua applicazione avrà una perdita di memoria e il tuo sistema esaurirà la memoria in pochi secondi. Testato su El Capitan, nel modo più duro.


5

Ho avuto lo stesso problema su un nuovo Macbook con VSCode che aveva funzionato bene sul mio vecchio Macbook. Quando ho digitato alt-shift-f per il formato ho invece ricevuto Unicode. Mi sono reso conto che la differenza era che il mio vecchio Macbook aveva un'impostazione della tastiera britannica anziché l'impostazione predefinita "ABC - Esteso". L'aggiunta della tastiera britannica ha risolto il problema per me.


Ci ho provato ma ho ancora un personaggio fastidioso con Option + N, ad esempio in Intellij IDEA.
Amir Eldor,

2

Utilizzando Apple JRE, le combinazioni di tasti Opzione funzioneranno come scorciatoie invece di inserire caratteri speciali.

Link per il download: https://support.apple.com/kb/DL1572?locale=en_US

È un vecchio JRE obsoleto (basato su Java 6) ma dall'ottobre 2015 è ancora ciò che sembra funzionare meglio con la mia installazione JetBrains RubyMine. (Nient'altro, le chiavi tornano a inserire caratteri speciali.)


0

Ho trovato una soluzione decente. Uso il software Karabiner per cambiare il tasto destro per il controllo da tenere premuto.

Quindi ciò che iv ha fatto è rimappato il tasto opzione su opzione + cmd + controllo, poiché non sono a conoscenza di alcun comando che utilizza tutti e tre i modificatori. Ora posso mappare le scorciatoie giuste senza caratteri. Ma puoi anche mappare su chiavi aggiuntive, se necessario

Aggiungi questo al tuo private.xml: (tra root)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Quindi ricaricare l'xml e abilitare l'opzione nella parte superiore della scheda "Cambia chiave"

https://pqrs.org/osx/karabiner/


-2

Utilizzare ABC come metodo di input anziché ABC-Extended, quindi l'opzione + [char] sarebbe in grado di utilizzare il collegamento dell'applicazione invece di mostrare il carattere speciale.


Questa risposta mi ha aiutato, invece di ABC-Locale o ABC-Extended, ho usato ABC
Nome in codice Jack

-3

Usa semplicemente il tasto esc invece di meta, ad esempio le mappe meta-x su esc-x.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.