2010-02-19 12 views
10

Esiste comunque la possibilità che i controlli della tastiera di jEdits si comportino allo stesso modo di un'applicazione nativa per Mac OS?jEdit Comportamento tastiera per Mac OS

Con comportano intendo comando + sinistro si sposta il cursore all'inizio della linea, ALT + si sposta a sinistra per l'inizio della parola corrente ecc

+0

buona domanda! Qualche progresso in merito? Mi stavo chiedendo lo stesso anch'io. Ma non sono riuscito a trovare nulla sul web. Temo che tu debba creare i binding da solo. .. – RngTng

+0

nessun progresso, nessuna risposta :) Sì, è più che jedit non riconosce alcuni dei tasti mac quando si creano associazioni, quindi non è solo un problema di mappature. So nella versione precedente di jedit che aveva un plugin per il mac. Ma questo è stato rimosso perché non funziona con JDK6 per quanto ne so. –

risposta

10

prima il tasto ALT deve essere abilitato. Fate questo in file startup.bsh situata in:

JEDIT_HOME/Contents/Resources/Java/startup/startup.bsh 

Su Mac OX questo sarebbe tipicamente:

/Applications/jEdit.app/Contents/Resources/Java/startup/startup.bsh 

Le seguenti righe devono essere commentata:

Debug.ALT_KEY_PRESSED_DISABLED = false; 
Debug.ALTERNATIVE_DISPATCHER = false; 

È ora possibile includere il tasto ALT in keymappings, dove

 
C => CMD 
M => ALT 
 
Go to End of Line: C+Right 
Go to Start of Line: C+Left 
Go to Next Word: M+Right 
Go to Previous Word: M+Left 
Select Next Word: MS+Right 
Select Previous Word: MS+Left 
Select to End of Line: CS+Right 
Select to Start of Line: CS+Left 
+0

Questo è stato molto utile, ma non mi ha dato tutte le funzionalità che volevo. A partire dalla versione 5.1.0, se si cerca il file 'startup.bsh' per 'MacOS', ci sono alcune altre righe da decommentare (' KeyEventTranslator.setModifierMapping'); così facendo risolve la domanda originale di BrianHeylin. –

+0

Grazie mille Brian. Aggiungendo solo che in jEdit 5.3.0 è necessario aggiungere le righe 'Debug.ALT_KEY_PRESSED_DISABLED = false; ' e 'Debug.ALTERNATIVE_DISPATCHER = false; 'manualmente. –

3

Sfortunatamente i risultati di Brian non funzionano bene con le tastiere QWERTZ: disabilita la possibilità di inserire caratteri come pipe, parentesi graffe o qualsiasi cosa usi il tasto ALT come modificatore.

Secondo i commenti in startup.bsh:

/*{{{ Remapping modifier keys part II */ 

/* Note if you chose to make use of the M+ (option key) prefix on MacOS, you 
* will need to disable a little piece of code: */ 
//Debug.ALT_KEY_PRESSED_DISABLED = false; 
/* Otherwise M+ will be ignored for the purposes of keyboard shortcuts. */ 

/* But if you enable this, you might find that Option+8 for example invokes your 
* macro but also inserts a bulletpoint, as per standard Macintosh keyboard 
* behavior. To disable the Option key for inserting special high ASCII 
* characters, uncomment this. Note that it has wider implications, notably 
* DROVAK keyboard shortcuts will be mapped as if the keyboard was QWERTY. */ 
//Debug.ALTERNATIVE_DISPATCHER = false; 

/*}}}*/ 

solo decommentando Debug.ALT_KEY_PRESSED_DISABLED dovrebbe fare il trucco, ma qui [1] non è così - posso sia uso ALT come modificatore per le scorciatoie, o come modificatore per l'immissione di caratteri .. una sezione prima si occupa anche della mappatura dei modificatori:

/*{{{ Remapping modifier keys part I */ 

/* The below is the default, swap the items around to 
* change meaning of C+, A+, M+, S+. 
*/ 
//KeyEventTranslator.setModifierMapping(InputEvent.CTRL_MASK, 
// InputEvent.ALT_MASK, InputEvent.META_MASK, 
// InputEvent.SHIFT_MASK); 

/* ... and this the MacOS default: */ 
//KeyEventTranslator.setModifierMapping(InputEvent.META_MASK, /* == C+ */ 
// InputEvent.CTRL_MASK, /* == A+ */ 
// InputEvent.ALT_MASK, /* == M+ */ 
// InputEvent.SHIFT_MASK /* == S+ */); 

/*}}}*/ 

ma qualunque combinazione di impostazioni che ho provato, ho wa non è possibile ottenere una configurazione con entrambe le opzioni (ALT come modificatore per le scorciatoie e textinput) funzionante.

Quindi: qualsiasi suggerimento/correzione sarebbe molto apprezzato. ;-)

[1] qui significa: jEdit 4.3.2 @ OSX 10.5.8 (Java 1.5.0_30) con QWERTZ (tedesco) della tastiera

+0

Sto avendo lo stesso problema, con una tastiera QWERTY. :(Non posso inserire un # via jEdit ?? – Nick

1

Una soluzione che funziona per me:

Crea alcune macro che inseriscono gli speciali caratteri alt necessari in textArea (una macro per carattere).

Quindi è possibile modificare l'impostazione per abilitare il tasto alt per jedit (ho attivato solo la prima delle due proprietà).

Successivamente è possibile assegnare le scorciatoie di alt per i macro registrati in modo che i caratteri speciali vengano inseriti dallo stesso shortcus di prima.

Dopodiché è possibile modificare l'impostazione delle scorciatoie per la navigazione del testo in modo che corrisponda al mac-standard e si disporrano dei caratteri speciali disponibili tramite le macro scorciatoie definite.