代码之家  ›  专栏  ›  技术社区  ›  indentation

在Mac OS X中使用大写锁定作为Esc

  •  394
  • indentation  · 技术社区  · 18 年前

    大写锁定 在Mac OS X中?

    13 回复  |  直到 11 年前
        1
  •  395
  •   Cam Jackson    8 年前

    编辑: 如中所述 this answer ,较新版本的MacOS现在具有对重新绑定的本机支持 大写锁定 到 逃脱


    下面是我的尝试,一个全面的,可视化的走查答案(与链接)如何实现这一点使用 Seil (原名 PCKeyboardHack ).

    1. 首先,进入 ,选择 键盘选项卡 (第一个选项卡),然后单击 :

    Step 1

    在弹出对话框集中 到 No Action :

    choose no action

    click here to download Seil 然后安装它:

    3) 安装后,您将安装一个新的应用程序(Mountain Lion和更新版本),如果您使用的是旧操作系统,则可能需要检查新的系统首选项窗格:

    open seil or the preference pane

    4) 选中显示“更改大写锁定”的框并输入“53”作为escape键的代码:

    set the keyboard code

    你完了! 如果不能立即工作,您可能需要重新启动计算机。

    印象深刻?想要更多的控制?

    KeyRemap4MacBook 它实际上是旗舰键盘重新映射工具 pqrs.org

    如果你喜欢这些工具,你可以 make a donation . 我和他们没有任何关系,但我已经使用这些工具很长时间了,不得不说那边的人在维护这些工具、添加功能和修复错误方面做得非常出色。

    下面是一个屏幕截图,显示了几个(数百个)预选选项:

    Picture 1.png

    PQRS还有一个很好的实用程序 NoEjectDelay KeyRemap4MacBook

        2
  •  312
  •   Tomasz Jakub Rup    9 年前

    从macOS 10.12.1开始,可以重新映射 大写锁定 电子稳定控制系统

    enter image description here

        3
  •  42
  •   wim    9 年前

    我对这里的任何一个答案都不满意,就去找一个 命令行解决方案

    在macossierra10.12中,苹果为用户引入了一种新的密钥映射方法。

    • 不需要特殊特权

    如果你觉得不错的话,看看 hidutil

    例如,要重新映射caps lock以退出,请参阅 key table 并发现caps lock的用法代码为0x39,escape的用法代码为0x29。将这些十六进制值为0x70000000的代码or'd放在source和dest中,如下所示:

    hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'
    

    您可以在同一个命令中添加其他映射。就个人而言,我喜欢将大写字母重新映射到backspace,并将backspace重新映射到delete:

    hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'
    

    要查看当前映射:

    hidutil property --get "UserKeyMapping"
    

    sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh
    
        4
  •  34
  •   kdbanman    8 年前

    有可能。

    从 an arcticle 打开TrueAffection.net网站.

    • 转到系统首选项中的PCKeyboardHack。

    解决方案2

    OSX支持将Caps-Lock键映射到一大堆键,但您必须“手动”编辑.plist文件。该过程如中所述 this article . 作为这个提示的补充,我建议您首先在系统首选项中将Caps Lock设置为None,然后只需更改.plist文件中的一个值。当然,也可以使用属性列表编辑器,而不是执行XML转换步骤。

    诀窍是将大写锁定键映射到帮助键(代码6),这不是大多数键盘上的键。但如果是,它将被视为insert键,您可能不会使用它,因为您要求重新映射您的Caps锁以防止您的手伸直;)

    然后可以映射帮助和 插入 钥匙

    map  <Help> <Esc>
    map! <Help> <Esc>
    map  <Insert> <Esc>
    map! <Insert> <Esc>
    

    这对gvim有用(振动应用程序). 我没有让它在终端中与vim一起工作,我也没有用MacVim测试过它。

    所以,这是一个相当复杂的、半生不熟的解决方案,或者安装第三方黑客。您的选择;)

    编辑:刚刚注意到解决方案3,如果你正在使用 MacVim 你可以用 Ctrl键 , 和 作为 电子稳定控制系统 . 对于系统首选项,将Caps Lock映射到其中一个键是很简单的。

        5
  •  33
  •   Tomasz Jakub Rup    9 年前

    大写锁定 钥匙 电子稳定控制系统 马科斯·塞拉。

    1. 单击右下角的“修改器关键点”按钮。

    2. 单击要重新映射的硬件密钥旁边的下拉框,然后选择Escape。

    enter image description here

    https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/

        6
  •  31
  •   jwpfox Amit    8 年前

    我只知道如何将Caps Lock映射到Control、Option或Command。这可以通过系统首选项的键盘和鼠标窗格来完成。点击左下角的“修改键”,你就可以将Caps Lock、Control、Option和Command重新映射到其中任何一个。

    @克雷格: 这表明大写锁定 可以

    enter image description here

        7
  •  14
  •   Michael Glass    10 年前

    Seil还没有在macossierra(10.12测试版)上使用。因此,我一直在使用键盘Maestro进行以下设置: enter image description here

    这是github评论的功劳: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664

        8
  •  10
  •   Zxaos    12 年前

    DoubleCommand 将 不 允许您交换esc和caps lock。

    PCKeyboardHack 让你找到卡普斯洛克逃跑的地图, 但没有能力将escape映射到capslock . 最新版本允许您通过编辑两个键来执行完全交换。

    这可能满足不了你的需要(我知道这是我的)。

        9
  •  9
  •   user2581875    11 年前

    如果您不想安装第三方应用程序,而您真正关心的是iTerm内部的vim,那么可以使用以下方法:

    按说明重新映射CapsLock以提供帮助 here .

    短版:使用plutil或类似的编辑 ~/Library/Preferences/ByHost/.GlobalPreferences*.plist

    <key>HIDKeyboardModifierMappingDst</key>
    <integer>6</integer>
    <key>HIDKeyboardModifierMappingSrc</key>
    <integer>0</integer>
    

    重新启动!一个简单的注销和登录对我来说不起作用。

    在iTerm中,为Help添加一个新的键映射:send hex code 0x1b,它对应于Escape。

    我知道这并不是我们所要求的,但我想很多人寻找这样一个解决方案的意图实际上是这种更为专业的变体。

        10
  •  4
  •   Community Mohan Dere    9 年前

    this thread ,将大写锁定键映射到键盘未使用但由keyramap4macbook(例如110)记录的键码。然后,在PCKeyboardHack中,选择适当的选项将该键代码映射到escape(对于110,它是“Application Key to escape”)。下面是keyramp4macbook首选项应该是什么样子的(前提是您选中了“仅显示启用”复选框)。

    enter image description here

    as an edit 到 cwd's excellent answer

        11
  •  2
  •   mb21    9 年前

    Seil还没有在macOS Sierra上工作,所以我使用 Karabiner Elements ,下载位置 https://pqrs.org/latest/karabiner-elements-latest.dmg .

    使用GUI或将以下内容放入 ~/.karabiner.d/configuration/karabiner.json :

    {
      "profiles" : [
        {
          "name" : "Default profile",
          "selected" : true,
          "simple_modifications" : {
            "caps_lock" : "escape"
          }
        }
      ]
    }
    
        12
  •  1
  •   Matthew Schinckel    17 年前

    也可以使用DoubleCommand重新映射该键和其他键。

        13
  •  1
  •   jwpfox Amit    8 年前

    打开键盘首选项并单击“修改键…”。。。您可以将大写锁定键更改为control、option、escape或command。

    enter image description here

        14
  •  0
  •   Quang Van    7 年前

    卡宾纳元素 一个强大和稳定的键盘定制程序。(免费软件)

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