Поведение клавиатуры jEdit Mac OS - PullRequest
10 голосов
/ 19 февраля 2010

Есть ли в любом случае, чтобы элементы управления клавиатуры jEdits вели себя так же, как нативное приложение Mac OS?

Под поведением я подразумеваю команду + left, перемещает курсор в начало строки, alt + left - в начало текущего слова и т. Д.

Ответы [ 3 ]

10 голосов
/ 24 июля 2010

Сначала необходимо активировать клавишу ALT. Сделайте это в файле startup.bsh, расположенном в:

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

На Mac OX это обычно будет:

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

Следующие строки должны быть без комментариев:

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

Теперь вы можете включить клавишу ALT в раскладки клавиш, где

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
3 голосов
/ 12 июля 2011

К сожалению, выводы Брайана не очень хорошо работают с клавиатурами QWERTZ: он отключает возможность ввода символов, таких как труба, фигурные скобки или что-либо другое, использующее клавишу ALT в качестве модификатора.

Согласно комментариям при запуске.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;

/*}}}*/

только раскомментирование Debug.ALT_KEY_PRESSED_DISABLED должно сработать, но здесь [1] этого не происходит - я могу либо использовать ALT в качестве модификатора для ярлыков, или в качестве модификатора для ввода символов .. предыдущий раздел также рассматривает отображение модификаторов:

/*{{{ 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+ */);

/*}}}*/

, но какую бы комбинацию настроек я ни пробовал, я не смог добиться настройки соба варианта (ALT как модификатор для ярлыков и textinput) работают.

Итак: любая подсказка / исправление будет высоко оценена.; -)

[1] здесь означает: jEdit 4.3.2 @ OSX 10.5.8 (Java 1.5.0_30) с клавиатурой QWERTZ (немецкий)

1 голос
/ 11 мая 2012

Решение, которое работает для меня:

Создайте несколько макросов, которые вставляют нужные вам alt-символы в textArea (по одному макросу на символ).

Затем вы можете изменить настройку, чтобы включить alt-key для jedit (я включил только первое из двух свойств).

После этого вы можете назначить alt-ярлыки для записанных вами макросов таким образом, чтобы специальные символы были вставлены тем же ярлыком, что и раньше.

После этого вы можете изменить настройку ярлыков для текстовой навигации, чтобы она соответствовала стандарту mac, и у вас по-прежнему будут специальные символы, доступные через определенные макро-ярлыки.

...