jEdits のキーボード コントロールを、ネイティブの Mac OS アプリと同じように動作させる方法はありますか?
動作とは、command + left でキャレットを行頭に移動し、alt + left で現在の単語の先頭に移動するなどです。
まず、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
行末に移動: C+Right 行頭に移動: C+左 次の単語に移動: M+Right 前の単語に移動: M+左 次の単語を選択: MS+Right 前の単語を選択: MS+左 行末まで選択: CS+Right 行頭まで選択: CS+左
残念ながら、Brian の調査結果は QWERTZ キーボードではうまく機能しません。パイプ、中かっこ、または Alt キーを修飾子として使用するものなどの文字を入力する可能性を無効にします。
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;
/*}}}*/
コメントを外すだけDebug.ALT_KEY_PRESSED_DISABLED
でうまくいくはずですが、ここ[1]ではそうではありません-ショートカットの修飾子としてALTを使用することも、文字を入力するための修飾子として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 )が機能するセットアップを実現できませんでした。
したがって、ヒント/修正は大歓迎です。;-)
[1] の意味: jEdit 4.3.2 @ OSX 10.5.8 (Java 1.5.0_30) と QWERTZ (ドイツ語) キーボード
私のために働く解決策:
必要な特殊なalt文字をtextAreaに挿入するマクロをいくつか作成します(文字ごとに1つのマクロ)。
次に、設定を変更してjeditのAltキーを有効にすることができます(2つのプロパティのうち最初のプロパティのみを有効にしました)。
その後、特殊文字が以前と同じショートカットによって挿入されるように、記録したマクロに代替ショートカットを割り当てることができます。
その後、テキストナビゲーションのショートカット設定をmac-standardに一致するように変更できますが、定義されたマクロショートカットを使用して特殊文字を使用できます。