Qualcuno sa come disabilitare l'input di testo Unicode nei campi di testo?

2

Adoro il motore di testo Cocoa. Alcune modifiche a un piccolo file xml - ~/Library/DefaultKeyBinding.dict - e puoi ottenere praticamente qualsiasi sequenza di tasti per lavorare in qualsiasi campo di testo Cocoa standard in qualsiasi applicazione.

Ad esempio, ho aggiunto un sacco di associazioni di tasti emacs come Ctrl A per andare all'inizio di una riga, F per spostare avanti una parola, B per spostare indietro una parola, ecc.

In ogni caso, ho notato che alcune applicazioni, anche se sembrano utilizzare il motore di testo Cocoa e utilizzano i widget di campo di testo standard di Cocoa, hanno questo fastidioso modo di sovvertire i collegamenti dei tasti emacs. In alcuni campi di testo, la chiave Opzione viene utilizzata per digitare caratteri internazionali Unicode.

C'è un modo per disabilitare questo a livello globale? Non voglio mai la chiave Opzione per farlo - se voglio digitare un carattere Unicode, userò il visualizzatore di caratteri.

Qualche idea?

    
posta Ted Middleton 17.03.2013 - 07:14
fonte

2 risposte

1

Alcune applicazioni e visualizzazioni di testo non supportano semplicemente DefaultKeyBinding.dict.

Se crei una nuova sequenza di tasti con Ukelele , puoi ad esempio creare ⌥ A non inserire niente invece di å. Oppure puoi riassegnare combinazioni di tasti che inseriscono stati di chiavi morte (come ⌥U nel layout degli Stati Uniti) in modo che possano essere utilizzate in DefaultKeyBinding.dict.

  • I layout di tastiera in ~/Library/Keyboard Layouts/ non possono essere selezionati nelle finestre di dialogo password o nella schermata di accesso, ma quelli in /Library/Keyboard Layouts/ possono.
  • I file XML keylayout non funzionano con i popover mostrati quando si tengono le chiavi, ma i pacchetti keylayout lo fanno.
  • Per applicare le modifiche a un keylayout, devi ad esempio eseguire sudo touch /Library/Keyboard\ Layouts/ e uscire e rientrare.
  • Le origini di input predefinite possono essere rimosse da modifica ~ / Library / Preferences / ByHost / com.apple.HIToolbox. *. plist .

KeyRemap4MacBook può ad esempio cambiare da ⌥B a ⌥ ← in tutte le applicazioni tranne iTerm ed Emacs. Vedi questa domanda .

    
risposta data 18.03.2013 - 07:34
fonte
0

Potrebbero esserci modi più semplici di quelli che sto menzionando di seguito.

Ciò che stai descrivendo in sostanza si riduce a: che ha la precedenza sull'altra, il layout della tastiera o DefautlKeyBinding.dict . Questa parte non posso rispondere. Tuttavia, so come impedire la produzione di caratteri Unicode quando si utilizzano entrambi i tasti di modifica opzione e controllo .

Ho usato Ukelele a crea un layout di tastiera personalizzato per un'altra lingua. Per la tua situazione, vorrei creare un nuovo layout di tastiera basato sul mio attuale layout di tastiera, quindi eliminare tutti i caratteri prodotti tenendo entrambi i tasti di modifica opzione e controllo .

L'ho usato personalmente per produrre il mio layout di tastiera per l'arabo e fa ciò che era destinato a fare.

Dopo aver personalizzato il layout della tastiera, tutto ciò che devi fare è posizionarlo nella cartella Library/Keyboard Layouts/ della cartella principale. Ovviamente devi crearlo se non è già presente.

Si noti che alcune applicazioni hanno i propri binding di tasti codificati, specialmente applicazioni di modifica del testo. Quindi, questo risponde solo alla parte relativa alla disabilitazione dei caratteri Unicode prodotti con le chiavi opzione e controllo .

    
risposta data 18.03.2013 - 04:05
fonte

Leggi altre domande sui tag