View on GitHub

zzz-kbd

Self Made Keyboard Maker

ino ファームウェアガイド

ファームウェアのビルド方法

マイコンにはデフォルトキーマップのファームウェアが書込まれています。

キーマップを変更するにはソースファイルを書き換えて、QMK Firmware をビルドしなおす必要があります。

ビルドツールのインストール

QMK Firmware ドキュメントの 2. Prepare Your Build Environment を参考に、ビルドに必要なツールをインストールします。

ソースの取得

現状では QMK Firmware の本家にマージされてないので、フォークから最新をダウンロードします。

github-repos

ダウンロードしたzipファイルは適当な場所に展開しておきます。

ビルド

zipファイルを展開したフォルダのqmk_firmwareフォルダに移動し、コマンドを入力します。

cd 展開したフォルダ/qmk_firmware
make ino:default

マイコンへの書込み

マイコンへの書込みは以下の手順で行います。

1. 書込みコマンドを入力

ビルド時と同様にコマンドを入力しますが、ブートローダーとして:avrdudeを指定します。

cd 展開したフォルダ/qmk_firmware
make ino:default:avrdude

ビルドが正常に終わると、下記のように待ち状態になります。

Detecting USB port, reset your controller now.....

2. リセットボタンを押す

待ち状態になったら、キーボード裏面にあるリセットボタンを2回押します。
リセットボタン

リセットボタンを押すときは、マウスのダブルクリックするときの要領で「チョンチョン」と押します。
うまくいけば、3~5 秒後に書込みが始まります。
書込み中はトラックボールの赤LEDが点滅します。

3. 書込み確認

書込みが終了するとトラックボールの赤LEDが再び点灯し、ターミナルには下記のように表示されます。

avrdude: verifying ...
avrdude: 22120 bytes of flash verified

avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude done.  Thank you.

書込みができないときは、リセットボタンを押す間隔を調整したり、10秒以上待ってからもう一度試してみてください。

カスタマイズについて

ここからはキーマップ等のカスタマイズの話しとなります。

関係するファイルは下記の2つです。

ファイル 説明
qmk_firmware/keyboards/ino/keymaps/default/keymap.c キーマップやレイヤの変更
qmk_firmware/keyboards/ino/config.h ino 独自の設定や BootMagic の設定

レイヤ構成

デフォルトのレイヤ構成は下表のようになっています。

レイヤ番号 説明
0 Mac 向けのキーマップ
1 Linux 向け (Ubuntu) のキーマップ
2 Windows 向けのキーマップ
14 Raise
15 Lower (割り付けなし)

初期状態ではレイヤ 0 の Mac向けのキーマップが選択されています。

0~2のレイヤは QMK Firmware の BootMagic 機能により選択可能です。
スペース02を同時押ししながら USB ケーブルを接続すことで、それぞれ Mac/Linux/Windows 向けのキーマップを選択することができます。

選択されたキーマップはマイコンの EEPROM に保存され、次回以降の起動時にも適用されます。

BootMagic のキー割当ては config.h の 下記の部分で変更できます。

/*
#define BOOTMAGIC_KEY_SALT                        KC_SPACE      // The Bootmagic key
  :
*/
#define BOOTMAGIC_KEY_DEFAULT_LAYER_0             KC_0          // Make layer 0(Mac) the default layer
#define BOOTMAGIC_KEY_DEFAULT_LAYER_1             KC_1          // Make layer 1(Linux) the default layer
#define BOOTMAGIC_KEY_DEFAULT_LAYER_2             KC_2          // Make layer 2(Windows) the default layer
#define BOOTMAGIC_KEY_DEFAULT_LAYER_3             KC_NO         // Make layer 3 the default layer
#define BOOTMAGIC_KEY_DEFAULT_LAYER_4             KC_NO         // Make layer 4 the default layer
  :

マウスボタン

通常のキーと同様に、マウスボタンもキーマップで設定できます。

キー値 説明 ファイル
KC_MSL 左ボタン keymap.c
KC_MSM 中ボタン keymap.c
KC_MSR 右ボタン keymap.c

左右ボタンの入れ替え、他のキーへの割当て、レイヤーでの切り替えなどにご使用ください。

水平スクロール

HSCRLに設定したキーを押しながらスクロールリングを回すと、水平スクロールになります。

デフォルトでは左シフトKC_LSFTが割当てられています。

キー値 説明 ファイル
HSCRL 水平スクロール時に同時押しするキー keymap.c

ただし、水平スクロールは PC アプリ等の環境により動作しないことがあります。

スクロール方向の反転

スクロールリングの方向は SCROLL_INVERTtrue にすることで反転できます。

シンボル
(太字:デフォルト)
説明 ファイル
SCROLL_INVERT false: そのまま
true: 反転
スクロール方向の反転 config.h

ただし、この設定はレイヤー切り替えとは独立しているため、各OSごとに切り替えることはできません。

トラックボールの速度

11段階に変更可能です。数字が大きいほど速くなります。

シンボル
(太字:デフォルト)
説明 ファイル
TRACKBALL_RESOLUTION RES2_125CPI (最遅)
RES2_250CPI
RES2_375CPI
RES2_500CPI
RES2_625CPI
RES2_750CPI
RES2_850CPI
RES2_1000CPI
RES2_1125CPI
RES2_1250CPI
RES2_1375CPI (最速)
トラックボールの速度調整 config.h

トラックボールの向き

1°単位でトラックボールの向きを調整できます。

-で時計方向(CW)へ、+で反時計方向(CCW)へずらします。デフォルト値は 0° です。

シンボル 説明 ファイル
TRACKBALL_AZIMUTH_ADJ -45 ~ 45 トラックボールの向き調整 config.h

右手用もしくは、左手用に調整する場合にお使いください。


リンク