minhnkt
Đã tốn tiền
Mình mấy hnay ngồi mò mẫm flash QMK cho con GMMK Pro mà gặp case này hơi khắm.
Do ghét dùng FW stock của Glorious, cộng với xài Mac éo có Windows, nên mua về cái là muốn cho sang QMK ngay, tuy nhiên:
1. Xài FW cung cấp trên trang của VIA (link) thì xài oke, VIA nhận ngay, núm knob chạy bt, mà éo bật đc đèn RGB
2. Xài FW compile tại trang gốc của gmk (link) thì RGB chạy bt, núm knob éo xoay đc mà chỉ nhận mỗi quả Muted/Unmuted (hoặc chức năng gì đó đc map vào).
3. Mình mò thêm đc thằng app VIAL thay thế cho app VIA, thấy map đc cái rotary rồi mà vẫn ko mò đc bật đám led lên kiểu gì.
Thế nên đành phải tìm cách fix, nói luôn là mình thích xài docker trên VPS Linux (không dùng đc cho VPS hay PC chạy chip ARM nhé) thế nên có cái post này.
Mình cũng hạng gà thôi, anh em có cách nào đơn giản hơn thì chỉ mình với nhé.
NOTE:
1. FW kết quả mình để link đây luôn cho ông nào lười, flash luôn vào GMMK Pro là xong (link), không map gì cả, xài nguyên layout QMK mặc định, RGB và Knob (Muted/Unmuted/Volume Up/Volume Down) đều đã chạy, VIA éo nhận ) mà VIA mình thấy nó cũng éo cho map cái phím rotary kia nên cũng chả cần.
2. FW QMK chơi được cả LED + Rotary và map được tất cả qua VIAL ở đây nhé:
Link : Trong này mình để 2 bản, 1 bản chỉ chơi LED gầm, 1 bản LED full
3. Hướng dẫn Flash FW cho QMMK chung ở đây: link
Về FW stock ở đây cũng hướng dẫn luôn.
Step 1: Cài docker và git
Hướng dẫn google đầy, mình chạy Ubuntu nên xài 3 lệnh này:
Step 2: Clone QMK firmware Repo:
Step 3: Kéo cấu hình layout sau khi map xong trên https://config.qmk.fm/#/ xuống
Sau khi map key xong thì bấm vào nút export bên dưới để lưu lại file json chứa layout của bàn phím. Mình để tên mặc định luôn là gmmk_pro_ansi_layout_mine.json
Step 4: Tạo thư mục tạm
Step 5: Upload file layout ở bước 3 lên,
Nếu có map lại key ở bước 3 thì xoá file gmmk_pro_ansi_layout_mine.json cũ đi, upload lên hoặc nếu làm trên VPS như mình thì mở file json vừa down kia ra ở dưới máy bàn, copy toàn bộ nội dung rồi dùng nano để tạo file mới có tên là gmmk_pro_ansi_layout_mine.json bằng lệnh sau
Dán nội dung vừa copy xong vào, rồi bấm Ctrl + O để lưu, Ctr + X để thoát nano.
Step 6: Convert file json bằng lệnh :
Step 7: Sửa file keymap.c vừa convert từ file json nằm trong thư mục tạm:
thêm vào đoạn này ở dưới cùng, đằng sau dấu };
nhìn nó sẽ như này:
Bấm Ctrl + O để lưu và Ctrl + X để thoát nano.
Step 8: Build Firmware
Build xong thì nó sẽ có 1 cái warning báo ko support STM32F303, kệ nó, cứ bỏ qua.
(file bin được tạo cho bàn phím xài chip ARM, QMK không hỗ trợ check kích thước fw cho các chip này, tuy nhiên chúng ta không thể làm tràn bộ nhớ flash trên MCU ARM, mà kể cả có làm thế thì cũng ko nguy hiểm đâu)
giờ sẽ có 1 file firmware mới nằm ở thư mục gốc qmk_firmware/
giờ lôi file này xuống và flash thôi
NOTE: bạn nào xài VPS thì dùng thêm 2 lệnh này để mở HTTP down xuống cho nhanh
Step 9: Flash firmware QMK
Cái này thì quá nhiều hướng dẫn rồi, xài QMK ToolBox cho dễ, có bản cho cả MacOS và Windows
Đưa GMMK Pro về Bootloader mode (Stock thì rút dây ra, giữ phím Space + B và cắm dây vào, đang chạy QMK thì giữ Fn + \ và cắm dây vào)
Bấm vào chỗ số 1, chọn FW vừa làm ở Step 8 vào, nếu gmmk pro đang ở bootloader mode thì nút Flash (số 2) sẽ sáng lên, bấm vào rồi nạp như bình thường thôi.
Do ghét dùng FW stock của Glorious, cộng với xài Mac éo có Windows, nên mua về cái là muốn cho sang QMK ngay, tuy nhiên:
1. Xài FW cung cấp trên trang của VIA (link) thì xài oke, VIA nhận ngay, núm knob chạy bt, mà éo bật đc đèn RGB
2. Xài FW compile tại trang gốc của gmk (link) thì RGB chạy bt, núm knob éo xoay đc mà chỉ nhận mỗi quả Muted/Unmuted (hoặc chức năng gì đó đc map vào).
3. Mình mò thêm đc thằng app VIAL thay thế cho app VIA, thấy map đc cái rotary rồi mà vẫn ko mò đc bật đám led lên kiểu gì.
Thế nên đành phải tìm cách fix, nói luôn là mình thích xài docker trên VPS Linux (không dùng đc cho VPS hay PC chạy chip ARM nhé) thế nên có cái post này.
Mình cũng hạng gà thôi, anh em có cách nào đơn giản hơn thì chỉ mình với nhé.
NOTE:
1. FW kết quả mình để link đây luôn cho ông nào lười, flash luôn vào GMMK Pro là xong (link), không map gì cả, xài nguyên layout QMK mặc định, RGB và Knob (Muted/Unmuted/Volume Up/Volume Down) đều đã chạy, VIA éo nhận ) mà VIA mình thấy nó cũng éo cho map cái phím rotary kia nên cũng chả cần.
2. FW QMK chơi được cả LED + Rotary và map được tất cả qua VIAL ở đây nhé:
Link : Trong này mình để 2 bản, 1 bản chỉ chơi LED gầm, 1 bản LED full
3. Hướng dẫn Flash FW cho QMMK chung ở đây: link
Về FW stock ở đây cũng hướng dẫn luôn.
Step 1: Cài docker và git
Hướng dẫn google đầy, mình chạy Ubuntu nên xài 3 lệnh này:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker ubuntu
apt install -y docker-compose
apt install -y git
Step 2: Clone QMK firmware Repo:
git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git && cd qmk_firmware
Step 3: Kéo cấu hình layout sau khi map xong trên https://config.qmk.fm/#/ xuống
Sau khi map key xong thì bấm vào nút export bên dưới để lưu lại file json chứa layout của bàn phím. Mình để tên mặc định luôn là gmmk_pro_ansi_layout_mine.json
Step 4: Tạo thư mục tạm
mkdir -p keyboards/gmmk/pro/ansi/keymaps/my_keymap_name
Step 5: Upload file layout ở bước 3 lên,
Nếu có map lại key ở bước 3 thì xoá file gmmk_pro_ansi_layout_mine.json cũ đi, upload lên hoặc nếu làm trên VPS như mình thì mở file json vừa down kia ra ở dưới máy bàn, copy toàn bộ nội dung rồi dùng nano để tạo file mới có tên là gmmk_pro_ansi_layout_mine.json bằng lệnh sau
nano gmmk_pro_ansi_layout_mine.json
Dán nội dung vừa copy xong vào, rồi bấm Ctrl + O để lưu, Ctr + X để thoát nano.
Step 6: Convert file json bằng lệnh :
docker run --rm -it \
-w /qmk_firmware \
-v "$(pwd)":/qmk_firmware qmkfm/qmk_cli \
qmk json2c -o keyboards/gmmk/pro/ansi/keymaps/my_keymap_name/keymap.c gmmk_pro_ansi_layout_mine.json
Step 7: Sửa file keymap.c vừa convert từ file json nằm trong thư mục tạm:
nano keyboards/gmmk/pro/ansi/keymaps/my_keymap_name/keymap.c
thêm vào đoạn này ở dưới cùng, đằng sau dấu };
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
return true;
}
nhìn nó sẽ như này:
Bấm Ctrl + O để lưu và Ctrl + X để thoát nano.
Step 8: Build Firmware
util/docker_build.sh gmmk/pro/ansi:my_keymap_name
Build xong thì nó sẽ có 1 cái warning báo ko support STM32F303, kệ nó, cứ bỏ qua.
(file bin được tạo cho bàn phím xài chip ARM, QMK không hỗ trợ check kích thước fw cho các chip này, tuy nhiên chúng ta không thể làm tràn bộ nhớ flash trên MCU ARM, mà kể cả có làm thế thì cũng ko nguy hiểm đâu)
giờ sẽ có 1 file firmware mới nằm ở thư mục gốc qmk_firmware/
giờ lôi file này xuống và flash thôi
NOTE: bạn nào xài VPS thì dùng thêm 2 lệnh này để mở HTTP down xuống cho nhanh
sau đó mở IP:8081 ra và down xuống, nhìn nó như này:apt install python
python -m SimpleHTTPServer 8081
Step 9: Flash firmware QMK
Cái này thì quá nhiều hướng dẫn rồi, xài QMK ToolBox cho dễ, có bản cho cả MacOS và Windows
Đưa GMMK Pro về Bootloader mode (Stock thì rút dây ra, giữ phím Space + B và cắm dây vào, đang chạy QMK thì giữ Fn + \ và cắm dây vào)
Bấm vào chỗ số 1, chọn FW vừa làm ở Step 8 vào, nếu gmmk pro đang ở bootloader mode thì nút Flash (số 2) sẽ sáng lên, bấm vào rồi nạp như bình thường thôi.
Attachments
Last edited: