使用Karabiner改键让AffinityPhoto和Phot

2016-02-02  本文已影响708人  超级大柱子

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


0.软件介绍

a.Karabiner

b.AffinityPhoto

不管如何,纵观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一样了.

上一篇 下一篇

猜你喜欢

热点阅读