わたしのキーマップのファジーな基準
1.ひとまず学習コストは低め
2.emacsは興味あるけど微妙に使ってない
3.多少癖のある配置にしてもいいけど癖が強すぎるのは避ける
対応
1.sublime対応&ついでにほかアプリ対応
2.デフォルト設定を可能な範囲で使う
3.実装作業はシンプルにデフォ設定の文字置換とちょっと程度
内容
emacsmodeの好きなところだけ有効にする。
だいたい親指で手元のキーでmodiferする。
タッチパッドはとりあえずmodiferにしない。
vkじゃなくてfnでやってみる。
sublime,iterm2,aptanaなどはfnで、他はctrlLとしてスペースキーを利用する。
あとはデフォルトから使いたいモノを選ぶ。
ちなみにバージョンふるいの使ってる。
private.xml
<?xml version="1.0"?>
<root>
<!-- 参考 -->
<!-- /Applications/KeyRemap4MacBook.app/Contents/Resources -->
<!-- https://pqrs.org/macosx/keyremap4macbook/document.html.ja#privatexml -->
<!-- https://pqrs.org/macosx/keyremap4macbook/xml.html.ja -->
<symbol_map type="KeyCode" name="[" value="0x21" />
<appdef>
<appname>SUBLIMETEXT</appname>
<equal>com.sublimetext.2</equal>
<equal>com.sublimetext.3</equal>
</appdef>
<appdef>
<appname>APTANASTUDIO3</appname>
<equal>com.aptana.studio3</equal>
</appdef>
<appdef>
<appname>ITERM2</appname>
<equal>com.googlecode.iterm2</equal>
</appdef>
<appdef>
<appname>MACVIM</appname>
<equal>org.vim.MacVim</equal>
</appdef>
<replacementdef>
<replacementname>EMACS_MODE_IGNORE_APPS</replacementname>
<replacementvalue>
ECLIPSE,
EMACS,
REMOTEDESKTOPCONNECTION,
TERMINAL,
VI,
VIRTUALMACHINE,
X11,
SUBLIMETEXT,
ITERM2,
MACVIM,
APTANASTUDIO3,
</replacementvalue>
</replacementdef>
<replacementdef>
<replacementname>MY_EMACS_MODE_IGNORE_APPS</replacementname>
<replacementvalue>
ECLIPSE,
EMACS,
REMOTEDESKTOPCONNECTION,
TERMINAL,
VI,
VIRTUALMACHINE,
X11,
SUBLIMETEXT,
ITERM2,
MACVIM,
APTANASTUDIO3,
</replacementvalue>
</replacementdef>
<replacementdef>
<replacementname>MY_EMACS_MODE_C_X_EXTRA</replacementname>
<replacementvalue></replacementvalue>
</replacementdef>
<replacementdef>
<replacementname>MY_EMACS_MODE_MARKSET_EXTRA</replacementname>
<replacementvalue></replacementvalue>
</replacementdef>
<item>
<name>MY Change Space Key</name>
<item>
<name>MY Space to Control_L (not myemacsmode)</name>
<appendix>(+ When you type Space only, send Space)</appendix>
<identifier>remap.my_space2controlL_space</identifier>
<not>{{MY_EMACS_MODE_IGNORE_APPS}}</not>
<autogen>__KeyOverlaidModifier__ KeyCode::SPACE, KeyCode::CONTROL_L, KeyCode::SPACE</autogen>
</item>
<item>
<name>MY Space to Fn (only myemacsmode)</name>
<appendix>(+ When you type Space only, send Space)</appendix>
<identifier>remap.my_space2fn_space</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyOverlaidModifier__ KeyCode::SPACE, KeyCode::FN, KeyCode::SPACE</autogen>
</item>
</item>
<item>
<name>My Emacs Mode</name>
<item>
<name>My Fn+D to Forward Delete</name>
<identifier>option.my_emacsmode_fnD</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>My Fn+D to Forward Delete</name>
<appendix>(when there are no other modifiers)</appendix>
<identifier>option.my_emacsmode_fnD_nomodifiers</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>My Fn+H to Delete</name>
<identifier>option.my_emacsmode_fnH</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
</item>
<item>
<name>My Fn+I to Tab</name>
<identifier>option.my_emacsmode_fnI</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
</item>
<item>
<name>My Fn+[ to Escape</name>
<identifier>option.my_emacsmode_fnLeftbracket</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
<item>
<name>My Fn+J to Return</name>
<identifier>remap.my_controlJ2return</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
<item>
<name>My Fn+J to Enter</name>
<identifier>remap.my_controlJ2enter</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::FN, KeyCode::ENTER</autogen>
</item>
<item>
<name>My Fn+M to Return</name>
<identifier>option.my_emacsmode_fnM</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
<item>
<name>My Fn+PNBF to Up/Down/Left/Right</name>
<identifier>option.my_emacsmode_fnPNBF</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<include path="snippets/emacsmode_fnPNBF.xml" />
</item>
<item>
<name>My Fn+PNBF to Up/Down/Left/Right</name>
<appendix>(when there are no other modifiers)</appendix>
<identifier>option.my_emacsmode_fnPNBF_nomodifiers</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<include path="snippets/emacsmode_fnPNBF_nomodifiers.xml" />
</item>
<item>
<name>My Fn+PNBF to Up/Down/Left/Right</name>
<appendix>(+ Fn+AE to Command+Left/Right)</appendix>
<appendix>(+ Command+Fn+PNBF to Shift+Up/Down/Left/Right)</appendix>
<appendix>(+ Command+Fn+AE to Shift+Command+Left/Right)</appendix>
<appendix>(+ retain Fn+Shift+PNBF)</appendix>
<appendix>(+ retain Fn+Shift+AE)</appendix>
<identifier>option.my_emacsmode_fnPNBF_ex</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<include path="snippets/emacsmode_fnPNBF_ex.xml" />
</item>
<item>
<name>My Fn+V to PageDown</name>
<identifier>option.my_emacsmode_fnV</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::V, ModifierFlag::FN, KeyCode::PAGEDOWN</autogen>
</item>
<item>
<name>My Option+V to PageUp</name>
<identifier>option.my_emacsmode_optionV</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::V, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::PAGEUP</autogen>
</item>
<item>
<name>My Command+V to PageUp</name>
<identifier>option.my_emacsmode_commandV</identifier>
<!-- Do not use "not filter" on changing Command+XXX -->
<autogen>__KeyToKey__ KeyCode::V, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::PAGEUP</autogen>
</item>
<item>
<name>My Fn+Y to Command+V</name>
<identifier>option.my_emacsmode_fnY</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::Y, ModifierFlag::FN, KeyCode::V, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My Fn+AE to Command+Left/Right</name>
<identifier>option.my_emacsmode_fnAE</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My Fn+AE to Command+Shift+Left/Right,Left/Right</name>
<appendix>(An Alternative way if you use Command+Left/Right for Spaces)</appendix>
<identifier>option.my_emacsmode_fnAE_alternative</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>My Fn+K to Command+Shift+Right,Forward Delete</name>
<identifier>option.my_emacsmode_fnK_ex</identifier>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE</autogen>
</block>
<block>
<only>DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::E, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE</autogen>
</block>
</item>
<item>
<name>My Fn+K to Command+Shift+Right,Command+X</name>
<identifier>option.my_emacsmode_fnK</identifier>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</block>
<block>
<only>DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::E, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</block>
</item>
<item>
<name>My Fn+W to Command+X</name>
<identifier>option.my_emacsmode_fnW</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My Option+W to Command+C</name>
<identifier>option.my_emacsmode_OptionWCopy</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My Option+BF to Option+Left/Right</name>
<identifier>option.my_emacsmode_optionBF</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_L</autogen>
<autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_L</autogen>
</item>
<item>
<name>My Option+D to Option+Forward Delete</name>
<identifier>option.my_emacsmode_optionD</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::D, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::FORWARD_DELETE, ModifierFlag::OPTION_L</autogen>
</item>
<item>
<name>My Option+< to Home / Option+> to End</name>
<identifier>option.my_emacsmode_optionLtGt</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::COMMA, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT, KeyCode::HOME, ModifierFlag::OPTION_L</autogen>
<autogen>__KeyToKey__ KeyCode::DOT, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT, KeyCode::END, ModifierFlag::OPTION_L</autogen>
</item>
<item>
<name>My Fn+/ to Command_Z</name>
<identifier>option.my_emacsmode_fnSlash</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::SLASH, ModifierFlag::FN, KeyCode::Z, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My Fn+S to Command+F</name>
<identifier>option.my_emacsmode_fnS</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::S, ModifierFlag::FN, KeyCode::F, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My [ex] Fn+1 to Home / Fn+2 to End</name>
<identifier>option.my_emacsmode_ex_control12</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::KEY_1, ModifierFlag::FN, KeyCode::HOME</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_2, ModifierFlag::FN, KeyCode::END</autogen>
</item>
<item>
<name>My [ex] Fn+Comma(,)/Dot(.) to Home/End</name>
<identifier>option.my_emacsmode_ex_controlcommadot</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::COMMA, ModifierFlag::FN, KeyCode::HOME</autogen>
<autogen>__KeyToKey__ KeyCode::DOT, ModifierFlag::FN, KeyCode::END</autogen>
</item>
<item>
<name>My [ex] Fn+Q to PageUp</name>
<identifier>option.my_emacsmode_ex_controlQ</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::Q, ModifierFlag::FN, KeyCode::PAGEUP</autogen>
</item>
<item>
<name>My [ex] Fn+W to Option+Delete</name>
<identifier>option.my_emacsmode_ex_controlW</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::DELETE, ModifierFlag::OPTION_L</autogen>
</item>
<item>
<name>My [ex] Fn+U to Command+Shift+Left,Command+X</name>
<identifier>option.my_emacsmode_ex_controlU</identifier>
<block>
<only>EXCEL</only>
<autogen>
__KeyToKey__
KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
KeyCode::HOME, ModifierFlag::SHIFT_L,
KeyCode::X, ModifierFlag::COMMAND_L,
Option::NOREPEAT
</autogen>
</block>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L, Option::NOREPEAT</autogen>
</block>
<block>
<only>DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L, Option::NOREPEAT</autogen>
</block>
</item>
<item>
<name>My [ex] Fn+U to Command+Shift+Left,Delete</name>
<identifier>option.my_emacsmode_ex_controlU_delete</identifier>
<block>
<only>EXCEL</only>
<autogen>
__KeyToKey__
KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
KeyCode::HOME, ModifierFlag::SHIFT_L,
KeyCode::DELETE,
Option::NOREPEAT
</autogen>
</block>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::DELETE, Option::NOREPEAT</autogen>
</block>
<block>
<only>DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::DELETE, Option::NOREPEAT</autogen>
</block>
</item>
<item>
<name>My [ex] Fn+U to Command+Shift+Left,Forward Delete</name>
<identifier>option.my_emacsmode_ex_controlU_forwarddelete</identifier>
<block>
<only>EXCEL</only>
<autogen>
__KeyToKey__
KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
KeyCode::HOME, ModifierFlag::SHIFT_L,
KeyCode::FORWARD_DELETE,
Option::NOREPEAT
</autogen>
</block>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE, Option::NOREPEAT</autogen>
</block>
<block>
<only>DICTIONARY</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE, Option::NOREPEAT</autogen>
</block>
</item>
<item>
<name>My [ex] Fn+U to PageUp</name>
<identifier>remap.my_controlU2pageup</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN, KeyCode::PAGEUP</autogen>
</item>
<item>
<name>My [ex] Fn+G to Escape</name>
<identifier>option.my_emacsmode_ex_controlG</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::G, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
<item>
<name>My [ex] Fn+AE to Home/End</name>
<identifier>option.my_emacsmode_ex_controlAE</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::HOME</autogen>
<autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::END</autogen>
</item>
<item>
<name>My [ex] Command+W to Command+C</name>
<identifier>option.my_emacsmode_ex_commandW</identifier>
<!-- Do not use "not filter" on changing Command+XXX -->
<autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My [ex] Command+W to Fn+X,Fn+M,Command+C (only in Xcode)</name>
<appendix>(+ Command+W to Command+C (except Xcode))</appendix>
<identifier>option.my_emacsmode_ex_commandW_xcode</identifier>
<block>
<only>XCODE</only>
<autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::X, ModifierFlag::CONTROL_L, KeyCode::M, ModifierFlag::CONTROL_L, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
</block>
<block>
<!-- Do not use "not filter" on changing Command+XXX -->
<autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
</block>
</item>
<item>
<name>My [ex] Fn+W to Fn+X,Fn+M,Command+X (only in Xcode)</name>
<appendix>(+ Fn+W to Command+X (except Xcode))</appendix>
<identifier>option.my_emacsmode_ex_controlW_xcode</identifier>
<block>
<only>XCODE</only>
<autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::CONTROL_L, KeyCode::M, ModifierFlag::CONTROL_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</block>
<block>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</block>
</item>
<item>
<name>My [ex] Option+W to Command+W</name>
<identifier>option.my_emacsmode_ex_optionW</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My [ex] Option+E to Command+W</name>
<identifier>option.my_emacsmode_ex_optionE</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My [ex] Option+T to Command+T</name>
<identifier>option.my_emacsmode_ex_optionT</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::T, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::T, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>My [ex] Use Fn+X as prefix key</name>
<item>
<!-- C-x Mode Core -->
<name>My Fn+X detail</name>
<appendix>C-x C-s to Command_L+S</appendix>
<appendix>C-x C-f to Command_L+O</appendix>
<appendix>C-x k to Command_L+W</appendix>
<appendix>C-x C-c to Command_L+Q</appendix>
<appendix>C-x C-g to turn off Fn+X Mode</appendix>
<identifier vk_config="true">notsave.my_emacsmode_ex_controlX_core</identifier>
{{ MY_EMACS_MODE_C_X_EXTRA }}
<autogen>__ShowStatusMessage__ C-x Mode</autogen>
<autogen>__KeyToKey__ KeyCode::S, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::S, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
<autogen>__KeyToKey__ KeyCode::C, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::Q, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
<autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::O, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::NONE, KeyCode::W, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
<autogen>__KeyToKey__ KeyCode::G, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
</item>
<item>
<name>My Enable Fn+X</name>
<identifier>option.my_emacsmode_ex_controlX</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>__KeyToKey__ KeyCode::X, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::VK_CONFIG_FORCE_ON_notsave_emacsmode_ex_controlX_core</autogen>
</item>
</item>
<item>
<name>My [ex] Use Fn+Space as MarkSet</name>
<item>
<!-- MarkSet Mode Core -->
<name>My MarkSet Mode detail</name>
<appendix>Fn+W to Command_L+X</appendix>
<appendix>Option+W to Command_L+C</appendix>
<appendix>Fn+G to turn off MarkSet</appendix>
<appendix>Fn+Space to turn off MarkSet</appendix>
<identifier vk_config="true">notsave.my_emacsmode_ex_controlSpace_core</identifier>
<autogen>__ShowStatusMessage__ MarkSet</autogen>
{{ MY_EMACS_MODE_MARKSET_EXTRA }}
<autogen>
__KeyToKey__
KeyCode::W, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
KeyCode::X, ModifierFlag::COMMAND_L,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
</autogen>
<autogen>
__KeyToKey__
KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
KeyCode::C,
ModifierFlag::COMMAND_L,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
</autogen>
<autogen>
__KeyToKey__
KeyCode::G, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
</autogen>
<autogen>
__KeyToKey__
KeyCode::SPACE, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
</autogen>
</item>
<item>
<name>My Enable Fn+Space</name>
<identifier>option.my_emacsmode_ex_controlSpace</identifier>
<only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
<autogen>
__KeyToKey__
KeyCode::SPACE, ModifierFlag::FN | ModifierFlag::NONE,
KeyCode::VK_LOCK_SHIFT_L_FORCE_ON,
KeyCode::VK_CONFIG_FORCE_ON_notsave_emacsmode_ex_controlSpace_core
</autogen>
</item>
</item>
<item>
<name>My Behavior in Emacs, Terminal, X11, VMware, Parallels, RDC, Eclipse</name>
<item>
<name>My Force change C-d to Forward Delete</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlD_term</identifier>
<only>EMACS, TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlD_x11</identifier>
<only>X11</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlD_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlD_eclipse</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
</item>
</item>
<item>
<name>My Force change C-h to Delete</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlH_term</identifier>
<only>EMACS, TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlH_x11</identifier>
<only>X11</only>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlH_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlH_eclipse</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
</item>
</item>
<item>
<name>My Force change C-i to Tab</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlI_term</identifier>
<only>EMACS, TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlI_x11</identifier>
<only>X11</only>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlI_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlI_eclipse</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
</item>
</item>
<item>
<name>My Force change C-m to Return</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlM_term</identifier>
<only>EMACS, TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlM_x11</identifier>
<only>X11</only>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlM_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlM_eclipse</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
</item>
</item>
<item>
<name>My Force change C-[ to Escape</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlLeftbracket_term</identifier>
<only>EMACS, TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlLeftbracket_x11</identifier>
<only>X11</only>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlLeftbracket_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlLeftbracket_eclipse</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
</item>
</item>
<item>
<name>My Force change C-pnbf to Up/Down/Left/Right</name>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlPNBF_term</identifier>
<only>EMACS, TERMINAL</only>
<include path="snippets/emacsmode_fnPNBF.xml" />
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlPNBF_x11</identifier>
<only>X11</only>
<include path="snippets/emacsmode_fnPNBF.xml" />
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlPNBF_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<include path="snippets/emacsmode_fnPNBF.xml" />
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlPNBF_eclipse</identifier>
<only>ECLIPSE</only>
<include path="snippets/emacsmode_fnPNBF.xml" />
</item>
</item>
<item>
<name>My Force change C-pnbf to Up/Down/Left/Right</name>
<appendix>(+ Fn+AE to Command+Left/Right)</appendix>
<appendix>(+ Command+Fn+PNBF to Shift+Up/Down/Left/Right)</appendix>
<appendix>(+ Command+Fn+AE to Shift+Command+Left/Right)</appendix>
<appendix>(+ retain Fn+Shift+PNBF)</appendix>
<appendix>(+ retain Fn+Shift+AE)</appendix>
<item>
<name>My In Emacs, Terminal</name>
<identifier>option.my_emacsmode_force_controlPNBF_ex_term</identifier>
<only>EMACS, TERMINAL</only>
<include path="snippets/emacsmode_fnPNBF_ex.xml" />
</item>
<item>
<name>My In X11</name>
<identifier>option.my_emacsmode_force_controlPNBF_ex_x11</identifier>
<only>X11</only>
<include path="snippets/emacsmode_fnPNBF_ex.xml" />
</item>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_force_controlPNBF_ex_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<include path="snippets/emacsmode_fnPNBF_ex.xml" />
</item>
<item>
<name>My In Eclipse</name>
<identifier>option.my_emacsmode_force_controlPNBF_ex_eclipse</identifier>
<only>ECLIPSE</only>
<include path="snippets/emacsmode_fnPNBF_ex.xml" />
</item>
</item>
<item>
<name>My Fn+AE to Home/End</name>
<item>
<name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
<identifier>option.my_emacsmode_fnAE_vm</identifier>
<only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
<autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::HOME</autogen>
<autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::END</autogen>
</item>
</item>
<item>
<name>My [Terminal] Fn+/ to C-_ and Fn+' to C-M-_</name>
<identifier>option.my_emacsmode_fnSlashTerminal</identifier>
<only>TERMINAL</only>
<autogen>__KeyToKey__ KeyCode::SLASH, ModifierFlag::FN, KeyCode::MINUS, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::QUOTE, ModifierFlag::FN, KeyCode::MINUS, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
</item>
</item>
</item>
<item>
<name>My Something</name>
<item>
<name>Use PC Style Copy/Paste</name>
<appendix>(Fn+C to Command_L+C)</appendix>
<appendix>(Fn+V to Command_L+V)</appendix>
<appendix>(Fn+X to Command_L+X)</appendix>
<appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix>
<identifier>private.remap.my_copy_paste_winstyle_no_term_and_sublime</identifier>
<only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only>
<autogen>--KeyToKey-- KeyCode::C, VK_CONTROL, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::V, VK_CONTROL, KeyCode::V, ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::X, VK_CONTROL, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Use PC Style Undo</name>
<appendix>(Fn+Z to Command_L+Z)</appendix>
<appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix>
<identifier>private.remap.my_undo_winstyle_no_term_and_sublime</identifier>
<only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only>
<autogen>--KeyToKey-- KeyCode::Z, VK_CONTROL, KeyCode::Z, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Use PC Style Select All</name>
<appendix>(Fn+A to Command_L+A)</appendix>
<appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix>
<identifier>private.remap.my_select_all_winstyle_no_term_and_sublime</identifier>
<only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only>
<autogen>--KeyToKey-- KeyCode::A, VK_CONTROL, KeyCode::A, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Use PC Style Save</name>
<appendix>(Fn+S to Command_L+S)</appendix>
<appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix>
<identifier>private.remap.my_save_winstyle_no_term_and_sublime</identifier>
<only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only>
<autogen>--KeyToKey-- KeyCode::S, VK_CONTROL, KeyCode::S, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>LeaveInsMode with EISUU(vim keybind apps)</name>
<identifier>private.vim_keybind_apps_esc_with_eisuu</identifier>
<only>ITERM2,TERMINAL,MACVIM,VI,SUBLIMETEXT</only>
<autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
<autogen>--KeyToKey-- KeyCode::[, VK_CONTROL, KeyCode::[, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
<autogen>--KeyToKey-- KeyCode::C, VK_CONTROL, KeyCode::C, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
</item>
</item>
</root>
emacsmode_fnPNBF_ex.xml
<?xml version="1.0"?>
<root>
<!-- retain -->
<autogen>
__KeyToKey__
KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::P, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::N, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::B, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::F, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::A, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
__KeyToKey__
KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>__KeyToKey__ KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_DOWN, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP</autogen>
<autogen>__KeyToKey__ KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_DOWN</autogen>
<autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT</autogen>
<autogen>__KeyToKey__ KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
</root>
emacsmode_fnPNBF.xml
<?xml version="1.0"?>
<root>
<autogen>__KeyToKey__ KeyCode::P, ModifierFlag::FN, KeyCode::CURSOR_UP</autogen>
<autogen>__KeyToKey__ KeyCode::N, ModifierFlag::FN, KeyCode::CURSOR_DOWN</autogen>
<autogen>__KeyToKey__ KeyCode::B, ModifierFlag::FN, KeyCode::CURSOR_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN, KeyCode::CURSOR_RIGHT</autogen>
</root>
emacsmode_fnPNBF_nomodifer.xml
<?xml version="1.0"?>
<root>
<autogen>__KeyToKey__ KeyCode::P, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_UP</autogen>
<autogen>__KeyToKey__ KeyCode::N, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_DOWN</autogen>
<autogen>__KeyToKey__ KeyCode::B, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT</autogen>
</root>