使用Karabiner改键让AffinityPhoto和Photoshop一样顺手

此文作废,最新版的Affinity已经自带了改建功能,不需要使用外部工具配合了


0.软件介绍

a.Karabiner

  • Mac改键软件,类似Windows的Autohotkey,免费软件
  • 根据官网的资料,修改XML可以作为改键的设定
  • 软件官网: https://pqrs.org/osx/karabiner/
  • 同类的竞品有KeyboardMaestro(收费软件),主要是用户界面操作.
  • Karabiner的优势有:可以判断是否在输入状态;可以识别左右Cmd等控制键.

b.AffinityPhoto

  • 绘图软件,类似Photoshop.
  • 软件官网: https://affinity.serif.com/en-gb/
  • 优点1.是它充分利用了Mac上的GPU加速(用的OpenGL)
  • 优点2.矢量绘图,它是最棒的.
  • 优点3.它可以用许多Photoshop的资源:笔刷,插件
  • 缺点1.许多细节功能不如Photoshop丰富
  • 缺点2.软件的自定义未完善,很多使用习惯和PS有出入,老设计师上手会烦躁.
  • 缺点3.只有Mac平台
  • AffinityPhoto是Photoshop的竞品,AffinityDesign是AI的竞品,不要混淆了.

不管如何,纵观Gimp,Krita,Sai,AI,Sketch都不如它.
如果你厌倦了Photoshop,不喜欢Adobe系列的庞大,它是不二选择.


1.Karabiner设定

a.找到private.xml
/Users/用户名/Library/Application Support/Karabiner/private.xml

b.在private.xml中添加代码:

<appdef>
    <appname>Affinity</appname>
    <equal>com.seriflabs.affinityphoto</equal>
</appdef>

<item>
    <name>Affinity</name>
    <identifier>private.Affinity_Cmd_L</identifier>
    <only>Affinity</only>
    <uielementrole_not>AXTextField, AXTextArea</uielementrole_not>

<!-- 普通-->
<autogen>__KeyToKey__
    KeyCode::Z,ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::Z,
</autogen>
<autogen>__KeyToKey__
    KeyCode::Y, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::U,
</autogen>
<autogen>__KeyToKey__
    KeyCode::V, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::V,
</autogen>
<autogen>__KeyToKey__
    KeyCode::G, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::G,
</autogen>
<autogen>__KeyToKey__
    KeyCode::E, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::E,
</autogen>
<autogen>__KeyToKey__
    KeyCode::B, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::B,
</autogen>
<autogen>__KeyToKey__
    KeyCode::C, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::P,
</autogen>
<autogen>__KeyToKey__
    KeyCode::P, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::C,
</autogen>
<autogen>__KeyToKey__
    KeyCode::R, ModifierFlag::NONE,
    KeyCode::O,
    KeyCode::L,
</autogen>

<!-- 组合-->
<autogen>__KeyToKey__
    KeyCode::D, ModifierFlag::NONE,
    KeyCode::BRACKET_LEFT,
</autogen>
<autogen>__KeyToKey__
    KeyCode::F, ModifierFlag::NONE,
    KeyCode::BRACKET_RIGHT,
</autogen>
<autogen>__KeyToKey__
    KeyCode::N, ModifierFlag::NONE,
    KeyCode::N, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L,
</autogen>
<autogen>__KeyToKey__
    KeyCode::J, ModifierFlag::NONE,
    KeyCode::J, ModifierFlag::COMMAND_L,
</autogen>
<autogen>__KeyToKey__
    KeyCode::A, ModifierFlag::NONE,
    KeyCode::D, ModifierFlag::COMMAND_L,
</autogen>

</item>

c.代码解释:
c1.添加一个改建区块

<item>
    <name>Affinity</name>   //区块名
    <identifier>private.Affinity_Cmd_L</identifier> //区块唯一识别码
    <only>Affinity</only>       //只在Affinity中有效
    //添加区块的其他代码
</item>

c2.如果当前激活控件是OSX的AXTextField,AXTextArea时,不进行改键,用于区别输入状态
<uielementrole_not>AXTextField, AXTextArea</uielementrole_not>
c3.如果单独按了Z键,则会安一下O,再按一下Z键;为了防止Z键和其他键位相互切换;具体为什么要这么做,如果看官用一段时间AffinityPhoto就知道了.
<autogen>KeyToKey
KeyCode::Z,ModifierFlag::NONE,
KeyCode::O,
KeyCode::Z,
</autogen>

理解了上面的代码,整个代码就都是通用的.不再一一描述.
使用以上的代码之后,AffinityPhoto就可以随意的修改成自己想要的键位和格式了.
所有使用Cocoa框架的软件都可以使用以上的方法自己定义热键.

至此,AffinityPhoto的操作方式就和Photoshop一样了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,848评论 25 708
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,188评论 4 61
  • 1,本文测试使用的是win2003系统,首先准备安装文件,如下图的1、2、3所示: 2、直接安装Apache2,下...
    yhyok阅读 760评论 1 50
  • 还是想说点什么,虽然如今写起来总是没有当初那么纯粹。重了怕说矫情,轻了怕不安定。反反复复,浪荡平静。 二十岁第一天...
    YY熊阅读 282评论 0 0