⛓️
Karabiner を使って Excel で ESCキー3連打でA1セルに移動する。
Karabiner-Elements でどんなことができるか勉強のため試しに書いてみました。
-
conditions.type
にfrontmost_application_if
を指定してExcelのみ指定。 - 3連打は
escape_pressed_1st
とescape_pressed_2nd
でフラグ管理。 - Ctrl+g でジャンプの小窓を表示 → Tab で入力欄移動 → "A1"と入力 → Enter というキー入力の流れを3回目押したときのESCの
to
の処理に書いたら動きました。 - 小窓の表示を待つため
hold_down_milliseconds
でちょっと処理を待たせています。(という動きになっているか少し自信ない)
{
"description": "Excel: 3 times ESC repeated to jump A1",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.microsoft\\.Excel"
],
"type": "frontmost_application_if"
},
{
"name": "escape_pressed_2nd",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "escape"
},
"to": [
{
"key_code": "g",
"modifiers": [
"control"
]
},
{
"hold_down_milliseconds": 200,
"key_code": "left_control"
},
{
"key_code": "tab"
},
{
"key_code": "a",
"modifiers": [
"shift"
]
},
{
"key_code": "1"
},
{
"key_code": "return_or_enter"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "escape_pressed_1st",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "escape"
},
"to": [
{
"set_variable": {
"name": "escape_pressed_2nd",
"value": 1
}
},
{
"key_code": "escape"
}
],
"to_delayed_action": {
"to_if_canceled": [
{
"set_variable": {
"name": "escape_pressed_2nd",
"value": 0
}
}
],
"to_if_invoked": [
{
"set_variable": {
"name": "escape_pressed_2nd",
"value": 0
}
}
]
},
"type": "basic"
},
{
"conditions": [
{
"name": "escape_pressed_1st",
"type": "variable_if",
"value": 0
}
],
"from": {
"key_code": "escape"
},
"to": [
{
"set_variable": {
"name": "escape_pressed_1st",
"value": 1
}
},
{
"key_code": "escape"
}
],
"to_delayed_action": {
"to_if_canceled": [
{
"set_variable": {
"name": "escape_pressed_1st",
"value": 0
}
}
],
"to_if_invoked": [
{
"set_variable": {
"name": "escape_pressed_1st",
"value": 0
}
}
]
},
"type": "basic"
}
]
}
Discussion