zmk に統一できた、キーボードは二種類。Kinesis と ferris/sweep を設定します。

Kinesis Advantage 360

大枚はたいて kinesis 社の Advantage360 Pro というキーボードを買った。 どうせここまで来たなら、もうやけになって、新しいキーボードレイアウトも習得してしまおうと思う。(colemak DHにした。)

いろいろ変更する手順はあるんだけど、キーボード側でキーの挙動を定義する事が出来るので、ここでその手順を記録しておく。

ファームウェアの更新

web 経由で変更するなり、手打でかえるなり、コミットされると、actions が働いて、新しいファームウェアをコンパイルしてくれる。それをダウンロードする。

コンピュータとキーボードを接続して、リセットボタンをおすと、マウントされので、左右対応する方のファームウェアをドラッグドロップ。

Keymap.config

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/rgb.h>
#include <dt-bindings/zmk/backlight.h>

/ {
    behaviors {
      #include "macros.dtsi"
      #include "version.dtsi"
      #ifndef VERSION_MACRO
      macro_ver: macro_ver {
        compatible = "zmk,behavior-macro";
        label = "macro_version";
        #binding-cells = <0>;
        bindings = <&kp RET>;
      };
      #endif

      hm: homerow_mods {
          compatible = "zmk,behavior-hold-tap";
          label = "HOMEROW_MODS";
          #binding-cells = <2>;
          tapping-term-ms = <200>;
          quick_tap_ms = <175>;
          flavor = "tap-preferred";
          bindings = <&kp>, <&kp>;
      };

      hd: hold {
          compatible = "zmk,behavior-hold-tap";
          label = "HOLD";
          #binding-cells = <2>;
          tapping-term-ms = <150>;
          quick_tap_ms = <0>;
          flavor = "tap-preferred";
          bindings = <&kp>, <&kp>;
      };

    };

  keymap {
    compatible = "zmk,keymap";

    default_layer {
      bindings = <
        &kp ESC   &kp N1    &kp N2      &kp N3      &kp N4      &kp N5     &none                                                              &none &kp N6     &kp N7       &kp N8     &kp N9      &kp N0     &kp MINUS
        &kp GRAVE &hd ESC Q &kp W       &kp E       &kp R       &kp T      &none                                                              &none &kp Y      &kp U        &kp I      &hd LBKT O  &hd RBKT P &kp EQUAL
        &kp TAB   &kp A     &hm LCTRL S &hm LALT D  &hm LSHFT F &hm LGUI G &none                  &none &none &none &none                     &none &hm RGUI H &hm RSHFT J  &hm RALT K &hm RCTRL L &kp SEMI   &kp SQT
        &to 2     &kp Z     &kp X       &kp C       &kp V       &kp B                                   &none &none                                 &kp N      &kp M        &kp COMMA  &kp DOT     &kp FSLH   &kp BSLH
        &none     &none     &none       &none       &none                           &kp SPACE &kp ENTER &none &none &to 1 &kp BSPC                  &none      &none        &none      &none       &none
      >;
    };
    fn {
      bindings = <
        &trans &kp F1 &kp F2 &kp F3    &kp F4 &kp F5 &trans                                                           &trans &kp F6   &kp F7    &kp F8 &kp F9    &kp F10 &kp F11
        &trans &trans &trans &trans    &trans &trans &trans                                                           &trans &trans   &kp PG_UP &trans &trans    &trans  &kp F12
        &trans &trans &trans &kp PG_DN &trans &trans &trans           &trans &trans &trans &trans                     &trans &kp LEFT &kp DOWN  &kp UP &kp RIGHT &trans  &kp F13
        &trans &trans &trans &trans    &trans &trans                         &trans &trans                                   &trans   &trans    &trans &trans    &trans  &trans
        &trans &trans &trans &trans    &trans                   &to 0 &trans &trans &trans &trans &trans                              &trans    &trans &trans    &trans  &trans
      >;
    };
    bluetooth {
      bindings = <
        &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 3 &trans &trans &trans                                           &trans &trans     &trans &trans &trans     &trans &bt BT_CLR_ALL
        &trans &trans       &trans       &trans       &trans &trans &trans                                           &trans &trans     &trans &trans &trans     &trans &trans
        &trans &trans       &trans       &trans       &trans &trans &trans        &trans &trans &trans &trans        &trans &bt BT_PRV &trans &trans &bt BT_NXT &trans &trans
        &trans &trans       &trans       &trans       &trans &trans                      &trans &trans                      &trans     &trans &trans &trans     &trans &trans
        &trans &trans       &trans       &trans       &trans                &to 0 &trans &trans &trans &trans &trans                   &trans &trans &trans     &trans &trans
      >;
    };
  };
};

トランス テンプレート

mod {
      bindings = <
        &trans &trans &trans &trans &trans &trans &trans                                           &trans &trans &trans &trans &trans &trans &trans
        &trans &trans &trans &trans &trans &trans &trans                                           &trans &trans &trans &trans &trans &trans &trans
        &trans &trans &trans &trans &trans &trans &trans        &trans &trans &trans &trans        &trans &trans &trans &trans &trans &trans &trans
        &trans &trans &trans &trans &trans &trans                      &trans &trans                      &trans &trans &trans &trans &trans &trans
        &trans &trans &trans &trans &trans               &trans &trans &trans &trans &trans &trans               &trans &trans &trans &trans &trans
      >;
    };

変更履歴

<2024-09-07 Sat>

  • voyager 導入につき、34key から卒業する

<2023-01-27 Fri>

  • esc がレイヤー 2 にしかなかったのが、つらいので、いくつかためしてみてる。
  • sticky shift あんまりつかってないから、そこも esc にしてみた。
  • グラフィックソフトを使う時にどうしても space と enter が、左手にあったほうが良いから、試す。

<2023-01-28 Sat>

  • 34 key に挑戦

<2023-04-01 Sat>

  • 元 repo いつのまにかキーが増えていた。
  • vim の操作感が恋しくて、qwerty になおす。

<2023-08-29 Tue> (未適応)

  • BTC (bluetooth の設定をクリア)をなくす、ふとした反動で押しやすいので
  • qmk と音の制御キーを統一

<2023-11-29 Wed>

  • BTC (bluetooth の設定をクリア)復活
  • qmk と音の制御キーを統一

<2024-01-18 Thu>

  • bluetooth の切り替え機能をやめる
  • function layer は Numbers & Arrows の最中でかつ親指を押している間だけにした。

Date: 2022-11-10 Thu 10:21