Karabiner/キーを素早く2度押しする

Karabiner/キーを素早く2度押しする

同一キーを素早く2度押し(連打、ダブルプレス、ダブルタップ)した場合にどういう挙動をするかを設定する

追記

やってみてわかったが、このダブルプレス設定は通常のキーには現実的には設定できない。 「a」に一度押しなら「a」二度押しなら「b」という挙動を割り当てると、

意図としては、そうなのだが、実際にはキーは「aab」と送出される。

つまりこのダブルプレス設定は1回押しの入力をブロックしないのである。なので事実上この設定は単独押しでは動作しないキーにしか割り当てることができない。

V を2度押しで一行選択(thumbsence用)

ver 10.14.0

2度押しの挙動を設定するには DoublePressModifier を使う。1つ目のパラメータで2度押しする対象のキーを決める。 次のパラメータで2度ではなく1度だけ押した場合の挙動を決定する。今回は何も発動してほしくないので無しを設定。

最後に2度押しした場合の挙動を設定する。今回は行頭に行ってからシフト押しで行末移動で1行選択にしている。

<autogen>
    --DoublePressModifier--
    KeyCode::V,
 
    @begin
    KeyCode::VK_NONE
    @end
 
    @begin
    KeyCode::CURSOR_LEFT,  ModifierFlag::COMMAND_L,
    KeyCode::CURSOR_RIGHT,  ModifierFlag::COMMAND_L, ModifierFlag::SHIFT_L
    @end
</autogen>

Shift L 二度押しでIMEトグル

ポイントは1回押しは普通に Shift に設定するところである。

<autogen>--DoublePressModifier-- KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::VK_JIS_TOGGLE_EISUU_KANA</autogen>

二度押しカスタムの注意点

キートップの表記通りの本来のキーはそのままに、二度押しで別のキーというカスタムをする場合は↑のような設定でOK。 しかし、本来のキーを別のキーに割り当てた上でそれにさらに二度押しカスタムを入れる場合は注意が必要。

まずこの Karabiner というツールは再帰的にキーを割り当てない。 どういうことかというと、space キーを A に割当て A を B に割り当てても space は B にはならんということ。

それを踏まえると、「本来のキーを別のキーに割り当てた上でそれにさらに二度押しカスタムを入れる」ということ自体が設定として変だということになる。 二度押しの設定だけでその両方が兼ねられるということになる。

keyboard/tool/karabiner/double_press.txt · 最終更新: 2021-11-09 11:01 by ore