sublime text を快適につかうためのkeymap4macbookの個人的な設定


わたしのキーマップのファジーな基準
================================

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+&lt; to Home / Option+&gt; 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>