複数のキー入力に対する割り当ての設定の仕方はどうしたらよいのでしょうか?

136 views
Skip to first unread message

tosh king

unread,
Apr 25, 2016, 10:49:31 PM4/25/16
to Karabiner-ja
はじめまして

探してみたのですが、見つけられなかったので質問します。

一つは
任意のキー2つの組み合わせ(例えば、1と2)を押したときに、これをCommand+Aなどのように置き換えたいのですが、
どのようにprivate.xmlに書き込めばよろしいのでしょうか?
というのも、Razer Naga2014というマウスを使っているのですが、それの横のボタン群がデフォルトだと0〜9と-と=が割り当ててありまして(任意のキーに変更は可能なのですが、どうも不安定なのでできれば変更したくないです)、2つのボタンの同時押しにショートカットを割り当てたいのです。

もう一つ
任意のキー(例えば3)を押しながらマウスクリック(左)をしたときに、同様にCommand+Aなどのように置き換えたいのですが、
どのように記述すればよろしいでしょうか?
これも、マウスの横ボタンを押しながらクリックしたときに、何らかのショートカットになるようにしたいからです。

よろしくお願いいたします。

Takayama Fumihiko

unread,
Apr 26, 2016, 2:51:48 AM4/26/16
to king...@gmail.com, osx-kara...@googlegroups.com
高山です。こんにちは。

こちらのprivate.xmlをお使いください。

https://github.com/tekezo/Files/blob/master/Karabiner/private.razer_naga_hack/private.xml


まず、ボタンをモディファイアに変更し、
https://github.com/tekezo/Files/blob/master/Karabiner/private.razer_naga_hack/private.xml#L43-L53

モディファイアとボタンの組み合わせを適宜変更しています。
https://github.com/tekezo/Files/blob/master/Karabiner/private.razer_naga_hack/private.xml#L25-L34


--
Takayama Fumihiko <tek...@pqrs.org>
> --
> このメールは Google グループのグループ「Karabiner-ja」に登録しているユー
> ザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> osx-karabiner-...@googlegroups.com
> <mailto:osx-karabiner-...@googlegroups.com> にメールを送信し
> てください。
> このディスカッションをウェブ上で閲覧するには
> https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com
> <https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com?utm_medium=email&utm_source=footer>
> にアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセ
> スしてください。

tosh king

unread,
Apr 26, 2016, 8:12:16 AM4/26/16
to Karabiner-ja, king...@gmail.com
高山様

早速のご返信、ありがとうございます。
いただいたファイルで望み通りの動作がえられました。

ただし、マウスの横ボタン1つ押したのときの設定を書き込むと、一つのときの設定が優先されて同じボタンを使った複数のボタンを押した時の動作が無効になってしまいました。
また、ボタン1つのときの設定を<item>〜</item>の外に書き込んだ時、前に書き込むと1つのボタンのときだけが有効になり、後ろに書き込むと複数の時だけが有効になってしまいました。
ボタン1つのときと複数のときの両方が有効になるようにするには、どのように記述したらいいのでしょうか?

それと、同時押しのタイミングに対する判定がかなりシビアなようです。

よろしくお願いいたします。

2016年4月26日火曜日 15時51分48秒 UTC+9 Fumihiko Takayama:
> <mailto:osx-karabiner-ja+unsub...@googlegroups.com> にメールを送信し

Takayama Fumihiko

unread,
Apr 26, 2016, 10:16:47 AM4/26/16
to king...@gmail.com, osx-kara...@googlegroups.com
高山です。こんにちは。

Karabinerでは最初にマッチしたルールのみが適用されますので、
基本的にはモディファイアが多い順に記載していきます。
https://pqrs.org/osx/karabiner/xml.html.en#order


また、一つだけの設定を加える場合は

<autogen>__KeyToKey__ KeyCode::1, KeyCode::VK_MODIFIER_NAGA_1</autogen>

のかわりに、__KeyOverlaidModifier__を用いる必要があります。

<autogen>
__KeyOverlaidModifier__
KeyCode::1,
KeyCode::VK_MODIFIER_NAGA_1,
KeyCode::A, ModifierFlag::COMMAND_L,
</autogen>


> それと、同時押しのタイミングに対する判定がかなりシビアなようです。

厳密には同時押しではなくて、「ボタンを1つ押しながら他のボタンを押す」という
挙動にしています。他のボタンを押す前にボタンを離してしまうと
イベントが発火しませんので両方が押される状態になることを意識してみてください。

ちなみに__SimultaneousKeyPresses__で本当の同時押しを扱うことも可能なのですが、
同時押しは検出を行うためにある程度入力イベントを遅延させる必要があるので
ボタン操作にはあまり向いていません。
(そのため、__SimultaneousKeyPresses__ではなく、他の方法を紹介しました。)

--
Takayama Fumihiko <tek...@pqrs.org>
> Takayama Fumihiko <tek...@pqrs.org <javascript:>>
> > osx-karabiner-...@googlegroups.com <javascript:>
> > <mailto:osx-karabiner-...@googlegroups.com
> <javascript:>> にメールを送信し
> <https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/optout> にアクセ
> > スしてください。
>
> --
> このメールは Google グループのグループ「Karabiner-ja」に登録しているユー
> ザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> osx-karabiner-...@googlegroups.com
> <mailto:osx-karabiner-...@googlegroups.com> にメールを送信し
> てください。
> このディスカッションをウェブ上で閲覧するには
> https://groups.google.com/d/msgid/osx-karabiner-ja/9cd83ce5-45d2-43d6-9066-63f3f651c526%40googlegroups.com
> <https://groups.google.com/d/msgid/osx-karabiner-ja/9cd83ce5-45d2-43d6-9066-63f3f651c526%40googlegroups.com?utm_medium=email&utm_source=footer>

tosh king

unread,
Apr 26, 2016, 2:12:24 PM4/26/16
to Karabiner-ja, king...@gmail.com
高山様

大変有難うございました。
__KeyOverlaidModifier__で、完全に望み通りの挙動になりました。

>厳密には同時押しではなくて、「ボタンを1つ押しながら他のボタンを押す」
この方が使いやすいです。
気づかなかったので、無理に同時押ししようとしていたのでうまくいかなかったのでしょう。
おかげさまで、いろいろ捗りそうです。
ありがとうございました。


2016年4月26日火曜日 23時16分47秒 UTC+9 Fumihiko Takayama:
>     <javascript:>> にメールを送信し
>     > てください。
>     > このディスカッションをウェブ上で閲覧するには
>     >
>     https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com
>     <https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com>
>
>     >
>     <https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com?utm_medium=email&utm_source=footer
>     <https://groups.google.com/d/msgid/osx-karabiner-ja/7d64daa4-e017-4bd1-9f93-f55504ee1b6e%40googlegroups.com?utm_medium=email&utm_source=footer>>
>
>     > にアクセスしてください。
>     > その他のオプションについては https://groups.google.com/d/optout
>     <https://groups.google.com/d/optout> にアクセ
>     > スしてください。
>
> --
> このメールは Google グループのグループ「Karabiner-ja」に登録しているユー
> ザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> osx-karabiner-...@googlegroups.com
> <mailto:osx-karabiner-ja+unsub...@googlegroups.com> にメールを送信し
Reply all
Reply to author
Forward
0 new messages