前言

  • 一直使用 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. PHP常用设计模式汇总

    装饰模式: <?php abstract class Tile { abstract function getWealthFactor(); } class Plains extends Til ...

  2. Doxygen生成美丽注释文档(1):初体验

    Chapter 1 - 准备工作 (Windows环境) 1.1 程序包下载 1. Doxygen * 源码: git clone https://github.com/doxygen/doxygen ...

  3. JS图片加载失败用默认图片代替

    1.onerror 事件会在文档或图像加载过程中发生错误时被触发. 当图片不存在时,将触发onerror,onerror 中img为 指定的默认图片. 图片存在则显示正常图片,图片不存在将显示默认. ...

  4. java课后思考问题(一)

    1.一个Java类文件中真的只能有一个共有类吗? 一个Java类文件中只能有一个公有类 2.请使用Eclipse或javac检测一下以下代码,有错吗? 在Java中,可以将一个类定义在另一个类里面或者 ...

  5. Vue.js-----轻量高效的MVVM框架(八、使用组件)

    什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有 ...

  6. Mybatis学习笔记18 - 缓存

    两级缓存: 一级缓存:(本地缓存):sqlSession级别的缓存.一级缓存是一直开启的:SqlSession级别的一个Map 数据库同一次会话期间查询到的数据会放在本地缓存中.以后如果需要获取相同的 ...

  7. python 循环类型

    循环: while死循环: important time while 1== 1 print('ok') #当1==1条件成立时,会一直循环输出ok. 因为条件永远成立,所以是死循环         ...

  8. Java基础05-运算符

    1.赋值运算符:= 2.算术运算符: (1)一元运算符: i++;先使用后自身加1  int i=1;int b=i+1; b=1  i=2 ++i;先对自身加1后使用 int j=1;int b=+ ...

  9. java内存区域与内存溢出

    JVM的内存区域划分: jvm的内存区域分为5部分:程序计数器,虚拟机栈,本地方法栈,堆跟方法区. 程序计数器,虚拟机栈,本地方法栈三部分是线程私有的,堆跟方法区是公共的. 1.程序计数器 是一块较小 ...

  10. Linux证书登录,禁用密码

    如果验证成功的话就可以关闭密码登陆方式了, 编辑/etc/ssh/sshd_config, 将PasswordAuthentication改为no, ChallengeResponseAuthenti ...