Macos 绝地Mac OS键盘行为

Macos 绝地Mac OS键盘行为,macos,keyboard,jedit,Macos,Keyboard,Jedit,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/start

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;
现在可以在keymappings中包含ALT键,其中

C => CMD M => ALT C=>CMD M=>ALT 转到行尾:C+右侧 转到行的开头:C+左 转到下一个单词:M+右 转到上一个单词:M+左 选择下一个单词:MS+右键 选择上一个单词:MS+Left 选择到行尾:CS+右侧 选择以开始行: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\u KEY\u PRESSED\u 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作为快捷方式和文本输入的修改器)都能正常工作的设置

因此:任何提示/修复都将不胜感激。;-)


[1] 这里的意思是:jEdit 4.3.2@OSX 10.5.8(Java 1.5.0_30)和QWERTZ(德语)键盘

一个适合我的解决方案:

创建一些宏,将所需的特殊alt字符插入文本区域(每个字符一个宏)

然后可以更改设置以启用jedit的alt键(我只启用了两个属性中的第一个)

之后,您可以为录制的宏指定alt快捷键,使特殊字符与以前相同的快捷键插入


之后,您可以更改文本导航的快捷方式设置以匹配mac标准,并且通过定义的宏快捷方式仍然可以使用特殊字符。

问得好!这方面有进展吗?我自己也在想同样的问题。但是我在网上也找不到任何东西。恐怕您必须自己创建绑定。。没有进展,没有回应:)是的,更重要的是jedit在进行绑定时无法识别某些mac密钥,所以这不仅仅是进行映射的问题。我知道在以前版本的jedit中,它有一个mac的插件。但据我所知,由于它不能与JDK6一起工作,所以被删除了。我也有同样的问题,使用QWERTY键盘(无法通过jEdit输入一个#via jEdit??这很有帮助,但并没有提供我想要的所有功能。从5.1.0版开始,如果您搜索“MacOS”的
startup.bsh
文件,还有几行需要取消注释(
KeyEventTranslator.setModifierMapping
);这样做解决了@BrianHeylin最初的问题。非常感谢Brian。只需在jEdit 5.3.0中添加这一点,就需要手动添加行
Debug.ALT\u KEY\u PRESSED\u DISABLED=false;'和'Debug.ALTERNATIVE\u DISPATCHER=false;
/*{{{ 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+ */);

/*}}}*/