HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2022/03/13

市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる 市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる

(QMK firmware QMK USB to USB keyboard protocol converter Pro Micro 3.3V + USB Host MAX3421E)

Tags: [電子工作], [QMK]




● QMK firmwareの関連記事


2021/08/23
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法

  ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築

2022/01/09
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法

  BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA

2021/08/11
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応

  キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入


● 2023年、QMK USB Converterの製作が RP2040を使う事で劇的に簡単になりました

2023/08/12
【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】
【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】

  夏休みが明けたら 僕のキーボードが最強になって クラスのみんなから MMK 大作戦


●市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる

 QMK firmware QMK USB to USB keyboard protocol converter Pro Micro 3.3V + USB Host MAX3421E

 USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる。

 注意:USB Host Shield MAX3421Eは Pro Micro 16MHz +5V版では使えません(+5V to +3.3Vのレベル変換が必要になる)

● Amazonで部品を調達
今回購入(同等品)


SparkFun Pro Micro 3.3V/8MHz DEV-12587
ASIN: B08KW46VXG
今回購入


GAOHOU ミニUSBホストシールド2.0 ADK SLR開発ツール互換SPIインターフェイス
ASIN: B074HTPK13


HiLetgo USBホストシールド2.0 ADK USBホストシールドミニUSBホストシールド一眼レフ開発ツール GoogleアンドロイドADK Arduino UNO MEGA2560ディエシミラ/デュエミラノーブ
ASIN: B093BZM54C

Hailege 5個セット TXS0108E高速全二重8ウェイ8チャネルレベル変換モジュール8ビット8 CHロジックレベル双方向コンバーターモジュール
ASIN: B08R5WFJTH

 MAX3421Eは +5Vトレラントではないので Pro Micro 8MHz 3.3V版が必要です。
MAX3421E SPIインタフェース付き、USBペリフェラル/ホストコントローラ - Maxim Integrated

 USB Host Shield MAX3421E基板は互換品を購入しました。
 HW-244 USB Host Shield UHS mini 2.0

 USB Host Shield MAX3421E基板ではパターンカットが 1箇所必要で、USBコネクタの 2K2のシルク印刷のパターンをカットします。

 USB Host Shield基板の +5Vに Pro Micro基板の RAWを配線します。
 USB Host Shield基板の RESETに Pro Micro基板の RESETを配線します。
 (USB Host Shield基板の RESETに Pro Micro基板の +3.3Vを配線する例も有りますが、今回は RESETにしました)

・USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 USB Host Shield MAX3421E基板でお決まりの USB +5Vのパターンカット(オレンジ色の部分)。
 +5Vと RESETはワイヤでの配線を行ないます。
 Pro Micro基板との連結は上記の赤ドットのピンにだけ行ないます。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 USB Host Shield MAX3421E基板側は上記の信号線と、別途 +5Vと RESETの配線が必要です。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 Pro Micro基板側は上記の信号線を使用します。
 +5Vと RESETはワイヤでの配線を行ないます。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 USBコネクタの半田付けが物凄く汚いです。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 2016年のロットでも 2020年のロットでも USBコネクタの半田付けが物凄く汚いです。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる



USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる  こんな感じで完成します。

● QMK firmware USB to USB keyboard protocol converterを組み立てた

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 USB Host Shield MAX3421E基板でお決まりの USB +5Vのパターンカット。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 こんな感じでピンを立てて Pro Micro基板と連結をします。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 こんな感じでピンを立てて Pro Micro基板と連結をします。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 USB HOST基板側で +5Vと RESETの配線を行ないました。

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる



●ブザーと OLEDを付けました

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる
 A-B間に配線をする。
 NCは未接続。

 ブザー自身はコイル駆動で 10Ω。
 E=RIの式で I=E/R、3.3V/(10+120)Ω=25mA
 (AVR ATmega32U4の 1pinあたりの最大許容電流 40mAを超えない様にする)

 120Ω程度の抵抗を直列に入れる。

Atmel ATmega32U4 PDF
 29. Electrical Characteristics
 29.1 Absolute Maximum Ratings
 DC Current per I/O Pin ... 40.0mA

USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる


USB Host Shield MAX3421Eと Pro Micro 3.3V版を使って市販のキーボードを無改造で QMK化する QMK USB Converterを作ってみる



●最強の QMK USB Converter!!爆誕!!

 プログラムサイズを限界まで削減して QMK USB Converterで下記の機能を詰め込む事に成功しました。
 最強の QMK USB Converter!!爆誕!!

OLED SSD1306 128x32OLED Driver
AudioAudio Driver :id=audio-driver
VIA(2 Layer) #16458を適用VIA Configuring QMK
Dynamic MacrosDynamic Macros: Record and Replay Macros in Runtime
BootMagicBootmagic Lite :id=bootmagic-lite

・QMK USB Converter with VIA Layer
QMK USB Converter with VIA Layer



● Add multilayer VIA support to Hasu usb_usb #16458

 USB to USB keyboard protocol converterを VIA対応にするパッチ。
 暫くすれば QMK公式に取り込まれるかも。

Add multilayer VIA support to Hasu usb_usb #16458
 VIA_ENABLEで VIA機能を有効にする。

● VIA用 keymap.json定義ファイル #16458を適用版
{
   "name":"USB to USB keyboard protocol converter with #16458",
   "vendorId":"0x4853",
   "productId":"0x005B",
   "lighting":"none",
   "matrix":{
      "rows":9,
      "cols":16
   },
   "layouts":{
      "keymap":[
         [ {"x":2},"0,1","0,2","0,3","0,4", {"x":0.5},"0,5","0,6","0,7","0,8", {"x":0.5},"0,9","0,10","0,11","0,12" ],
         [ "0,0", {"x":1},"0,13","0,14","0,15","1,0", {"x":0.5},"1,1","1,2","1,3","1,4", {"x":0.5},"1,5","1,6","1,7","1,8", {"x":0.5},"1,9","1,10","1,11", {"x":1.5},"1,12","1,13","1,14", {"x":0.5},"1,15","2,0" ],
         [ {"y":0.5},"2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,10","2,11","2,12","2,13","2,14","2,15",  {"x":0.5},"3,0","3,1","3,2",  {"x":0.5},"3,3","3,4","3,5","3,6",  {"x":0.5},"3,7","3,8" ],
         [ {"w":1.5},"3,9","3,10","3,11","3,12","3,13","3,14","3,15","4,0","4,1","4,2","4,3","4,4","4,5", {"w":1.5},"4,6",  {"x":0.5},"4,7","4,8","4,9",  {"x":0.5},"4,10","4,11","4,12","4,13",  {"x":0.5},"4,14","4,15" ],
         [ "5,0","5,1","5,2","5,3","5,4","5,5","5,6","5,7","5,8","5,9","5,10","5,11",    "5,12", {"w":2},"5,13",                 {"x":4},"5,14","5,15","6,0","6,1", {"x":0.5},"6,2","6,3" ],
         [ {"w":1.5},"8,1","6,4","6,5","6,6","6,7","6,8","6,9","6,10","6,11","6,12","6,13","6,14",    "6,15",{"w":1.5},"8,5", {"x":1.5},"7,0",   {"x":1.5},"7,1","7,2","7,3","7,4",  {"x":0.5},"7,5","7,6" ],
         [ {"w":1.5},"8,0","8,3","8,2","7,7","7,8",    {"w":2},"7,9",    "7,10","7,11","7,12","8,6","8,7","7,13",{"w":1.5},"8,4",  {"x":0.5},"7,14","7,15","8,8",   {"x":0.5, "w":2},"8,9",    "8,10","8,11",  {"x":0.5},"8,12","8,13" ]
     ]
   }
}

● VIA用 keymap.json定義ファイル ノーマル版
{
   "name":"USB to USB keyboard protocol converter",
   "vendorId":"0xFEED",
   "productId":"0x005B",
   "lighting":"none",
   "matrix":{
      "rows":16,
      "cols":16
   },
   "layouts":{
      "keymap":[
         [       {"x":2},"6,8", "6,9", "6,10", "6,11", {"x":0.5},"6,12", "6,13", "6,14", "6,15", {"x":0.5},"7,0", "7,1", "7,2", "7,3" ],
         [ "2,9",{"x":1},"3,10", "3,11", "3,12", "3,13", {"x":0.5},"3,14", "3,15", "4,0", "4,1", {"x":0.5},"4,2", "4,3", "4,4", "4,5", {"x":0.5},"4,6", "4,7", "4,8", {"x":1.5},"8,1", "8,0", "7,15", {"x":0.5},"6,6","7,5" ],
    [ "3,5", "1,14", "1,15", "2,0", "2,1", "2,2", "2,3", "2,4", "2,5", "2,6", "2,7", "2,13", "2,14", "8,9", "2,10",  {"x":0.5},"4,9", "4,10", "4,11", {"x":0.5},"5,3", "5,4", "5,5", "5,6", {"x":0.5},"7,8", "7,9" ],
    [ {"w":2},"2,11", "1,4", "1,10", "0,8", "1,5", "1,7", "1,12", "1,8", "0,12", "1,2", "1,3", "2,15", "3,0", "3,1", {"x":0.5},"4,12", "4,13", "4,14", {"x":0.5},"5,15", "6,0", "6,1", "5,7", {"x":0.5},"7,6", "7,10" ],
    [ "3,9", "0,4", "1,6", "0,7", "0,9", "0,10", "0,11", "0,13", "0,14", "0,15", "3,3", "3,4", "3,2", {"w":2},"2,8",              {"x":4},         "5,12", "5,13", "5,14", "8,5", {"x":0.5},"7,7", "7,12" ],
    [ {"w":1.5},"14,1", "6,4", "1,13", "1,11", "0,6", "1,9", "0,5", "1,1", "1,0", "3,6", "3,7", "3,8", "8,7", {"w":1.5},"14,5",  {"x":1.5},"5,2", {"x":1.5},"5,9", "5,10", "5,11", "6,7", {"x":0.5},"7,4", "7,13" ],
    [ {"w":1.5},"14,0", "14,3", "14,2", "8,11", "9,1",    {"w":2},"2,12", "9,0", "8,10", "8,8", "14,6", "14,7", "6,5", {"w":1.5},"14,4", {"x":0.5},"5,0", "5,1", "4,15",{"x":0.5, "w":2},"6,2",      "6,3", "5,8", {"x":0.5},"7,14", "7,11" ]
      ]
   }
}


● QMKのハマりどころ NO_ACTION_TAPPINGを有効にするとレイヤー切り替えの MO(n)が使えなくなります

 NO_ACTION_TAPPINGを有効にするとレイヤー切り替えの MO(n)が使えなくなります。

NO_ACTION_TAPPING disables layers #5735

●自前で MO(n)を実装する方法 その1

 切り替え専用のキー定義を追加する。(例えば右側の Winキーに定義する)

 欠点:何かキーを潰す必要が有る。

enum my_keycodes {
  MO_LAYER1 = SAFE_RANGE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_BASE] = LAYOUT_via( ..., MO_LAYER1, ... )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {

...

    // Momentary layer switching MO(1)
    if (keycode == MO_LAYER1) {
        if (record->event.pressed) {
            layer_on(1);
        } else {
            layer_clear();
        }
    }

...

    return true;
}

●自前で MO(n)を実装する方法 その2(その1の改善案)

 右側の Winキーと Menuキーを使用する。

 Winキーを押した状態で Menuキーを押すと、Winキーを押している間だけレイヤー1に切り替わる。
 利点:Winキーと Menuキーを単独で使用する場合は通常通りに使用可能。

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_BASE] = LAYOUT_via( ..., KC_RGUI, KC_APP, ... ),
    [_FN1]  = LAYOUT_via( ...,  ______,  KC_NO, ... ),
};

bool isRGUI = false;
bool isLayer1 = false;

bool process_record_user(uint16_t keycode, keyrecord_t *record) {

...

下記をベースにして必要に応じて改良して使用します。

    // Momentary layer switching MO(1) with KC_RGUI and KC_APP
    if (isRGUI) {
        isRGUI = false;
        if (keycode == KC_APP) {
            if (record->event.pressed) {
                isLayer1 = true;
                layer_on(1);
            }
            return false;
        } else {
            register_code(KC_RGUI);
        }
    }

    if (keycode == KC_RGUI) {
        if (record->event.pressed) {
            isRGUI = true;
            return false;
        } else {
            if (isLayer1) {
                isLayer1 = false;
                layer_clear();
                return false;
            }
        }
    }

...

    return true;
}


● QMKの MAX3421E USB HOSTモジュールをアップデートする方法


2022/06/04
QMKファームウェアの USB_Host_Shield_2.0のバージョンを 1.1.0から 1.6.1にアップデートする方法
QMKファームウェアの USB_Host_Shield_2.0のバージョンを 1.1.0から 1.6.1にアップデートする方法

  QMK firmware Update USB_Host_Shield_2.0 library version 1.1.0 to 1.6.1


● FREE WINGの QMKへのマージ履歴

FREE WINGの QMKへのマージ履歴


● VIAのマクロ送信時に各キー出力に WAITを入れる方法

 VIAのマクロ定義のキーを送信する速度が速すぎて取りこぼしが発生する場合に DELAYを設定してキー送信毎に待ち時間を入れる事で取りこぼしの発生を抑えます。

Configuring QMK VIA

 QMKの公式に Pull Requestを出しました。
Added Delay time to sending each Keys for VIA Macros function feature #16810
 2022/07/12に qmk:developにマージされました!!

 例: 100を指定で 100ms(1/10秒)の WAITを入れる。

config.h
#define VIA_MACRO_WAIT 100

dynamic_keymap.c

./quantum/dynamic_keymap.c
void dynamic_keymap_macro_send(uint8_t id) {

...
            if (data[2] == 0) {
                break;
            }
        }
        send_string(data);
#ifdef VIA_MACRO_WAIT
        wait_ms(VIA_MACRO_WAIT);
#endif
    }
}


● Dynamic Macroの再生時の送信時に各キー出力に WAITを入れる方法

 Dynamic Macroで定義したキーを送信する速度が速すぎて取りこぼしが発生する場合に DELAYを設定してキー送信毎に待ち時間を入れる事で取りこぼしの発生を抑えます。

 QMKの公式に Pull Requestを出しました。
Added Wait time to sending each Keys for Dynamic Macros function #16800
 2022/07/02に qmk:developにマージされました!!

 例: 50を指定で 50ms(1/20秒)の WAITを入れる。

config.h
#define DYNAMIC_MACRO_DELAY 50

process_dynamic_macro.c

./quantum/process_keycode/process_dynamic_macro.c
void dynamic_macro_play(keyrecord_t *macro_buffer, keyrecord_t *macro_end, int8_t direction) {
    dprintf("dynamic macro: slot %d playback\n", DYNAMIC_MACRO_CURRENT_SLOT());

    layer_state_t saved_layer_state = layer_state;

    clear_keyboard();
    layer_clear();

    while (macro_buffer != macro_end) {
        process_record(macro_buffer);
        macro_buffer += direction;
#ifdef DYNAMIC_MACRO_DELAY
        wait_ms(DYNAMIC_MACRO_DELAY);
#endif
    }


● VIAの定義内容をクリアする方法(ATmega32U4の EEPROMをクリアする方法)

$ cat reset.eep
:0100000000FF
:00000001FF

$ avrdude -p atmega32u4 -c avr109 -P /dev/ttyS9 -c avr109 -U eeprom:w:reset.eep:i


● QMK firmware USB to USB keyboard protocol converter

USB to USB keyboard protocol converter

 これをビルドして Pro Microに書き込みます。

rules.mk
 rules.mkの
DEFAULT_FOLDER = converter/usb_usb/hasu
 を
DEFAULT_FOLDER = converter/usb_usb/pro_micro
 に書き換える
qmk compile -kb converter/usb_usb -km default

● QMK firmware USB to USB keyboard protocol converter Customize Keymap

QMK Configurator
 QMK Configuratorを使ってキーマップを編集して、ファームウェア(hexファイル)を生成できます。

●購入した Pro Micro 3.3V版は LilyPadUSBのファームウェアが入っていました

USB シリアル デバイス
USB\VID_1B4F&PID_9207&REV_0001
USB\VID_1B4F&PID_9207

USB シリアル デバイス
USB\VID_1B4F&PID_9208&MI_00

 LilyPad USBはリセットボタンを 2回押しでファームウェア書き込みモードになります。

32U4 Firmware Note - Sparkfun


● QMK firmware USB to USB keyboard protocol converterのオリジナル記事

 QMKではなく TMKを使用しています。

 TMKでも ATMega32U4のプログラムサイズ 28KBの制限で制約事項が有ります。(ATMega32U4は 32KBだが 4KBは Boot Loaderで使用している)

Topic: TMK USB to USB keyboard converter

Pro Microを使った製作記事



● Pro Micro 16MHz +5V版 + MAX3421Eの製作例

 Pro Micro 16MHz +5V版で MAX3421Eを使う場合は TXS0108E等の双方向レベルシフタを使う必要があります。

 配線が面倒になるので +3.3V版の Pro Microを頑張って入手するのがオススメです。

Re: USB to USB keyboard converter build log(Pro Micro 3.3v with mini host shield)



Tags: [電子工作], [QMK]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】
【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】

  夏休みが明けたら 僕のキーボードが最強になって クラスのみんなから MMK 大作戦

BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法

  BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA

QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法

  ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築

QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法
QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法

  QMK firmware How to Reduce Program Size、Reducing QMK firmware size

QMK firmwareで I/Oピンが足りない場合にデコーダ、デマルチプレクサを使用して IOを拡張する解決方法
QMK firmwareで I/Oピンが足りない場合にデコーダ、デマルチプレクサを使用して IOを拡張する解決方法

  QMK firmware expand I/O for many matrix keyboard、How to use IO Expander Multiplexer / Demultiplexer / Decoder

QMK firmwareで I/Oピンが足りない場合に I2Cの GPIOエキスパンダを使用して IOを拡張する解決方法
QMK firmwareで I/Oピンが足りない場合に I2Cの GPIOエキスパンダを使用して IOを拡張する解決方法

  QMK firmware expand I/O for many matrix keyboard、How to use I2C GPIO Expander PCF8574 and PCF8575

QMK firmwareで Audio機能を試してみる
QMK firmwareで Audio機能を試してみる

  QMK firmware test Audio function with Piezo buzzer

QMK firmwareで OLED機能で SSD1306を試してみる
QMK firmwareで OLED機能で SSD1306を試してみる

  QMK firmware test OLED Driver with SSD1306

QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる
QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる

  QMK firmware test Analog Joystick function with PSP2000 Analog Stick

最新の QMK firmwareで new_keyboard.shのコマンドが動かなくなったのを修正する方法
最新の QMK firmwareで new_keyboard.shのコマンドが動かなくなったのを修正する方法

  QMK Bugfix Create New Keyboard new_keyboard.sh command No such file or directory Error

QMK firmwareの Githubを forkした自分のリモートに pushすると怒られて pushできない場合の対応方法
QMK firmwareの Githubを forkした自分のリモートに pushすると怒られて pushできない場合の対応方法

  refusing to allow an OAuth App to create or update workflow `.github/workflows/api.yml` without `workflow` scope

中華製の格安なプログラマブル USBキーボードを買ってみた QMK VIAとは別物
中華製の格安なプログラマブル USBキーボードを買ってみた QMK VIAとは別物

  中華製のプログラマブル USBキーボード KeyboardSetter.exe

社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応

  キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2022 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/hardware/qmk_usb_converter_max3421e_host_shield/