kiến thức Hướng dẫn flash QMK cho GMMK Pro (có hỗ trợ RGB và KNOB)

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 :LOL:) 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

Screen Shot 2022-03-22 at 13.37.47.png



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:
Screen Shot 2022-03-22 at 13.52.37.png


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
Screen Shot 2022-03-22 at 13.56.32.png


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/

Screen Shot 2022-03-22 at 13.59.04.png


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
apt install python
python -m SimpleHTTPServer 8081
sau đó mở IP:8081 ra và down xuống, nhìn nó như này:
Screen Shot 2022-03-22 at 14.01.23.png


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.


Screen Shot 2022-03-22 at 14.04.47.png
 

Attachments

  • Screen Shot 2022-03-22 at 14.04.11.png
    Screen Shot 2022-03-22 at 14.04.11.png
    518.2 KB · Views: 87
Last edited:
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 :LOL:) 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. 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

View attachment 1074471


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:
View attachment 1074493

Bấm Ctrl + O để lưu và Ctrl + X để thoát nano.

Step 8: Build Firmware


View attachment 1074498

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/

View attachment 1074502

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:
View attachment 1074505

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.


View attachment 1074507
Không dùng gmmk nhưng ủng hộ thím thớt :sexy_girl:
 
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 :LOL:) 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

View attachment 1074471


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:
View attachment 1074493

Bấm Ctrl + O để lưu và Ctrl + X để thoát nano.

Step 8: Build Firmware


View attachment 1074498

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/

View attachment 1074502

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:
View attachment 1074505

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.


View attachment 1074507
mình cũng đang dùng gmmk pro, nhưng dùng fw stock, chủ thớt cho hỏi với người dùng bthường thì flash fw QMK có đem lại khác biệt gì khi sử dụng không?
 
mình cũng đang dùng gmmk pro, nhưng dùng fw stock, chủ thớt cho hỏi với người dùng bthường thì flash fw QMK có đem lại khác biệt gì khi sử dụng không?
Mình thì thấy fw gốc thỉnh thoảng xài bị chattering, cái này khó chịu nhất, còn lại tính năng của qmk thì so với fw gốc làm j tội nó :censored:

via theNEXTvoz for iPhone
 
Ông viết tui đọc xong hơi lú ta :v nên cho tui hỏi lại chút
  • tui cần Full RGB + Side led thì lấy cái nào
  • Làm bằng Mac với phải cài docker hả :v
 
Hướng dẫn hơi nặng kỹ thuật vậy bro, cứ gói compile firmware rồi vứt link cho anh em, hướng dẫn anh em dùng QMK Toolbox để flash firmware vào là xong mà :)
 
Last edited:
Back
Top