Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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.

マウスも!

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

hanamiche
何事にも妥協しない本当に技術者を目指しています! 仕事柄LinuxやTomcat,Apacheなどに関わりますが、本業はWindowsの為四苦八苦しています。 開発言語では、Visual C++,Visual C#,Pythonをかじったことがあります。 少しでも有意義な情報を配信出来るようにがんばりたいと思います。 ちなみに、女性服に詳しい人です
http://hanamiche.hatenablog.jp/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした