以前に、かな漢字変換のキーとか、リターンキーを設定するためのキーバインドを紹介しましたが、別件です。
MS製品をMacOSで使う機会があったものの、あまりにも邪悪なキーバインドで、自分にはまともに使う事ができませんでした。
仕方なく、最小限のキーを Karabiner-elements で使えるような設定を作ってみました。
OneNoteだと、^A, ^E はなぜかデフォルトの動きをするんですね…。恐ろしい子。
ファイル名: 2.json
{ "title": "MS製品 de Emacs key", "rules": [ { "description": "MS-Office de Emacs key", "manipulators": [ { "type": "basic", "from": { "key_code": "b", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "left_arrow" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "f", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "right_arrow" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "p", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "up_arrow" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "n", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "down_arrow" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "a", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "home" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.Word$", "^com\\.microsoft\\.Excel$", "^com\\.microsoft\\.Powerpoint$" ] } ] }, { "type": "basic", "from": { "key_code": "e", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "end" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\.Word$", "^com\\.microsoft\\.Excel$", "^com\\.microsoft\\.Powerpoint$" ] } ] }, { "type": "basic", "from": { "key_code": "h", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "delete_or_backspace" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "d", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "delete_forward" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "w", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "x", "modifiers": [ "left_command" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "w", "modifiers": { "mandatory": [ "left_option" ] } }, "to": [ { "key_code": "c", "modifiers": [ "left_command" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "y", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "v", "modifiers": [ "left_command" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "i", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "tab" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "m", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "return_or_enter" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "v", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "page_down" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "v", "modifiers": { "mandatory": [ "option" ] } }, "to": [ { "key_code": "page_up" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "g", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "escape" } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "/", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "z", "modifiers": [ "left_command" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] }, { "type": "basic", "from": { "key_code": "_", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "z", "modifiers": [ "left_command" ] } ], "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.microsoft\\." ] } ] } ] } ] }
Karabiner-Elements complex_modifications のサイトに、”Emacs key bindings”という設定ファイルも置いてあるのですが、こちらは「MS製品以外も有無を言わさず変更」という感じでした。
自分的には今のところそんなに困っていなかったので、使う範囲で設定した感じです。