mac 使用Karabiner配置键盘映射(2)-核心标签的解读
KeyOverlaidModifier
使用场景:一般用在 改变Modifier(控制键,例如ctrl,command,alt等)的行为.
例如正常情况下,单独按下control或command 是没有反应(动作的),
但是我们可以通过KeyOverlaidModifier 增加反应.
实例:
目标:单独按下右边的command 触发Alfred
所以单独按下右边的command,触发F17就行:
<item> <!-- 右边的command,单独按下相当于F17,用于触发Alfred --> <name>COMMAND_R to F17</name> <appendix>(COMMAND_R Only, send F17)</appendix> <identifier>private.command_r_only2f17</identifier> <autogen> --KeyOverlaidModifier-- KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::F17 </autogen> </item>
为什么使用F17?因为F17不占用实体键
解说:
对KeyOverlaidModifier 下的行逐行解释:
第一行:原始按键;
第二行:和其他键组合按下时要映射的键(先按下该键,hold住,再按下其他键);
第三行:单独按下要映射的键.
单独按下右边的command,相当于按下F17,
和其他键组合按下时不变.
2.实例解说
<item> <!-- 左边的Option/Alt,单独按下相当于 command+T,用于IDEA中通过接口路径搜索 , (if no other modifiers pressed) --> <name>OPTION_L to PAGEUP</name> <appendix>(OPTION_L Only, send PAGEUP)</appendix> <identifier>private.option_l2pageup</identifier> <autogen> --KeyOverlaidModifier-- KeyCode::OPTION_L, ModifierFlag::OPTION_L | ModifierFlag::NONE, KeyCode::OPTION_L, KeyCode::T,ModifierFlag::COMMAND_L </autogen> </item>
第一行多了 ModifierFlag::OPTION_L | ModifierFlag::NONE
什么意思呢?
表示按下左边的option时,不能按下其他控制键.
先按下command(不松开),再按下左边的option 不会触发;
先按下右边的option,再按下左边的option 不会触发;
如果去掉ModifierFlag::OPTION_L | ModifierFlag::NONE,会是什么效果呢?
先按下command(不松开),再按下左边的option 会触发;
先按下右边的option,再按下左边的option 会触发;
3.__KeyOverlaidModifier__的高级用法
目标:把space映射成为右边的command,但是单独按下时仍然是space.
按下space,不松开(hold住),再按下其他键,那么space映射成为command;
space+C:复制
space+V:黏贴
松开space时,在没有其他键按下的情况下,space的效果就是空格
源码:
<!-- 单独按下space,就是space; 组合按下space,相当于按下command_left --> <autogen> __KeyOverlaidModifier__ KeyCode::SPACE, ModifierFlag::NONE, <!-- You need to put "KeyCode"s between @begin and @end when you want to specify multiple KeyCode. --> @begin <!-- hold 'SPACE' ,即组合键 --> KeyCode::COMMAND_R, @end @begin <!-- release 'SPACE' --> KeyCode::SPACE, @end Option::KEYTOKEY_AFTER_KEYUP, KeyCode::VK_CONFIG_FORCE_OFF_notsave_samples_keyoverlaidmodifier_use_separator_1, KeyCode::VK_CONFIG_FORCE_OFF_notsave_samples_keyoverlaidmodifier_use_separator_2, </autogen>
4,进阶:为什么要使用ModifierFlag::<xxx> | ModifierFlag::NONE
解说:
(1)第一个autogen 的效果:
单独按下左边的option,触发IDEA中通过接口路径搜索(原始快捷键:command+T)
(2)第二个autogen的效果:
先按下space(hold住),再按下左边的option,触发:
option+space(先按下option,再按下space)
说白了,我要达到的目的是:option_left和space,不管哪个先按下(为了兼容手误),效果都是一样的.
重点:去掉上图标红1的ModifierFlag::OPTION_L | ModifierFlag::NONE 之后,
实现第二个autogen时,会触发第一个autogen,
因为第二个autogen 中也是单独按下了左边的option,
在按下左边的option之后还有按下其他键吗?没有,见上面的先按下space(hold住),再按下左边的option
源码:
<item> <!-- 左边的Option/Alt,单独按下相当于 command+T,用于IDEA中通过接口路径搜索 , (if no other modifiers pressed) --> <name>OPTION_L to PAGEUP</name> <appendix>(OPTION_L Only, send PAGEUP)</appendix> <identifier>private.option_l2pageup</identifier> <autogen> --KeyOverlaidModifier-- KeyCode::OPTION_L, ModifierFlag::OPTION_L | ModifierFlag::NONE, KeyCode::OPTION_L, KeyCode::T,ModifierFlag::COMMAND_L </autogen> <!-- 同时按下space(实际已经映射成为COMMAND_R,见152行 )和option_left,触发OPTION_L+space,打开浏览器 --> <autogen> --KeyOverlaidModifier-- KeyCode::OPTION_L, ModifierFlag::OPTION_L |ModifierFlag::COMMAND_R | ModifierFlag::NONE, KeyCode::OPTION_L, KeyCode::SPACE,ModifierFlag::OPTION_L </autogen> </item>
参考:
https://my.oschina.net/huangweiindex/blog/1649219
https://my.oschina.net/huangweiindex/blog/1786668
相关推荐
外接键盘映射工具,可以屏蔽mac原生键盘按键;外接键盘映射工具,可以屏蔽mac原生键盘按键
Karabiner-Elements 是一个用于 macOS 的系统增强工具,可以自动化各种任务和键盘快捷键。它提供了广泛的功能,以提高工作效率和用户体验。 支持的系统 - macOS 14 Sonoma - macOS 13 Ventura - macOS 12 ...
karabiner-vim-mode-plus-master.zip
Karabiner-Elements,这款12.9.0版本的软件,正是专为提升Mac用户键盘输入效率而设计的强大且稳定的键盘映射工具。本文将深入探讨Karabiner-Elements的功能、应用场景以及如何通过它来优化你的macOS体验。 一、什么...
Karabiner-Elements是功能强大的实用程序,可在macOS Sierra或更高版本上自定义键盘。 下载 您可以从下载Karabiner-Elements。 旧版本 您可以从下载Karabiner-Elements的早期版本。 支持系统 macOS Catalina(10.15....
Karabiner-DriverKit-VirtualHIDDevice使用DriverKit为macOS实施虚拟设备(键盘和鼠标)。支持系统macOS Big Sur(11.0)基于Intel的Mac和Apple Silicon Macs macOS Catalina(10.15)基于Intel的Mac状态实施的:...
karabiner-windows-mode 通过启用Linux和Windows中使用的通用键盘功能,Karabiner-Elements复杂规则集可以使使用macOS更加友好。 现在由提供,使需要与之交互的主要文件( *.jsonnet和*.libsonnet )更短并且可读性...
《Karabiner:MacOS中的键盘映射神器与配置文件详解》 Karabiner,一款在MacOS系统中广泛使用的键盘映射工具,它允许用户自定义键盘快捷键,极大地提升了工作效率。尤其值得一提的是,这款软件借鉴了Windows系统的...
将`左Shift`键修改为`F17`键; 将`左command`键修改为`F18`键; ...详细使用说明请阅览《macOS 中英文输入法切换终极解决方案》,链接:http://blog.csdn.net/hndfguxing/article/details/79178020
Karabiner-Elements-12.9.0.dmg
Karabiner,原名KeyRemap4MacBook,是一款强大的键盘映射工具,专为Mac用户设计,旨在提供自定义键盘快捷键、修改按键功能等高级操作。它允许用户根据自己的需求调整键盘布局,提高工作效率,实现个性化设置。本文将...
- 对于替换特定键,可以使用Karabiner-Elements,这是一个强大的键盘映射工具,支持自定义复杂的键位替换规则。 3. **Linux系统的键盘映射**: - Linux发行版通常允许用户在控制中心或配置文件中修改键盘布局。...
Karabiner Elements是一款开源的系统键盘配置工具,它可以自定义Mac上的按键映射,使得用户可以根据个人习惯或特定软件的需求调整键盘布局。在本项目中,它被用来为Sketch.app定制专属的Razer Tartarus键位映射,...
我的 Karabiner 配置 在 » « 中将CapsLock重新定义为F19 在» «中将F19更改为Hyper 在»Karabiner«中打开» « 启用您喜欢的重新映射项目 全球的 Hyper = ESC Hyper + Tab = CapsLock Hyper + BackSpace = ...
自定义 macOS 键盘,可以将任意一个按键修改为其它任意一个按键。 详细使用说明请阅览《macOS 中英文输入法切换终极解决方案》,链接:http://blog.csdn.net/hndfguxing/article/details/79178020
最好用的改键工具,让你在windows和mac间无缝切换,妈妈再也不用担心,键盘不同的问题了,如果你是emacs和vim的使用者,那么你更应该收藏了
Karabiner-Elements-15.3.0.pkg
Karabiner-Elements 是一个功能强大的 mac 应用程序,用于在 macOS 的 mac 系统上进行键盘自定义映射,从而让任何输入设备满足使用者的输入习惯,提高输入效率。
Karabiner为Filco Minila键盘准备的Private.xml配置文件 将右侧在Mac下无用的App键映射为右侧Command键,简单实用,改动最小,获得更好体验。这个键在Mac上就是一悲剧,完全没用的。 ps:注意自行修改verdorid,请...
mac端的最强键位修改软件(最新稳定发行版,支持m1),开源,有需要下载,GitHub官网下载比较慢.