LoginSignup
1
4

More than 3 years have passed since last update.

自作キーボード用の QMK を HTTP Proxy 環境で build する

Last updated at Posted at 2018-03-21

目的

Iris keyboard (rev.4)の key map を変更するためのの software の準備をする。特に HTTP Proxy環境下での環境に対応する。動作環境は Window 10 向けだが他の Windows の version でも大丈夫なはず。Mac の場合は最後に追記している。

環境構築の流れ

  1. MSYS2 をインストールし、shell 環境の土台を作る
  2. Git をインストールし、QMK software 入手のための準備をする
  3. QMK firmware を入手する

この後、利用したい keyboard の firmware を書き込む流れとなる。Iris rev.4はPCBにマイコンが搭載されている。またUSB Type-Cコネクタとなっており、以前より耐久性が上がっている。

設定の流れ

  1. Iris keyboard の keymap を好きなように変更する
  2. Iris keyboard の firmware を build する 
  3. firmware を書き込む

MSYS2 Installation

Set proxy

自分の環境に合わせる
$ export http_proxy=http://proxyserver:portnumber

ここではshellで入力しているが、.bashrc などに書いておけば次回から設定される。

Update Core system and others

最新にしておく
$ pacman -Syu

Install Git

software入手のためインストールする
$ pacman -S git

Set proxy

自分の環境に合わせる
$ git config --global http.proxy http://proxyserver:portnumber        
$ git config --global https.proxy http://proxyserver:portnumber

設定を確認する

check

$ cat .gitconfig
[http]
        proxy = http://proxyserver:portnumber
[https]
        proxy = http://proxyserver:portnumber

ここまできたら、QMKのsource codeを入手する

Install QMK source code

結構時間かかる
$ git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git

ここでsubmodulesをちゃんと入れておかないとうまくいかない。単にcloneでは後で失敗するので注意。

QMKファームウェアビルド環境の構築

$ cd qmk_firmware
$ ./util/qmk_install.sh

Layout

好きな配列にするが、keymap.cでは見通しが悪いのでこちらでlayoutしておく。
Keyboard layout Editorによる配列

a.png

コンパイル

Build keyboard firmware

Build
$  make keebio/iris/rev4:default

rev4ではkeebioの下に移動してたので一つ深くなっている。

書き込み

Burn_keyboard_firmware
$  make keebio/iris/rev4:default:flash

カスタマイズ

ここからキー配列を変更するなどのカスタマイズの詳細を記載する。

Keymap 変更

動作が確認できたら、自分の好きな keymap に変更するため、keymap.c を編集する。

編集が終わったら、再度コンパイルと書き込みを行う。
keyboard の reset switch を押すように指示が出るのでボタンを押すと、書き込みされる。
左右別々に2回書き込むことになる。これは面倒くさいが、二つマイコンを使っているので仕方ない。

modifier key の lock を防ぐ

入力中に Shift key がなぜか lock されることがあり、手動で Shift key を再度押すことで lock 解除されるのではるが、時折頻発し、大変なストレスを感じていた。

解決方法としては、config.h に以下を追加すればよい。自分は config.h の最後に追加した。

config.h
#define PREVENT_STUCK_MODIFIERS

これを追加してから Shift key が lock されてしまう現象がすっかりなくなった。ずっと shift key が物理的に接触がおかしいのかと思っていたが software の問題であった。現在は、これで解決しており、再発していない。

詳しい説明はこちら。
QMK - Prevent stuck modifier


補足: Macの場合

HomeBrew がインストールされているとして、
Windows 同様に git で QMK を download して、setup を実行する。

$ git clone https://github.com/qmk/qmk_firmware.git
$ cd qmk_firmware/
$ ./util/qmk_install.sh
$ sudo make iris/rev2:default

ここまではok.

しかし、最新のgcc 8.2では、firmwareの書き込みでerrorになってしまった。調べたところ、gcc 8.1 でないとうまく動かないそう。詳しくは[1] を参照のこと。
そこで、以下を実行し、古いgccをインストールする。

$ brew untap osx-cross/avr
$ brew tap leico/avr
$ brew uninstall avr-gcc && brew install avr-gcc@8_1

avr-gccのインストールはちょっと時間かかる。

$ sudo make iris/rev2:foo:avrdude

うまく書き込めた。fooと名前のkeyboardの種類を作り、keymapを自分の好みに修正する。

参考: Software

[0] QMK firmware Guide
[1] Lets Split Sockets/Vitamins failing with default build
[2] Prevent stuck modifiers

参考:Hardware: IRIS keyboard のカスタマイズ関連

[2] Iris keyboard tent
[3] Iris keyboard #3

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4