Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
175
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@hanamiche

Karabiner-Elements が超絶怒濤に進化している。今も!

Sierraにしたときの後悔

macOS Sierraにして最も後悔したのが、Karabinerが動かなかったこと。
Karabiner-Elementsの開発は始まっていましたが、Karabinerを置き換えるのはちょっと難しい状況でした。

しかし、ここにきて一気に私が欲しかった機能が追加されました。

  • Version 0.91.1
    • 複数キーのリマップに対応
  • Version 0.91.6
    • 特定のアプリケーションだけに有効なリマップ(frontmost_application_if)、特定のアプリケーション以外に有効なリマップ(frontmost_application_unless)に対応
  • Version 0.91.7
    • ちょっと予想しなかった「Shell command execution」が追加

結果として、Karabiner時代と全く同一またはそれ以上の操作性をGetすることができ本当に満足しております:thumbsup_tone2::thumbsup_tone2::thumbsup_tone2:。これは寄付しなければ。

というわけで、誰かのお役に立てればと思い、上記の機能を使ったjsonのサンプルを置きます。

設定サンプル

「Command + L」でスクリーンセーバー起動

0.91.1で追加された、複数キーにリマップ対応と、0.91.7で追加された「shell_command」を使って「Command + L」でスクリーンセーバー起動。
(スクリーンをロックするのが目的です:relaxed:)

ss.json
        {
            "description": "Command + L で スクリーンセーバーを起動する",
            "manipulators": [
                {
                    "from": {
                        "key_code": "l",
                        "modifiers": {
                            "mandatory": [
                                "left_command"
                            ],
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "shell_command": "open /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app"
                        }
                    ],
                    "type": "basic"
                }
            ]
        }

2017/09/27 追記

macOS High Sierraでは ScreenSaverEngine.app が以下のパスに移動していました。修正が必要になります

/System/Library/CoreServices/ScreenSaverEngine.app

Chromeにて「F5」キーひとつでページリロード

0.91.6で追加された、指定アプリケーションのみに有効とする「frontmost_application_if」を用いてChromeにて「F5」キーひとつでページリロードする

chrome.json
        {
            "description": "F5でページリロード(chrome)",
            "manipulators": [
                {
                    "from": {
                        "key_code": "f5",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "r",
                            "modifiers": [
                                "command"
                            ]
                        }
                    ],
                    "conditions": [
                        {
                            "type": "frontmost_application_if",
                            "bundle_identifiers": [
                                "^com\\.google\\.Chrome"
                            ]
                        }
                    ],
                    "type": "basic"
                }
            ]
        }

「Command + E」でFinderを表示(RDC除く)

ちなみに「frontmost_application_unless」を指定すると指定したアプリを除外する形になります。
以下の例では、「Command + E」でFinderを表示しますが、リモートデスクトップではWindowsのエクスプローラーが開いて欲しいので除外しています。

rdc.json
        {
            "description": "Command + E で Finderを起動する(RDC除く)",
            "manipulators": [
                {
                    "from": {
                        "key_code": "e",
                        "modifiers": {
                            "mandatory": [
                                "left_command"
                            ],
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "shell_command": "open ~"
                        }
                    ],
                    "conditions": [
                        {
                            "type": "frontmost_application_unless",
                            "bundle_identifiers": [
                                "^com\\.microsoft\\.rdc\\.osx",
                                "^com\\.microsoft\\.rdc\\.macos"
                            ]
                        }
                    ],
                    "type": "basic"
                }
            ]
        }

2017/11/30 追記

RDCの新しいバージョン「10.0.823」では Bundle Identifierが「com.microsof.rdc.macos」 に変更されていたので追加や修正が必要になります

最後に

最後になりますが作者のtekezo様、本当にありがとうございます。
このソフトがなかったら、REALFORCE(JIS)をMacBookで使う事はできませんでした。
感謝しかありません。

書いた直後に、Version 0.91.9がでてる!変数が使えるようになった模様:wink:

variable_if and variable_unless has been added to conditions. You can use set_variable to change the variables.

マウスも!

ついにマウスも対応開始です!マウス対応辺はこちら

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
175
Help us understand the problem. What is going on with this article?