此文作废,最新版的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中添加代码:
Affinity
com.seriflabs.affinityphoto
-
Affinity
private.Affinity_Cmd_L
Affinity
AXTextField, AXTextArea
__KeyToKey__
KeyCode::Z,ModifierFlag::NONE,
KeyCode::O,
KeyCode::Z,
__KeyToKey__
KeyCode::Y, ModifierFlag::NONE,
KeyCode::O,
KeyCode::U,
__KeyToKey__
KeyCode::V, ModifierFlag::NONE,
KeyCode::O,
KeyCode::V,
__KeyToKey__
KeyCode::G, ModifierFlag::NONE,
KeyCode::O,
KeyCode::G,
__KeyToKey__
KeyCode::E, ModifierFlag::NONE,
KeyCode::O,
KeyCode::E,
__KeyToKey__
KeyCode::B, ModifierFlag::NONE,
KeyCode::O,
KeyCode::B,
__KeyToKey__
KeyCode::C, ModifierFlag::NONE,
KeyCode::O,
KeyCode::P,
__KeyToKey__
KeyCode::P, ModifierFlag::NONE,
KeyCode::O,
KeyCode::C,
__KeyToKey__
KeyCode::R, ModifierFlag::NONE,
KeyCode::O,
KeyCode::L,
__KeyToKey__
KeyCode::D, ModifierFlag::NONE,
KeyCode::BRACKET_LEFT,
__KeyToKey__
KeyCode::F, ModifierFlag::NONE,
KeyCode::BRACKET_RIGHT,
__KeyToKey__
KeyCode::N, ModifierFlag::NONE,
KeyCode::N, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L,
__KeyToKey__
KeyCode::J, ModifierFlag::NONE,
KeyCode::J, ModifierFlag::COMMAND_L,
__KeyToKey__
KeyCode::A, ModifierFlag::NONE,
KeyCode::D, ModifierFlag::COMMAND_L,
c.代码解释:
c1.添加一个改建区块
-
Affinity //区块名
private.Affinity_Cmd_L //区块唯一识别码
Affinity //只在Affinity中有效
//添加区块的其他代码
c2.如果当前激活控件是OSX的AXTextField,AXTextArea时,不进行改键,用于区别输入状态
c3.如果单独按了Z键,则会安一下O,再按一下Z键;为了防止Z键和其他键位相互切换;具体为什么要这么做,如果看官用一段时间AffinityPhoto就知道了.
KeyCode::Z,ModifierFlag::NONE,
KeyCode::O,
KeyCode::Z,
理解了上面的代码,整个代码就都是通用的.不再一一描述.
使用以上的代码之后,AffinityPhoto就可以随意的修改成自己想要的键位和格式了.
所有使用Cocoa框架的软件都可以使用以上的方法自己定义热键.
至此,AffinityPhoto的操作方式就和Photoshop一样了.