1
1

BLE MicroProをVial対応アップデートした(らハマった点)

Last updated at Posted at 2024-02-04

前提

  • BLE MicroProで Vial(Remap的なもの)とか、現行Remapを使えるようにしたい
  • BLE MicroProのオリジナルのファームウェアでいいけど、キー配置とマップは弄りたい程度のライトユース

概要

Remapで非登録キーボードをつかうと、キー配列のjsonファイルを毎回読み込ませる必要があり、面倒ですよね。Vialだとキー配置をキーボード内に持つので、その必要がないとのこと。
また、Remapの旧バージョンいつ公開やめるかわからないと書いてあるのでリスキーだなと思っていたところ、

の新ファームウェアが出ていたのでバージョンアップしてみました。用意する設定ファイルが今までと違うことに気づいて、準備する時にいくらか苦労したので、手順を記録します。公式にしっかりと書いてあるんですが、勘違いがあって、ハマりました。。。

ざっくり言うと、新しい仕組みでは、Web configurator に、新キャラの「config.bin」をアップロードして設定します。

先駆者を探したらこちらがあったので参考にさせていただきました。

準備するもの

  • 母艦(M1 MacBookAir@Sonoma14.3だと、BLE MicroProをマスストレージとしてマウントできないので注意>BLE Micro Pro のメモ
  • BLE MicroPro搭載のキーボード

なお、今回バージョンアップさせるのは、アルプス緑軸を使ったこういう自作キーボードです。将来的にバッテリー駆動&無線接続にしようと思ってBLE MicroProを搭載しています。1000002935.jpg

info.jsonを準備する

「info.json」を新作します。

  • 「diode_direction」は数字じゃなくて「COL2ROW」等の形式で記載する
  • 「features」は必要かわからないけど、それっぽく適当に記載

ハマったポイントは以下の二つ。

  • layoutの書式:
    -> KLEでぽちぽち作って、RAW DATAタブのものを一旦コピー。つぎに、それをQMK公式のConvert KLE raw to QMK info.jsonにペーストして「convert」。出来上がった「"layauts"」各項目にlabelの内容に従った「"matrix":[x, x]」を追加する。
    (KLEを開いて「Raw Data」タブの一番下にある、「Upload JSON」で以前作ったMatrixを読み込みできる)
  • matrix_pinsの書式:
    -> 番号(5とか13とか)ではなく名称(D1とかB5とか)で記載する。これをやらないと次の工程で怒られてconfig.binが生成できない
    BLEMicroProポート対応表rev.png

記載したものが以下。「info.json」として保管する。
matrixをきれいに並べてみたけど、KLEで出てきたそのまんまの順番でもいける気がします(未確認)

{
    "manufacturer": "kazu",
    "keyboard_name": "alps-small",
    "maintainer": "kazu",
    "diode_direction": "COL2ROW",
    "encoder": {
        "enabled": false
    },
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "encoder": false,
        "encoder_map": false,
        "extrakey": true,
        "mousekey": true,
        "nkro": true,
        "rgblight": false,
        "via": true
    },
    "matrix_pins": {
        "cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
        "rows": ["D1", "D0", "D4", "C6", "D7", "E6"]
    },
    "url": "",
    "usb": {
        "pid": "0x0005",
        "vid": "0x0005"
    },
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix":[0, 0], "label":"0,0", "x":0, "y":0}, 
                {"matrix":[0, 1], "label":"0,1", "x":1, "y":0}, 
                {"matrix":[0, 2], "label":"0,2", "x":2, "y":0}, 
                {"matrix":[0, 3], "label":"0,3", "x":3, "y":0}, 
                {"matrix":[0, 4], "label":"0,4", "x":4, "y":0}, 
                {"matrix":[0, 5], "label":"0,5", "x":5, "y":0}, 
                {"matrix":[0, 6], "label":"0,6", "x":6, "y":0}, 
                {"matrix":[0, 7], "label":"0,7", "x":7, "y":0}, 
                {"matrix":[0, 8], "label":"0,8", "x":8, "y":0}, 
                {"matrix":[0, 9], "label":"0,9", "x":9, "y":0}, 
                {"matrix":[1, 0], "label":"1,0", "x":0, "y":1, "w":1.5}, 
                {"matrix":[1, 1], "label":"1,1", "x":1.5, "y":1},
                {"matrix":[1, 2], "label":"1,2", "x":2.5, "y":1}, 
                {"matrix":[1, 3], "label":"1,3", "x":3.5, "y":1}, 
                {"matrix":[1, 4], "label":"1,4", "x":4.5, "y":1}, 
                {"matrix":[1, 5], "label":"1,5", "x":5.5, "y":1}, 
                {"matrix":[1, 6], "label":"1,6", "x":6.5, "y":1}, 
                {"matrix":[1, 7], "label":"1,7", "x":7.5, "y":1}, 
                {"matrix":[1, 8], "label":"1,8", "x":8.5, "y":1}, 
                {"matrix":[1, 9], "label":"1,9", "x":9.5, "y":1}, 
                {"matrix":[2, 0], "label":"2,0", "x":0, "y":2, "w":1.75}, 
                {"matrix":[2, 1], "label":"2,1", "x":1.75, "y":2}, 
                {"matrix":[2, 2], "label":"2,2", "x":2.75, "y":2}, 
                {"matrix":[2, 3], "label":"2,3", "x":3.75, "y":2}, 
                {"matrix":[2, 4], "label":"2,4", "x":4.75, "y":2}, 
                {"matrix":[2, 5], "label":"2,5", "x":5.75, "y":2}, 
                {"matrix":[2, 6], "label":"2,6", "x":6.75, "y":2}, 
                {"matrix":[2, 7], "label":"2,7", "x":7.75, "y":2}, 
                {"matrix":[2, 8], "label":"2,8", "x":8.75, "y":2},
                {"matrix":[2, 9], "label":"2,9", "x":9.75, "y":2}, 
                {"matrix":[3, 0], "label":"3,0", "x":0, "y":3, "w":2.25}, 
                {"matrix":[3, 1], "label":"3,1", "x":2.25, "y":3}, 
                {"matrix":[3, 2], "label":"3,2", "x":3.25, "y":3}, 
                {"matrix":[3, 3], "label":"3,3", "x":4.25, "y":3}, 
                {"matrix":[3, 4], "label":"3,4", "x":5.25, "y":3}, 
                {"matrix":[3, 5], "label":"3,5", "x":6.25, "y":3}, 
                {"matrix":[3, 6], "label":"3,6", "x":7.25, "y":3}, 
                {"matrix":[3, 7], "label":"3,7", "x":8.25, "y":3}, 
                {"matrix":[3, 8], "label":"3,8", "x":9.25, "y":3}, 
                {"matrix":[3, 9], "label":"3,9", "x":10.25, "y":3}, 
                {"matrix":[4, 1], "label":"4,1", "x":2.25, "y":4, "w":1.5}, 
                {"matrix":[4, 2], "label":"4,2", "x":3.75, "y":4, "w":1.5}, 
                {"matrix":[4, 3], "label":"4,3", "x":12.5, "y":1}, 
                {"matrix":[4, 4], "label":"4,4", "x":5.25, "y":4, "w":4}, 
                {"matrix":[4, 5], "label":"4,5", "x":11.5, "y":1},                 
                {"matrix":[4, 6], "label":"4,6", "x":11.75, "y":2}, 
                {"matrix":[4, 7], "label":"4,7", "x":12.75, "y":2, "w":2.25}, 
                {"matrix":[4, 8], "label":"4,8", "x":9.25, "y":4, "w":1.5},
                {"matrix":[4, 9], "label":"4,9", "x":10.75, "y":4, "w":1.5},
                {"matrix":[5, 1], "label":"5,1", "x":13.5, "y":1, "w":1.5}, 
                {"matrix":[5, 2], "label":"5,2", "x":13, "y":0, "w":2}, 
                {"matrix":[5, 3], "label":"5,3", "x":12, "y":0}, 
                {"matrix":[5, 4], "label":"5,4", "x":11, "y":0}, 
                {"matrix":[5, 5], "label":"5,5", "x":10, "y":0}, 
                {"matrix":[5, 6], "label":"5,6", "x":10.5, "y":1}, 
                {"matrix":[5, 7], "label":"5,7", "x":10.75, "y":2}, 
                {"matrix":[5, 8], "label":"5,8", "x":11.25, "y":3}, 
                {"matrix":[5, 9], "label":"5,9", "x":12.25, "y":3, "w":2.75} 
            ]
        }
    }
}

config.binを生成

公式のこちらのサイトへinfo.jsonをコピペして、Generateボタンを押し下げます。すると、右側のvial.jsonとconfig.json欄が生成されます。config.json欄の下にある「Download config.bin」を押して、目的のものをダウンロードします。

設定書き込み(Web configuratorを使用する)

ブートローダ、アプリケーションの順にアップデート。
M1 MacではマスストレージをマウントできないのでDisable Mass Strage Classは潔くチェックした方が精神安定上良いと思います。。。

bootloader.png

application.png

最後に「キーボードごとの設定を書き込む」から、プルダウンで「Upload Your Own」を選んで「Update」を押し、先ほど作成した「config.bin」を選択します。

キーマップの復元

私はRemapにアクセスして設定しました。Remapで設定すると、Vialを開いても同じキーマップが再現されていました。
vial.png

1
1
1

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
1
1