QMK API を使ってキーボードのリストを取得する方法

前置き

自作キーボードのトラブルシューティングのための問診票テンプレートを作る時に、QMK Firmware リポジトリの keyboards ディレクトリにあるキーボードのリストを取得する方法を発見していました。

ネットを検索しても紹介されているページが見当たらないので、こちらで紹介します。

方法

https://api.qmk.fm/v1/keyboards にアクセスするとキーボードのリストが JSON 形式で返ってきますので、使用目的に合わせてテキスト処理をして使います。

 1// コード例
 2fetch('https://api.qmk.fm/v1/keyboards')
 3  .then(response => {
 4    if (!response.ok) {
 5      throw new Error('Response not success.');
 6    }
 7      return response.text();
 8    }) 
 9    .then(data => {
10      // `data` は CSV なので `split(',')` で配列に変換。
11      const keyboardList = data.split(',');
12      console.log(keyboardList);
13    })
14    .catch(error => console.error('There has been a problem with your fetch operation:', error));
15
16> ["["0_sixty"", ""10bleoledhub"", ""1upkeyboards/1up60hse"", ""1upkeyboards/1up60hte"", ...

コード例2

1curl https://api.qmk.fm/v1/keyboards | jq
2
3[
4  "0_sixty",
5  "0_sixty/underglow",
6  ...
7  "zvecr/zv48/f401",
8  "zvecr/zv48/f411"
9]

参考情報 qmk_api/docs/keyboard_api.md at master · qmk/qmk_api フェッチ API の使用 - Web API | MDN