2020年11月8日のブックマーク (1件)

  • QMK Firmware で Raise/Lower と変換/無変換を同じキーに割り当てる - Okapies' Archive

    自作キーボード向けのオープンソースファームウェアの QMK Firmware は、LT(layer, kc) という特殊なキーコードを用意している。これを使うと、通常のキーコード(A とか)とレイヤー切り替えキーを同じキーに同時に割り当てることができるので、例えば、レイヤー切替の LOWER キーと「無変換」を一つのキーに収容するといったことができる。 ところが、この LT キーを押してから離す操作を非常に素早く行うと、レイヤーの切り替えがうまく行われずに誤入力が発生する問題がある。これはキーマップ (keymaps) の設定ではどうにもならないが、代わりに keymap.c の process_record_user 関数に手を加えることで解決できる。 この方法はあぷろさんに教えて頂いたのだが、知見を共有する意味で記事として残しておくことにしたい。具体的な実装例は文の最後に掲載する。

    QMK Firmware で Raise/Lower と変換/無変換を同じキーに割り当てる - Okapies' Archive
    den8
    den8 2020/11/08
    これをやろうと調べているうちに https://docs.qmk.fm/#/tap_hold?id=tapping-term の #define PERMISSIVE_HOLD #define RETRO_TAPPING でできそうなことがわかった。