0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Karabiner-Elementsで3連打にキーを割り当てる

Last updated at Posted at 2022-07-25

要約

 MacのキーボードカスタムソフトKarabiner-Elementsのto_delayed_action機能を用い、3連打へキー割り当てをした。

はじめに

 Karabiner-ElementsはMacの(超強力な)キーボードカスタムソフト[1]である。2連打へのキー割り当てはいくつも記事があるが、3連打へを割り当ての記事はない。しかし、3連打のへの割り当ても使い所があると考えたので、やってみた。

環境

MacOS: 12.4
Karabiner-Elements: 14.5.0

準備

キーリマップを行う手順

概略は以下。決められた書式でjsonファイルを作成し、所定の場所(/Users/isseishitakawa/.config/karabiner/assets/complex_modifications/)にそのjsonファイルを置き、Karabiner-ElementsのGUIでComplex Modification -> Add ruleで作成したファイルを選択する。使い方の詳細は、公式ダウンロードサイト[1]に貼られている公式のGitHub[7]、から更に貼られている公式使い方[8]を参照。

"to_delayed_action" 機能

 公式マニュアル[8]にもある遠り、2連打へ割り当てする時に使う。少し手を加えて3連打へ割り当てできるようにした。

3連打へのキー割り当て

 テンキーの4(keypad_4)を1回押すとa、2回押すとb、3回押すとcとなるようにした。
 2連打への割り当てのときはフラグを1つ用いるが、3連打へはフラグを2つ用いる。

キーイベント発火のタイミング微調整

 to_if_invokedが実行されるまでの時間はKarabiner-ElementsのGUI操作でComplex Modifications -> Parameters -> to_delayed_action_delay_millisecondsで指定できる[3][8]。デフォルトは500msecで、3連打の時はやや遅く感じる。150msecではやや早く感じる。

makeTriplehitkey.json
{
    "title": "THE_KEYPAD",
         "rules": [
           {
        "description": "MAKE_TRIPLE_HIT_KEY",
             "manipulators": [
{
  "type": "basic",
  "from": { "key_code": "keypad_4" },
  "to": [{ "key_code": "c" }, { "set_variable": { "name": "Fg_2_keypad_4", "value": 0 } }],
  "conditions": [{ "type": "variable_if", "name": "Fg_2_keypad_4", "value": 1 }]
},
{
  "type": "basic",
  "from": {"key_code": "keypad_4","modifiers": { "optional": [ "any" ] }},
  "to": [ { "set_variable": { "name": "Fg_2_keypad_4", "value": 1 } } ],
  "to_delayed_action": {
    "to_if_invoked": [{ "key_code": "b" }, { "set_variable": { "name": "Fg_2_keypad_4", "value": 0 } } ],
    "to_if_canceled": [ { "set_variable": { "name": "Fg_2_keypad_4", "value": 0 } } ] },
  "conditions": [ { "type": "variable_if", "name": "Fg_1_keypad_4", "value": 1 }]
},
{
  "type": "basic",
  "from": {"key_code": "keypad_4","modifiers": { "optional": [ "any" ] }},
  "to": [ { "set_variable": { "name": "Fg_1_keypad_4", "value": 1 } } ],
  "to_delayed_action": {
    "to_if_invoked": [{ "key_code": "a" }, { "set_variable": { "name": "Fg_1_keypad_4", "value": 0 } } ],
    "to_if_canceled": [ { "set_variable": { "name": "Fg_1_keypad_4", "value": 0 } } ] },
  "conditions": [ { "type": "variable_if", "name": "Fg_1_keypad_4", "value": 0 }]
}

            ]
        }
    ]
}

考察

3連打への割り当ての使い所。

テンキーの000キーの活用。

テンキーでよく見かける000キーは0キーを3連打したと認識される。したがって0キーと000キーとのそれぞれに割り当てることが出来ず、000キーの分だけ無駄になる。3連打へを割り当てを用いれば0キー3連打、すなわち000キーも活用できる。

51LATZ6YyML.AC_SL1000.jpg

(iBUFFALO テンキーボード Mac用 USB接続 スリム 独立キー シルバー BSTK08MSVアマゾンから引用[9])

cutkey

 cutkeyとはミサワホーム総合研究所の加藤善也らが開発した、テンキーサイズのキーボードで、片手でほぼ全てのキーを打てる。いわば20%キーボードである。少ないキーで多数のアルファベットキーを打てるようにするために、学習し易さを考慮してか、複数回打ちを採用している[10[11][12]。なお、cutkeyは複数回打ちだけでなく、自作キーボードでよく見る"レイヤーシステム" も使ってキーを稼いでいる。たとえばNCQとかかれたキーを1回打つとN、2連打でC、3連打でQとなる。

 cutkeyは現在入手困難である。自作キーボードで作ることもできるが手間がかかるのと、それ以上に金銭的に高い。であるので、手元にある安いテンキーでcutkeyを手軽に再現できるのは便利である。

なお、片手あるいは両手持ちでの使用を想定し、その場合は複数回打ちは非合理的と考えられ、レイヤーキー(on-shot-layer)を2つ用い、わずか24キーでほぼフルキーボードを再現する方法もある(cutkeyオマージュで'Re: CUT Key'と名づけておられている)[14]。

81500e6fc831463d.gif
(ASCII.jp[13])

参考

[1]閲覧日2022/07/25, Karabiner-Elements, https://karabiner-elements.pqrs.org/, https://karabiner-elements.pqrs.org

[2]閲覧日2022/07/25, Karabiner-Elementsを使ってキーの2連打に処理を割り当てる方法 - Qiita, https://qiita.com/s-show/items/c991327a5317c3e0cf4b

[3]閲覧日2022/07/25, 快適キーボード操作のためのキーカスタマイズ ~Mac編~ | さくらのナレッジ, https://knowledge.sakura.ad.jp/23355/#to_delayed_action

[4]閲覧日2022/07/25, 【USキーボード】Karabiner-Elementsで「英数/かな」の日本語切り替えを同一キー連打に設定する。, https://pycarnival.com/eisuukana/

[5]閲覧日2022/07/25, Shift キーを素早く二回押すことで Clipy を起動する - サポンテ 勉強ノート, https://saponote.hatenablog.com/entry/2020/02/17/222926

[6]閲覧日2022/07/25, Karabiner-Elements を使って Ctrl 2 回押しでターミナルを開く - gonzo, https://scrapbox.io/gonzoooooo/Karabiner-Elements_%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6_Ctrl_2_%E5%9B%9E%E6%8A%BC%E3%81%97%E3%81%A7%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F

[7]閲覧日2022/07/25, pqrs-org/Karabiner-Elements: Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later., https://github.com/pqrs-org/Karabiner-Elements

[8]閲覧日2022/07/25, Documentation | Karabiner-Elements, https://karabiner-elements.pqrs.org/docs/

[9]閲覧日2022/07/25, Amazon | iBUFFALO テンキーボード Mac用 USB接続 スリム 独立キー シルバー BSTK08MSV | バッファロー | 家電&カメラ, https://www.amazon.co.jp/iBUFFALO-%E3%83%86%E3%83%B3%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-Mac%E7%94%A8-USB%E6%8E%A5%E7%B6%9A-BSTK08MSV/dp/B0053EB6HO/ref=asc_df_B0053EB6HO/?tag=jpgo-22&linkCode=df0&hvadid=225431623414&hvpos=&hvnetw=g&hvrand=14281136794703670154&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009365&hvtargid=pla-441282628451&th=1

[10]閲覧日2022/07/25, ニュースリリース|ミサワホーム:MisawaOnLine-CONTENTS, https://www.misawa.co.jp/corporate/news_release/misawa/pop-up/release-pages/2000_07_12/001226.html

[11]閲覧日2022/07/25, テンキー型片手打鍵文字入力方式の実験と評価 | CiNii Research, https://cir.nii.ac.jp/crid/1572261552106343040

[12]閲覧日2022/07/25, ASCII.jp:TODAY'S NON-STOP NEWS vol.9, https://ascii.jp/elem/000/000/312/312864/

[13]:閲覧日2022/07/25, ASCII.jp:TODAY'S NON-STOP NEWS vol.9, https://ascii.jp/elem/000/000/312/312864/

[14]:2022/07/25, TTTキーボード研究室/「Re: CUT Key」=CUT Keyの応用, http://tokyotanuki.jp/keyboards/recutkey.htm

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?