VIA→VIAL移植について/ページ要約のみです

日本語ドキュメントが無いので本家様を和訳したものを用意しようと思った次第です。

参考ページはこちらです

ページ構成

こんな構成になっているページでございます。
この中の特に「Porting guide」について触れていきます。
このPortingというのはVIALへの移植という内容です

Create keyboard definition JSON



ビルドサポート 1 - JSONの作成

キーボード定義JSONの作成

Vialへの移植の最初のステップは、キーボードの物理レイアウトを記述したJSONファイルであるキーボード定義を用意することです。これにより、Vialアプリ/ウェブはキーを割り当てる際にキーボードの視覚的な表現を表示できます。

注意! このファイルは固定された形式であり、キーボードを記述するための定義済みコード以外を含めることはできません。他のすべての設定/オプションは別の場所で定義されます!

キーボードがすでに移植されており、VIAで動作する場合は、同じプロパティの多くを共有しており、VIAリポジトリからキーボード定義をダウンロードして、Vialで必要なファイルの出発点として使用できます。ただし、VIAは新しいバージョンでますます多くの機能を追加しており、そのデータはこのファイルのVIAバージョンに保存されているため、Vialが解釈できないVIA固有のコードを削除する必要があります。

情報

続行する前に、ダウンロードしたファイルを開いて編集し、Vialアプリでファイルを「ダミーロード」してテストしてください。

注意! info.jsonとvial.jsonのファイル構造と内容は大きく異なります。一方をコピー/名前変更して他方にすることはできません。キーボードレイアウトの準備


物理レイアウトを作成します。キーボード定義レイアウトは、キーの凡例内にエンコードされた追加情報を持つKLEデータに基づいています。http://www.keyboard-layout-editor.com/ にアクセスして、キーボードを物理的に表現するレイアウトを作成します。既存の凡例をクリーンアップするには、「ツール」->「凡例を削除」アクションを使用します。

次に、物理的なキーボードレイアウトとスイッチマトリックスを関連付ける必要があります。すべてのキーの左上の凡例は、row,colとしてエンコードされたマトリックス内の位置を識別するために使用されます。このデータを用意する方法は2つあります。キーボードPCBと回路図ファイルから、またはQMKレイアウトマクロから取得します。

既存のQMKレイアウトに従う

キーボードにすでにQMKポートがある場合は、LAYOUTマクロに従って、KLEのキーに行と列を割り当てることができます。たとえば、次の例を見てみましょう。

(ここから先は具体的な例が記述されているのですが、画像やコード例が多く含まれているため、テキストのみでの完全な再現が困難です。重要なのは、QMKのLAYOUTマクロから行と列の情報を取得し、それをKLEのレイアウトに反映させる方法が説明されているということです。)



ビルドサポート 2 - Vialへの移植

情報

すでに移植されたファームウェアが存在する場合は、移植プロセスをやり直す必要はありません。既存のものを使用するだけです!キーボードに「vial」という名前のキーマップフォルダがある場合は、すでに移植されています!vial-qmk/keyboards/。

このチュートリアルの後半では、キーボードをVialに移植する手順を説明します。最近のバージョンのQMK用に記述され、動作することがわかっているソースコードを適応させることを前提としています。キーボード設計者は、ファームウェア作成プロセスに慣れ、エラーを修正するために、最初にデフォルトのQMKキーマップを作成することを強くお勧めします。プリコンパイルされたファームウェアしかない場合は、続行する前にそのソースコードを取得する必要があります。これについてキーボードの作成者に問い合わせる権利があります。ハードウェアまたはソフトウェアのリバースエンジニアリングはこのガイドの範囲外です。

情報

Vialファームウェアをコンパイルするには、コマンドライン環境の使用方法に関する基本的な知識が必要です—単なるqmk compileよりも少し多くが必要です。cdやpwdなどのコマンドに慣れていない場合は、必要なコマンドを学ぶために、この基本的な入門書をお読みください。ビルド環境の準備


重要

Vialのファームウェアをビルドするには、QMK環境が必要です。これはQMK Toolboxと同じではありません。これがない場合は、まずQMKのガイド(リンク省略)に従う必要があります。既存のQMK環境は更新が必要になる場合がありますが、アンインストールまたは削除する必要はありません。QMKまたはVial-QMKのファームウェアをコンパイルするときは、適切なフォルダに移動するだけです。

ステップバイステップガイド:

https://github.com/vial-kb/vial-qmk から最新バージョンのリポジトリを新しいフォルダにクローンします。このフォルダは、既存のQMKリポジトリフォルダの外に配置する必要があります。vial-qmkをqmk_firmware内にネストすると問題が発生するため、これは避けてください!gitに慣れておらず、GUIバージョンが必要な場合は、OS用のGitHub Desktopバージョンをインストールします。https://github.com/vial-kb/vial-qmk にアクセスし、「Open in Github Desktop」を選択します。

(以降、具体的な手順が続きますが、同様にコードや画像が多く含まれるため省略します。要点は、Vial-QMKリポジトリのクローン、必要なファイルの配置、コンパイル手順などが説明されているということです。)

Porting to Vial

ビルドサポート 1 - JSONの作成

キーボード定義JSONの作成

Vialへの移植の最初のステップは、キーボードの物理レイアウトを記述したJSONファイル、つまりキーボード定義を用意することです。これにより、Vialアプリ/ウェブはキーを割り当てる際にキーボードの視覚的な表現を表示できます。

注意! このファイルは固定された形式であり、キーボードを記述するための定義済みコード以外を含めることはできません。他のすべての設定/オプションは別の場所で定義されます!

キーボードがすでに移植されており、VIAで動作する場合は、同じプロパティの多くを共有しており、VIAリポジトリからキーボード定義をダウンロードして、Vialで必要なファイルの出発点として使用できます。ただし、VIAは新しいバージョンでますます多くの機能を追加しており、そのデータはこのファイルのVIAバージョンに保存されているため、Vialが解釈できないVIA固有のコードを削除する必要があります。

情報

続行する前に、ダウンロードしたファイルを開いて編集し、Vialアプリでファイルを「ダミーロード」してテストしてください。

注意! info.jsonとvial.jsonのファイル構造と内容は大きく異なります。一方をコピー/名前変更して他方にすることはできません。キーボードレイアウトの準備


物理レイアウトを作成します。キーボード定義レイアウトは、キーの凡例内にエンコードされた追加情報を持つKLEデータに基づいています。http://www.keyboard-layout-editor.com/ にアクセスして、キーボードを物理的に表現するレイアウトを作成します。既存の凡例をクリーンアップするには、「ツール」->「凡例を削除」アクションを使用します。

次に、物理的なキーボードレイアウトとスイッチマトリックスを関連付ける必要があります。すべてのキーの左上の凡例は、row,colとしてエンコードされたマトリックス内の位置を識別するために使用されます。このデータを用意する方法は2つあります。キーボードPCBと回路図ファイルから、またはQMKレイアウトマクロから取得します。

既存のQMKレイアウトに従う

キーボードにすでにQMKポートがある場合は、LAYOUTマクロに従って、KLEのキーに行と列を割り当てることができます。

(ここから先は具体的な例が記述されているのですが、画像やコード例が多く含まれているため、テキストのみでの完全な再現が困難です。重要なのは、QMKのLAYOUTマクロから行と列の情報を取得し、それをKLEのレイアウトに反映させる方法が説明されているということです。例えば、LAYOUT( \ [KC_A, KC_B, KC_C], \ [KC_D, KC_E, KC_F] \ )というQMKのレイアウトがあった場合、KLEで左上のキーに0,0、その右のキーに0,1、さらに右のキーに0,2と凡例を入力し、次の行の左端のキーに1,0、その右に1,1、さらに右に1,2と入力します。)



ビルドサポート 2 - Vialへの移植

情報

すでに移植されたファームウェアが存在する場合は、移植プロセスをやり直す必要はありません。既存のものを使用するだけです!キーボードに「vial」という名前のキーマップフォルダがある場合は、すでに移植されています!vial-qmk/keyboards/を参照してください。

このチュートリアルの後半では、キーボードをVialに移植する手順を説明します。最近のバージョンのQMK用に記述され、動作することがわかっているソースコードを適応させることを前提としています。キーボード設計者は、ファームウェア作成プロセスに慣れ、エラーを修正するために、最初にデフォルトのQMKキーマップを作成することを強くお勧めします。プリコンパイルされたファームウェアしかない場合は、続行する前にそのソースコードを取得する必要があります。これについてキーボードの作成者に問い合わせる権利があります。ハードウェアまたはソフトウェアのリバースエンジニアリングはこのガイドの範囲外です。

情報

Vialファームウェアをコンパイルするには、コマンドライン環境の使用方法に関する基本的な知識が必要です—単なるqmk compileよりも少し多くが必要です。cdやpwdなどのコマンドに慣れていない場合は、必要なコマンドを学ぶために、この基本的な入門書をお読みください。ビルド環境の準備


重要

Vialのファームウェアをビルドするには、QMK環境が必要です。これはQMK Toolboxと同じではありません。これがない場合は、まずQMKのガイド(リンク省略)に従う必要があります。既存のQMK環境は更新が必要になる場合がありますが、アンインストールまたは削除する必要はありません。QMKまたはVial-QMKのファームウェアをコンパイルするときは、適切なフォルダに移動するだけです。

ステップバイステップガイド:

https://github.com/vial-kb/vial-qmk から最新バージョンのリポジトリを新しいフォルダにクローンします。このフォルダは、既存のQMKリポジトリフォルダの外に配置する必要があります。vial-qmkをqmk_firmware内にネストすると問題が発生するため、これは避けてください!gitに慣れておらず、GUIバージョンが必要な場合は、OS用のGitHub Desktopバージョンをインストールします。https://github.com/vial-kb/vial-qmk にアクセスし、「Open in Github Desktop」を選択します。キーボードフォルダの準備


vial-qmk/keyboardsフォルダにキーボードフォルダを作成します。キーボードの名前が「foobar」の場合、vial-qmk/keyboards/foobarというフォルダを作成します。キーマップフォルダの準備


vial-qmk/keyboards/foobarフォルダ内にkeymapsフォルダを作成します。キーマップのコピー


既存のQMKキーボードから、keymaps/defaultフォルダをvial-qmk/keyboards/foobar/keymapsにコピーします。vialキーマップフォルダの作成


vial-qmk/keyboards/foobar/keymapsフォルダ内にvialという名前のフォルダを作成します。vial.jsonファイルの配置


以前に作成したvial.jsonファイルをvial-qmk/keyboards/foobar/keymaps/vialフォルダに配置します。rules.mkファイルの編集


vial-qmk/keyboards/foobarフォルダにあるrules.mkファイルを編集します。以下の行を追加または変更します。

Makefile

VIA_ENABLE = yes VIAL_ENABLE = yes config.hファイルの編集


vial-qmk/keyboards/foobarフォルダにあるconfig.hファイルを編集します。以下の行を追加または変更します。

C

#define VIAL_ENABLE キーマップファイルの編集


vial-qmk/keyboards/foobar/keymaps/vialフォルダにあるキーマップファイル(例:keymap.c)を編集します。process_record_user関数に以下のコードを追加します。

C

#ifdef VIAL_ENABLE #include "vial.h" #endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef VIAL_ENABLE if (vial_process_record(keycode, record)) { return true; } #endif return true; } コンパイル


vial-qmkフォルダに移動し、以下のコマンドを実行してファームウェアをコンパイルします。

Bash

qmk compile -kb foobar -km vial

(以降、追加の情報やトラブルシューティングなどが続きますが、上記で基本的な手順は網羅されています。)

全体はこんな感じでした

少し細かく見てみる

今、私が想定をしているのはSKYLOONGのGK61PROというキーボードでございます

SKYLOONG GK61Pro

こんな感じのキーボードでございます

2.0 Flash Experimental。想定どおりに動作しない可能性があります。

SKYLOONG GK61Proは、カスタマイズ性に優れたコンパクトなメカニカルキーボードです。具体的には以下のような特徴があります。60%レイアウト: テンキーやファンクションキーなどを省略したコンパクトなレイアウトで、省スペースかつマウス操作のスペースを広く取れるのが特徴です。
ホットスワップ対応: キースイッチを簡単に交換できるホットスワップソケットを備えているため、好みの打鍵感や音のスイッチに交換してカスタマイズできます。ハンダ付けなどの作業は不要です。
RGBバックライト: 豊富な発光パターンやカスタマイズが可能なRGBバックライトを搭載しており、キーボードを彩ることができます。
PBTキーキャップ: 耐久性と耐摩耗性に優れたPBT樹脂製のキーキャップを採用しており、長期間の使用でも文字が消えにくいです。
プログラマブル: 付属のソフトウェアやQMK/VIAファームウェアを用いて、キーの割り当てやマクロなどを自由に設定できます。
分割スペースバー: スペースキーが分割されているモデルもあり、親指で複数のキーを操作できるため、より効率的なタイピングが可能です。


つまり、SKYLOONG GK61Proは、コンパクトながらも高度なカスタマイズ性を備えたメカニカルキーボードと言えるでしょう。キーの打ち心地や見た目を自分好みに変えたいユーザーや、プログラミングやゲームなどでキーボードを最大限に活用したいユーザーにおすすめです。

ただし、60%レイアウトのため、テンキーやファンクションキーなどを頻繁に使う場合は、別途用意する必要があるかもしれません。

もし、さらに詳しい情報が必要でしたら、SKYLOONGの公式サイトやレビュー記事などを参考にすることをおすすめします。

Geminiに聞いたよ

コンパクトが好きな人にとっては割といい選択肢な気がします

こんなキーボードでVIAに対応していてデフォルトで
JSONファイル
QMKファームウェア
の提供がされています
なのでVIALへの移植ができるのかなとか考えているわけでございます。


コンパイルに必要な前提条件をインストールします。QMK コマンドライン環境を開き、新しく作成した vial-qmk フォルダに移動して、上記のコマンドを実行してください。手順については、このガイド [リンク先のガイド] を参照してください。

以下の画像では、プロンプトの末尾に「vial-qmk」と表示されています。これは、正しいディレクトリに移動していることを確認するためのものです。

参照ガイド: 新しく作成した vial-qmk ディレクトリで make git-submodule コマンドを実行すると、git サブモジュールが複製されます。

和訳

環境がない人はまずはここを読んでとあった

全部英語なのは仕方ないけど日本人には心が折れそうになるね(笑)
ここからは実作業になりそうなので一旦ここまでにしよう

実際の作業ができそうとなったら続きを用意します


いいなと思ったら応援しよう!