2019/03/22

190322 Macの最小化(Cmd+m)の代わりに非表示(Cmd+h)

MacとWindows両方使っているのだが、Win+mの誤操作でCmd+mを押してしまうとアプリケーションがDockに格納されてしまい、キーボードで再表示できない(Dockをクリックする必要がある)。Cmd+Tabのアプリ切り替えで再表示したいので、Karabiner Elementsを導入してCmd+mの代わりに非表示(Cmd+h)が実行されるように変更した。
ついでに色々いじったのでまとめておく。

下記を参考にした。
Karabiner-Elementsの設定項目をまとめました

・Cmd+m無効化
・Cmd+mの代わりに非表示(Cmd+h)
・Cmd+Escで非表示(Cmd+h)
    WindowsでAlt+Escで使ってるアプリケーションを背面に切替えられるが、AutoHotkeyで最小化(Win+↓)に改変しているので、Macでも同じ設定を用意
・Control+wでタブを閉じる
  練習用にChrome系ブラウザとCotEditorのみで動く
・Caps_lock + , でhome、Caps_lock + . でend
・Caps_lock + [ でpage up、Caps_lock + ] でpage down
  追加でインポートできるファイルで「Use CAPS LOCK for vi navigation」にあるCaps_lock + hjkl で矢印キーを入力できる設定があり便利(ホームポジションから矢印キーまで手を動かさなくて済む)が、追加でhome、end、page up、page downも追加。日本語キーボードのせいかブラケットの指定がズレており、EventViewerで確認した。

WindowsではAutoHotkeyを使っていて、MacではKeyhacを使っていたのだが、アプリケーションによって不安定だったため、Karabiner-Elementsに切替えた。
jsonファイルいじるの初めてだが、括弧が多い…括弧のたびに改行するインデントがめんどくさいが、括弧を詰めると見づらい。いじっている途中でAtomの自動インデント機能を知り、minimapも入れてかなり見やすくなった。


{
  "title": "Private key command",
  "rules": [
    {
      "description": "Disable Cmd+m minimization",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "m",
            "modifiers": {
              "mandatory": [ "command" ]
            }
          }
        }
      ]
    },
    {
      "description": "Replace Cmd+m to Cmd+h",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "m",
            "modifiers": {
              "mandatory": [ "command" ]
            }
          },
          "to": [
            {
              "key_code": "h",
              "modifiers": [ "command" ]
            }
          ]
        }
      ]
    },
    {
      "description": "Cmd+Esc to hide active window",
      "manipulators" : [
        {
          "type": "basic",
          "from": {
            "key_code": "escape",
            "modifiers": {
              "mandatory": [ "command" ]
            }
          },
          "to": [
            {
              "key_code": "h",
              "modifiers": [ "command" ]
            }
          ]
        }
      ]
    },
    {
      "description": "Ctrl+w to close tab",
      "manipulators" : [
        {
          "type": "basic",
          "from": {
            "key_code": "w",
            "modifiers": {
              "mandatory": [ "control" ]
            }
          },
          "to": [
            {
              "key_code": "w",
              "modifiers": [ "command" ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "com\\.google\\.Chrome",
                "org\\.chromium\\.Chromium",
                "jp\\.kinza\\.Kinza",
                "com\\.coteditor\\.CotEditor"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "Caps_lock + ,. to home and end",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "comma",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "key_code": "home"
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "caps_lock pressed",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "period",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "key_code": "end"
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "caps_lock pressed",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "set_variable": {
                "name": "caps_lock pressed",
                "value": 1
              }
            }
          ],
          "to_after_key_up": [
            {
              "set_variable": {
                "name": "caps_lock pressed",
                "value": 0
              }
            }
          ]
        }
      ]
    },
    {
      "description": "Caps_lock + [] to PgUp and PgDn",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "close_bracket",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "key_code": "page_up"
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "caps_lock pressed",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "backslash",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "key_code": "page_down"
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "caps_lock pressed",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [ "any" ]
            }
          },
          "to": [
            {
              "set_variable": {
                "name": "caps_lock pressed",
                "value": 1
              }
            }
          ],
          "to_after_key_up": [
            {
              "set_variable": {
                "name": "caps_lock pressed",
                "value": 0
              }
            }
          ]
        }
      ]
    }
  ]
}

0 件のコメント:

コメントを投稿