Ubuntu18でqmk_firmwareのセットアップ
使用機器
Pro Micro
Pro Microは、sparkfun社のArduino Leonardo互換の赤色のボードで、こういうもの。
https://www.sparkfun.com/products/12640
本物は高いので、格安で手に入る下のようなクローンを使用している。
https://ja.aliexpress.com/item/32775200720.html?spm=a2g0o.productlist.0.0.2b3e5552qtr8HQ&algo_pvid=d3d54e93-d970-4bce-b74a-86b235103680&algo_expid=d3d54e93-d970-4bce-b74a-86b235103680-9&btsid=0ab6f83115884739823885590e52ed&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
キーボード
7sKBを使っている前提。キーマップの指定部分を変更すれば、他のキーボードでも同じように設定できるはず。
環境構築
手順
以下を順番に実行。
qmk firmareをクローンして、レポジトリルートに移動
$ git clone https://github.com/qmk/qmk_firmware
$ cd qmk_firmware
インストールスクリプトを実行
必要なものを一気に入れてくれるスクリプトがあるので実行
$ ./util/qmk_install.sh
サブモジュールをビルド
インストールスクリプトで入れてくれないサブモジュールをビルドする。これをやらないと、tmk_core/protocol/lufa.mk:14: lib/lufa/LUFA/makefile: No such file or directory
のようなエラーが出てくる。
$ make git-submodule
モデムマネージャーをアンインストール
これが動いていると、シリアルポートが塞がってしまい、Pro Microに書き込みができない。
$ sudo apt remove modemmanager
キーボード配列の書き込み
手順
以下を順番に実行。
キーボード配列の変更
https://docs.qmk.fm/#/keycodes にキーコードの表がある。
$ vi keyboards/7skb/keymaps/default/keymap.c
書き込みたいキーボード配列のmakeターゲットを実行
$ make 7skb:default:avrdude
Pro Microをリセット
コントローラーをリセットしろと以下のように出てくるので、Pro Microをリセットする。
Detecting USB port, reset your controller now...........
USBの口を上にした状態で、右側の上から2番と3番目が、GNDとRESETになる。その2つをショートするとPro Microがリセットされる。
初回は素早く2回ショートする必要あり。ピンセットでショート可能。
キーボードデバイスを書き込み可能に
コントローラーをリセットすると、デバイスとしてマウントされて、以下のようなメッセージが出てくる。
Device /dev/ttyACM0 has appeared; assuming it is the controller.
Waiting for /dev/ttyACM0 to become writable.
そこで、別のターミナルからそのデバイスを書き込み可能にすると、書き込みが実行される。
デバイスは数秒でアンマウントされてしまうので、上のメッセージが出たらすぐに書き込み権限を与える必要がある。
$ sudo chmod 777 /dev/ttyACM0
スクリプト
キーボード配列を変えるたびに、上の手順を実行するのは大変なので、スクリプト化した。
#!/bin/bash
keyboard=/dev/ttyACM0
keymap=7skb:default
make $keymap:avrdude &
pid=$!
while :
do
ls -1 $keyboard 2>/dev/null
if [ $? == 0 ]; then
break
fi
sleep 1
done
sudo chmod 777 $keyboard
wait $pid
Author And Source
この問題について(Ubuntu18でqmk_firmwareのセットアップ), 我々は、より多くの情報をここで見つけました https://qiita.com/kzee/items/0cd0eb4507599ec650f8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .