如何在Mac OS X中按下选项键时禁用键入特殊字符?

现在当我按下选项-b时,我将获得∫。 我不需要input特殊字符,并需要将选项-b映射到某些应用程序的快捷方式。 有没有办法做到这一点?

在完全相同的IDE中,我遇到了完全相同的问题。

解决scheme是从这里下载尤克里里琴:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

在应用程序中,您可以使用文件 – >来自当前源的新build来创build一个新的键盘布局。 按选项将显示您在选项-b的地方一个红色的键 – 这意味着它是一个死锁 。 双击它可以让你将它从一个死钥匙改成一个输出钥匙。 当提示输出时,可以放入相同的东西(按Option-b)。

因此,它将输出相同的字符,但不会被视为死锁,所以Intellij可以将其绑定为快捷方式。

要启用新的布局,您必须将其保存到〜/库/键盘布局 (如果您使用键盘 – >设置键盘名称给它一个新名称,这将有所帮助),然后从系统偏好设置 – >语言和文本启用它。

您可以使用此网页上的在线工具创build一个自定义键盘映射,其中所有选项都设置为BLANK 。 您几乎可以在任何键盘布局中几次单击创build自定义映射。 certificate在IntelliJ Idea,Php / WebStorm,NetBeans,Eclipse上使用MacOSX 10.7+。

在表格中select“为选项键设置空白”电台,提交表单,并下载禁用了“选项”键function的打补丁键盘布局。 我在Dropbox上共享标准US.English键盘布局的工作文件。

启用此自定义映射后,如果按下“option”键input字母,则不会将任何内容输出到文本输出。 但是,“选项按键”由操作系统触发,并由您的IDE检测到。 因此,您可以获得与其他命令键完全相同的行为!

1)下载密钥映射文件My Layout.keylayout

2)将其移动到~/Library/Keyboard\ Layouts/

3)打开System Preferences – > Language & Text

4)进入Input Sources – > (hit +) – > Select Others

5)你应该在列表中findMy Layout ,并select它。

第4步可以在MacOS版本中稍微改变。 请耐心在设置中查找键盘布局列表。

这里是塞巴斯蒂安扎哈的答案的详细步骤。 (我得到这个工作之前,我结束了一些摸索)。

(或者这里是由我准备好的文件 )

  1. 下载Ukelele
  2. 您可以直接从.dmg文件运行它
  3. 文件 – >新build立在当前input源(我select了美国)
  4. 点击修改器button
  5. 从列表中select在选项列中具有向左向右的每个修改器。 (可能有一些像“或”或“太”,但是AFAIK可以离开这些。)
    • 每个像这样按减号button
  6. 进入键盘菜单 – >设置键盘名称
  7. 以某种方式更改名称,以便于识别
  8. 转到文件 – >另存为
  9. 保存到〜/ Library / Keyboard \ Layouts /后缀为.keylayout
  10. 从您的Mac OS帐户注销
  11. 重新login
  12. 进入系统偏好设置 – >键盘 – >input源
  13. 点击+button – >其他 – >您的新布局应该可用
  14. 添加新的布局
  15. 可能还保留原来的键盘布局,并configuration一些不错的切换方式

使用Ctrl-Alt-<MNEMONIC> 。 恕我直言,比安装和configuration一个单独的应用程序要容易得多。

我有一个解决scheme! 将文件放置在~/Library/KeyBindings/DefaultKeyBinding.dict如下所示:

 /* ~/Library/KeyBindings/DefaultKeyBinding.dict */ { /* Additional Emacs bindings */ "~f" = "moveWordForward:"; "~b" = "moveWordBackward:"; "~<" = "moveToBeginningOfDocument:"; "~>" = "moveToEndOfDocument:"; "~v" = "pageUp:"; "~d" = "deleteWordForward:"; "~^h" = "deleteWordBackward:"; "~\010" = "deleteWordBackward:"; /* Option-backspace */ "~\177" = "deleteWordBackward:"; /* Option-delete */ /* Escape should really be complete: */ "\033" = "complete:"; /* Escape */ } 

它会隐藏原来的文字input。 但是你仍然可以通过在组合之前使用Ctrl-Q来获得。 所以Ctrl-Q Alt-f给我例如。 事实上,我正在写这个答案的选项键绑定启用。 你也可以添加你喜欢的其他键! 官方参考: https : //developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

这里列出了一些你可以绑定的东西: https : //www.hcs.harvard.edu/~jrus/site/selectors.html

哦,顺便说一句,如果你把一个键绑定到一个未定义的动作,你的应用程序将会有内存泄漏,你的系统将在几秒钟内耗尽内存。 在testingel capitan,困难的方式。

使用Apple JRE,Option键组合将作为快捷键而不是插入特殊字符。

下载链接: https : //support.apple.com/kb/DL1572?locale = en_US

这是一个陈旧的JRE(基于Java 6),但截至2015年10月,它仍然是最适合我的JetBrains RubyMine安装的工具。 (别的,键回到插入特殊字符。)

我在使用VSCode的新Macbook上遇到了同样的问题,这在我的旧版Macbook上运行良好。 当我inputalt-shift-f格式时,我得到了unicode。 我意识到不同的是我的旧Macbook有一个英国键盘设置,而不是默认的“ABC – 扩展”。 添加英国键盘解决了我的问题。

我find了一个体面的解决方法。 我使用软件Karabiner来改变我的右input键控制按下时。

因此,我所做的是将选项键重新映射到选项+ cmd + control,因为我不知道任何使用全部三个修饰符的命令。 现在我可以映射没有任何字符的正确快捷方式。 但是如果需要的话,你也可以映射到额外的键

把它添加到你的private.xml中:(在root之间)

 <item> <name>Change option Key to cmd + control + option</name> <identifier>private.optiontoelse</identifier> <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen> <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen> </item> 

然后重新加载xml并启用“更改密钥”选项卡顶部的选项

https://pqrs.org/osx/karabiner/

使用ABC作为input法而不是ABC-Extended,然后选项+ [char]将能够使用应用程序快捷方式而不是显示特殊字符。

只需使用esc键而不是meta,例如将meta-x映射到esc-x。