前言

  • 一直使用 mac ,对于机械键盘还处于刚入坑阶段,作为小白还是选择能够兼容 mac 的机械键盘,于是选择了 ikbcG87 “双子座”

1.使用 ikbc G87 mac 模式下

  • 切换

    • G87 默认是 windows 模式,需要同时按下 Fn+Pause 键,切换到 mac 模式,此时 Pause 键的灯会常亮。如果要在 mac 模式下关闭 Pause 键的常亮灯,需要同时按下 Fn+Esc 键。(在 mac 模式下,再单击一下 Pause 键,就可以切换回 windows 模式)

  • 在 mac 模式下 f1、f2、f3 默认正常使用
  • f4 需要设置
    • Launchpad 键默认是不起作用的,需要在“系统偏好设置—键盘—快捷键—显示Launchpad”中设置一下,然后就可以使用 f4 这个按键了 (绑定的是 ^L 组合键)
  • 设置好 mac 模式,可以使用 Fn+End 记忆当前使用模式,下次插上键盘时就默认是 mac 模式,不过 Pause 键会一直亮着,需要手动,按下 Fn+Esc 键

2.大小写键改为 ctrl 键

  • 问题:使用 mac 自带的改键映射后,f3、f4 就没有效果了
  • 方法:使用 karabiner 软件,使用 complex_modifications rules
    • https://pqrs.org/osx/karabiner/complex_modifications/#modifier_keys
    • 经过筛选测试 Change caps_lock to control if pressed with other keys, to escape if pressed alone. 这个规则可以利用,它默认是按了 caps_lock 和其他组合键的时候就把 caps_lock 改为 control,仅仅单击 caps_lock 的时候就改为 esc 键,而我们的目标就是单击时是 caps_lock,组合的时候是 control
    • 修改目录及内容
      • 可参考 https://github.com/pqrs-org/KE-complex_modifications 上的介绍来修改

      • 第一个修改

        1.路径
        |--- ~/.config
        |--- karabiner
        |--- assets
        |--- complex_modifications
        |--- 1510932793.json
        2.内容:找到这条规则,将最后的 escape 改为 caps_lock
        {
        "description": "Change caps_lock to control if pressed with other keys, to escape if pressed alone.",
        "manipulators": [
        {
        "type": "basic",
        "from": {
        "key_code": "caps_lock",
        "modifiers": {
        "optional": [
        "any"
        ]
        }
        },
        "to": [
        {
        "key_code": "left_control"
        }
        ],
        "to_if_alone": [
        {
        "key_code": "caps_lock"
        }
        ]
        }
        ]
        }
      • 第二个修改(主要生效的文件)

        1.路径
        |--- ~/.config
        |--- karabiner
        |--- karabiner.json
        2.内容:找到这条规则,将最后的 escape 改为 caps_lock
        "rules": [
        {
        "description": "Change caps_lock to control if pressed with other keys, to escape if pressed alone.",
        "manipulators": [
        {
        "from": {
        "key_code": "caps_lock",
        "modifiers": {
        "optional": [
        "any"
        ]
        }
        },
        "to": [
        {
        "key_code": "left_control"
        }
        ],
        "to_if_alone": [
        {
        "key_code": "caps_lock"
        }
        ],
        "type": "basic"
        }
        ]
        }
        ]

mac 下使用 ikbcG87 及使用 karabiner 改大小写键的更多相关文章

  1. mac下 将python2.7改为python3

    1.查看当前电脑python版本 python -V // 显示2.7.x 2.用brew升级python brew update python 3.如果安装成功,去系统目录下回看到两个版本的pyth ...

  2. mac下将python2.7改为python3

    mac下将python2.7改为python3 查看当前电脑python版本 python -V 修改.bash_profile文件 vi ~/.bash_profile //编辑bash_profi ...

  3. MAC下 mysql不能插入中文和中文乱码的问题总结

    MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...

  4. 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql

    本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X ...

  5. 2016年最新mac下vscode配置golang开发环境支持debug

    网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...

  6. 【工匠大道】Mac下Java开发环境配置简述

    本文地址 原文地址 分享提纲: 1. 下载JDK1.7 2. 配置java_home 3 .安装tomcat 4 .安装eclipse或者myeclipse 5.  mysql安装 破解版下载请参考M ...

  7. Mac下golang开发环境配置

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  8. Mac 下 PostgreSQL 的安装与使用

    在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...

  9. mac下webpagetest搭建

    我的server和agent都是在mac上搭建的,所以会和linux下有些不同   一.安装配置Apache和PHP webpagetest需要使用PHP和Apache启动服务.mac默认安装了Apa ...

随机推荐

  1. 工具类_IsNull

    import java.util.List; /** * 判断是否为空 2015-08-17 *  * @author lipanquan *  */public final class IsNull ...

  2. IDEA中Java代码存入DB中为乱码

    有一种可能是编译后出现的乱码,可以在Setting的Java compiler中加如下 -encoding UTF-8

  3. IKVM:java代码c#调用

    在工作中遇到对接java接口,涉及到java加密或签名问题,.net无法实.就将java代码编辑为dll给.net调用 注:这里只做简单java代码处理,不涉及到复杂的java包 java文件处理: ...

  4. WindowsMTU修改

    MTU是英文Maximum Transmission Unit的缩写,意为"最大传输单位".也就是通过TCP/IP协议所传输的数据包最大有多少字节,对于网速有极大的影响, MTU并 ...

  5. pdf.js使用爬过的坑

    最近项目里需要做一个在浏览器直接预览pdf的功能,有些浏览器可以直接预览pdf文件,但是有些不能(不要躲,说的就是你IE)查资料普遍推荐pdf.js,兼容能到ie9,很不错了. 1. 从pdf.js官 ...

  6. SparseArray替代HashMap来提高性能

    SparseArray是 Android框架独有的类,在标准的JDK中不存在这个类.它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseAr ...

  7. 硬盘和显卡的访问与控制(二)——《x86汇编语言:从实模式到保护模式》读书笔记02

    上一篇博文我们讲了如何看到实验结果,这篇博文我们着重分析源代码. 书中作者为了说明原理,约定了一种比较简单地用户程序头部格式,示意图如下(我参考原书图8-15绘制的,左边的数字表示偏移地址): 所以, ...

  8. 二叉查找树的C语言实现(二)

    接着上次的话题.这次我们要讨论,二叉查找树的中序遍历和后序遍历(递归和非递归),另外还有先序遍历(非递归) 1.中序遍历(递归) static void __in_order(struct bnode ...

  9. JEECMS站群管理系统-- 自定义标签及使用自己创建的表的实现过程

    下面是我自己定义的标签mycontent_list 首先,在数据库里创建了一个jc_mycontent的表,其中有id,title,content三个字段 其次,创建了一个实体类 public cla ...

  10. IA-32e架构下的内核初始化内存管理

    初级内存管理单元 关于内存的分页 以往的物理页是按照4KB进行分配和管理的, 而在Linux之后流行的就是2MB大小的物理页的分配和管理, 整个物理内存管理单元也是2MB物理页管理的 先获取基本的物理 ...