Theme
SD MILIEU

2017-5-30

[Mac]Sierraで英数キーにワンショットモディファイアを設定

2017/05/30 現在、Sierra だと Karabiner が使用できません。

英数キーにワンショットモディファイアとして Ctrl を設定していた身としては、それができないとかなり不便(Ctrl+npbf でカーソル移動している)なので方法をメモ。

Karabiner-Elements のフォークされた物を利用

Karabiner-Elements なら現状 Sierra でも利用できるのですが、現状ワンショットモディファイアは利用できない状態です。

ただ、wwwjfy さんがフォークしてワンショットモディファイアを実装しており、そちらを利用すれば英数キーにワンショットモディファイアを設定することが可能です。

インストール

こちらからダウンロードしてインストールします。

wwwjfy/Karabiner-Elements

設定

~/.config/karabiner/karabiner.jsonを弄ることで設定が可能です。

実際は以下のような内容にしました。

{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "devices": [],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "illumination_decrement",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward"
            },
            "name": "Default profile",
            "one_to_many_mappings": {},
            "selected": true,
            "simple_modifications": {
                "japanese_eisuu": "left_control",
                "left_control": "left_command",
                "japanese_kana": "right_command"
            },
            "standalone_keys": {
                "japanese_eisuu": "japanese_eisuu",
                "japanese_kana": "japanese_kana"
            },
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "jis",
                "standalone_keys_delay_milliseconds": 200
            }
        }
    ]
}

基本的にデフォルトのままで、いじった箇所は

"simple_modifications": {
    "japanese_eisuu": "left_control",
    "left_control": "left_command",
    "japanese_kana": "right_command"
},
"standalone_keys": {
    "japanese_eisuu": "japanese_eisuu",
    "japanese_kana": "japanese_kana"
}

まずここでキーの入れ替えとワンショットモディファイアの設定を行っています。

simple_modificationsはキーの入れ替えの設定、standalone_keysはワンショットモディファイアの設定です。

それと次に、

"keyboard_type": "jis",

デフォルトだと英語キーボード配列として処理されてしまうので、ここで日本語キーボード配列をしていしています。英語配列の人はデフォのままで問題ないと思います。

備考

Karabiner 製作者様本人が作ったものではなく、フォークされたものです。Karabiner の動向を追っかけて Karabiner 自体にワンショットモディファイアの機能が実装されたらそちらに乗り換えたほうがいいかと思います。

参考

macOS Sierra に Karabiner-Elements 入れて「英数」キーを「Command」にして、単独で押した時は「英数」として認識させた話 - ngzm のブログ