うすい30パーセントキーボードをつくってみた【キーマップ作成】2019/09/16


前説

既存のキーマップを参照してもいいと思ったのですが、まずは単機能で理解しないといけないかなと思い、新規にキーマップを作成してみました。
QMKの環境は立ち上がっているので、そのあたりはすっ飛ばした記載となってます。

新規キーマップ作成

new_keyboard.shでデフォルトのツリーを作成でき、対話形式に従ったら新規キーマップ作成用のツリーが生成されます。

$ ./util/new_keyboard.sh
Generating a new QMK keyboard directory

Keyboard Name: sosuu31
Keyboard Type [avr]:
Your Name: qzi00173

Copying base template files... done
Copying avr template files... done
Renaming keyboard files... done
Replacing %YEAR% with 2019... done
Replacing %KEYBOARD% with sosuu31... done
Replacing %YOUR_NAME% with qzi00173... done

Created a new keyboard called sosuu31.

To start working on things, cd into keyboards/sosuu31,
or open the directory in your favourite text editor.

キーボードのマトリクス設定

./config.hを編集して、マトリクスの設定を行います。

  • マトリクスの行列数を記載する。
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6
  • 割り当てたピン名※順番通りに記述する。

2019/9/21 最終版の回路ではF6,F7を入れ替えてたので修正。
印刷してたのが最終と思ってたのが間違えのもと。データでちゃんと確認しよう。

#define MATRIX_ROW_PINS \
    { F5, F7, F6, F4, B1, B3 }
#define MATRIX_COL_PINS \
    { B4, E6, D7, C6, D4, B5 }

修正前

#define MATRIX_ROW_PINS \
    { F5, F6, F7, F4, B1, B3 }
#define MATRIX_COL_PINS \
    { B4, E6, D7, C6, D4, B5 }
  • ソフトウェアシリアルは使わないので、コメントアウトする。
//#define SOFT_SERIAL_PIN D0  // or D1, D2, D3, E6

コンパイルルールの変更

./rules.mkを編集して、BOOTLOADERはpicomicroを使うので、caterinaに変更する。

BOOTLOADER = caterina

キーマトリクスの定義

./sosuu31.hを編集して、キーマトリクスの定義を決めます。
物理的には3*11のマトリクスとしていますが、マイコン的には6*6としていますが、キーマップをいろいろ見てるとこうした方がマイコンへの本数を減らせそうなのでこの方法を採用しました。
余ったピンはワイヤーで引き出したりしてキラキラさせたい

//3*11の配列を真ん中で折り返しているので、実際には6*6のマトリクスで再現される
\#define LAYOUT( \
  L00, L01, L02, L03, L04, L05, L06, L07, L08, L09,     \
  L10, L11, L12, L13, L14, L15  L16, L17, L18, L19,     \
  L20, L21, L22, L23, L24, L25, L26, L27, L28  L29, L2A \
  ) \
  { \
    { L00, L01, L02, L03, L04, KC_NO }, \
    { L10, L11, L12, L13, L14, KC_NO }, \
    { L20, L21, L22, L23, L24, KC_NO }, \
    { L05, L06, L07, L08, L09, KC_NO }, \
    { L15, L16, L17, L18, L19, KC_NO }, \
    { L25, L26, L27, L28, L29, L2A   }, \
  }

折り返して配列を構成しているのはmarksardさん作のstonehenge30を穴が開くくらい見させていただきました。

キーマップ


お試しなのでfoobarとほぼ同じに。使っていってブラッシュアップすればいいかなと。
右下は何にしよう

つづき

はんだ付けをしてあげないといつまでもキーボードにならない
続き