ZMKのドキュメントはよく作られていてここにあります。
作業環境としては、元Linux使いのWindowsユーザーなので、WSL2を使います。Ubuntu 20.04.4 が入っています。
| #!/bin/sh | |
| # ISC License | |
| # Copyright (c) 2026 Alexandre Gomes Gaigalas <alganet@gmail.com> | |
| # Permission to use, copy, modify, and/or distribute this software for any | |
| # purpose with or without fee is hereby granted, provided that the above | |
| # copyright notice and this permission notice appear in all copies. | |
| # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| # Howto execute this script: | |
| # Unblock-File .\CredReadTest.ps1 | |
| # powershell -ExecutionPolicy RemoteSigned .\CredReadTest.ps1 | |
| # | |
| # The following command displays a list of credentials: | |
| # cmdkey /list | |
| Write-Output "CredRead Test Program" | |
| $type_def = @' |
ZMKのドキュメントはよく作られていてここにあります。
作業環境としては、元Linux使いのWindowsユーザーなので、WSL2を使います。Ubuntu 20.04.4 が入っています。
| { | |
| "configurations": [ | |
| { | |
| "name": "Linux", | |
| "includePath": [ | |
| "/usr/include", | |
| "/usr/local/include", | |
| "${workspaceFolder}", | |
| "${workspaceFolder}/keyboards/getta25", | |
| "${workspaceFolder}/keyboards/getta25/rev1", |
| const IDLE1: [u8; 636] = [ | |
| 0, 0, 126, 126, 24, 60, 102, 66, 0, 12, 28, 112, 112, 28, 12, 0, 116, 116, 20, 20, 124, 104, 0, | |
| 124, 124, 0, 112, 120, 44, 36, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
| 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 16, 8, 8, 4, 4, 4, 8, 48, | |
| 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 192, 96, 48, 24, | |
| 12, 132, 198, 98, 35, 51, 17, 145, 113, 241, 113, 145, 17, 51, 35, 98, 198, 132, 12, 24, 48, | |
| 96, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 100, 130, 2, 2, 2, 2, 2, 1, | |
| 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 48, 48, 0, 192, 193, 193, 194, 4, 8, | |
| 16, 32, 64, 128, 0, 0, 0, 128, 128, 128, 128, 64, 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, |
一昨年の冬以降、Lily58 Proを2つ買わせていただき、私にとって自作キーボードにハマるきっかけとなり、非常に楽しく使わせていただいていました。
どうしても以下の点を実現したく、自作キーボードを設計しました。
| # Invoke it like this. | |
| # openocd -f interface/ftdi/digilent-hs2.cfg -c "ftdi_device_desc {Digilent USB Device}" -f gd32vf103.cfg -c "program binary.elf verify reset exit" | |
| # openocd -f interface/ftdi/digilent-hs2.cfg -c "ftdi_device_desc {Digilent USB Device}" -f gd32vf103.cfg -c "program binary.bin 0x08000000 verify reset exit" | |
| # openocd -f interface/ftdi/digilent-hs2.cfg -c "ftdi_device_desc {Digilent USB Device}" -f gd32vf103.cfg -c "init; reset run; exit" | |
| # Sure, you may also use other JTAG interfaces. | |
| # | |
| # For platformio copy this file to the openocd target directory | |
| # cd ~/.platformio/packages/tool-openocd-gd32v/share/openocd/scripts/target | |
| # wget -O gd32vf103-elfmimi.cfg https://gist.github.com/joba-1/02454d9d028b37b70be4e4bb4b1d0ce2/raw/gd32vf103.cfg | |
| # Then use these entries in your platformio.ini project file for use with a sipeed usb-jtag adapter: |
The following information illustrates the differences between macOS, Windows and Linux in USB device enumeration sequence.
Specifically the comparison covers USB Mass Storage device enumeration, implemented with the TamaGo USB driver on a USB armory Mk II running armory-ums.