Keyboard Quantizer Mini がvialおよび最新版Remapでのキーマップ書き換えに対応していました。
今度は、ちゃんとビルドできるように頑張ります
ちゃんとビルドできなかった時の記事
参考にしたサイト
私の環境
Windows 10 の WSL2 の上の ubuntu 22.04 です。書き込みは、Windows からコピーしました。
ビルド環境
venv の環境作成
今回は、venv でを使っています。そのため python3 や python3-pip、python3-venvをインストールし、以下のコマンドでqmk-venvを作成
$ python3 -m venv qmk-venv
...
qmk-venv 環境への切り替え
$ source qmk-venv/bin/activate
(qmk-venv) $
参考:qmk-venv 環境から抜けるときは、deactivate と打ちます
(qmk-venv) $ deactivate
$
qmk インストール
(qmk-venv) $ python3 -m pip install qmk
Keyboard Quantizer Mini ファームウェアのソースの取得
(qmk-venv) $ git clone https://github.com/sekigon-gonnoc/vial-qmk
qmk 環境のセットアップ
(qmk-venv) $ cd vial-qmk
(qmk-venv) $ qmk setup
...
Keyboard Quantizer Miniにあったビルド方法を実行!
(qmk-venv) $ make sekigon/keyboard_quantizer/mini:vial:uf2
エラーになった。エラーになりました。keymap.h
がないといわれてコンパイルエラーになりました
探したけどない
うーん、とりあえず想像で作成してみます
想像した keymap.h
がこれ↓
#pragma once
typedef union {
uint32_t raw;
struct {
uint8_t key_os_override : 4;
};
} user_config_t;
enum custom_keycodes {
KEY_OS_OVERRIDE_DISABLE = 0,
US_KEY_JP_OS_OVERRIDE_DISABLE,
JP_KEY_US_OS_OVERRIDE_DISABLE,
};
とりあえず再度makeしたら通りました。keymap.h
でよいのかは不明ですができた。
.build
の下にUF2のファイルができたので、それを Windows のエクスプローラでコピー
(qmk-venv) $ ls .build/sekigon_keyboard_quantizer_mini_vial.uf2
.build/sekigon_keyboard_quantizer_mini_vial.uf2
(qmk-venv) $ explorer.exe .
(qmk-venv) $
Keyboard Quantizer Miniのファームウェアの書き換え方法
Keyboard Quantizer Miniのファームウェアの書き換え方法は以下を参照してください
素直にビルド済みのファームウェアを入れるのか絶対よいです。
ビルド済みのファームウェアの場所
Picossci USBホストで実験
今回も、スイッチサイエンス Picossci USBホスト 用にLEDとDP部分を修正してmakeを実行
動いた!Picossci USBホストでも私が動かした感じででは動作しています。
Resetを押さないとうまくいかない。
持っていたキーボードとの相性が悪いみたいです。原因不明
最新のRemapでも認識されてキーマップの変更もできました。
OSでキーボードを日本語配列になっていても、USキーボードの表示通りに入力できる US_KEY_JP_OS_OVERRIDE_DISABLE が便利です。
Picossci USBホスト用にLEDとDPを修正した。↓が修正した箇所
diff --git a/keyboards/sekigon/keyboard_quantizer/mini/c1_usbh.c b/keyboards/sekigon/keyboard_quantizer/mini/c1_usbh.c
index fbbecfabf4..f57e45b21d 100644
--- a/keyboards/sekigon/keyboard_quantizer/mini/c1_usbh.c
+++ b/keyboards/sekigon/keyboard_quantizer/mini/c1_usbh.c
@@ -11,10 +11,14 @@
void alarm_pool_add_repeating_timer_us(void) {}
void alarm_pool_create(void) {}
+//#define PICO_PIN_DP 4 // Keyboard Quantizer Mini
+#define PICO_PIN_DP 0 // Picossci USB Host
+//#define PICO_PIN_DP 16 // Adafruit Feather RP2040 with USB Type A Host
+
// Initialize USB host stack on core1
void c1_usbh(void) {
pio_usb_configuration_t pio_cfg = PIO_USB_DEFAULT_CONFIG;
- pio_cfg.pin_dp = 4;
+ pio_cfg.pin_dp = PICO_PIN_DP;
pio_cfg.extra_error_retry_count = 10;
pio_cfg.skip_alarm_pool = true;
tuh_configure(1, TUH_CFGID_RPI_PIO_USB_CONFIGURATION, &pio_cfg);
diff --git a/keyboards/sekigon/keyboard_quantizer/mini/matrix.c b/keyboards/sekigon/keyboard_quantizer/mini/matrix.c
index 01c12461c8..fe1ce375b9 100644
--- a/keyboards/sekigon/keyboard_quantizer/mini/matrix.c
+++ b/keyboards/sekigon/keyboard_quantizer/mini/matrix.c
@@ -21,7 +21,9 @@ static uint8_t hid_instance;
static bool hid_disconnect_flag;
static uint8_t pre_keyreport[8];
#define LED_BLINK_TIME_MS 50
-#define KQ_PIN_LED 7
+//#define KQ_PIN_LED 7 // Keyboard Quantizer Mini
+#define KQ_PIN_LED 25 // Picossci USB Host
+//#define KQ_PIN_LED 13 // Adafruit Feather RP2040 with USB Type A Host
#define MATRIX_MSBTN_ROW 22
extern void busy_wait_us(uint64_t delay_us);
diff --git a/keyboards/sekigon/keyboard_quantizer/mini/mini.c b/keyboards/sekigon/keyboard_quantizer/mini/mini.c
index 4931f00b02..8a1eb4d446 100644
--- a/keyboards/sekigon/keyboard_quantizer/mini/mini.c
+++ b/keyboards/sekigon/keyboard_quantizer/mini/mini.c
@@ -7,8 +7,15 @@
#include "debug.h"
#include "c1.h"
+//#define PIN_5V_EN 18 // Adafruit Feather RP2040 with USB Type A Host
+
void keyboard_pre_init_kb(void) {
set_sys_clock_khz(120000, true);
+#ifdef PIN_5V_EN
+ gpio_init(PIN_5V_EN);
+ gpio_set_dir(PIN_5V_EN, GPIO_OUT);
+ gpio_put(PIN_5V_EN, 1);
+#endif
keyboard_pre_init_user();
}
さいごに
せきごんさん、ありがとうございます