Dozen0:kamu31その2

戻る ホーム 上へ 進む

 

 Dozen0をかむキーボードにするファームウエア第2弾その2を作りました。今回の物は、前回、レイヤー切り替えでキーを4つ使っていましたが、この部分を3つのキーとし、その代わり3つのキーの組み合わせで7レイヤー持つことが出来るようにしました。そうすると、キーが4つ余るので、そのキーによく使うキーを割り当てられます。

 初期ファームウエアは以下から

ファームウエア

 キーリピート機能付きは以下

キーリピート機能付きファームウエア

 ファームウエアをメイクする環境は、ここを参考に作ると良いでしょう。

上記の圧縮ファイルをドキュメント以下に展開したならQMK MSYSで

cd /c/users/tamotu/Documents/qmk

あるいは

cd /c/users/tamotu/Documents/qmk/qmk

ここで tamotu は、ご自分の環境で置き換えて下さい。

cd /c
cd users
cd tamotu  ←ここはご自分の環境で変わる
cd Documents
cd qmk

と、一つずつ辿っても良いです。

[tamotu?DESKTOP-??????? qmk]$

の様になれば成功です。続けて

make dozen0:kamu31

で、エラーが出なければ成功です。

実際にファームウエアを書き込むには

make dozen0:kamu31:avrdude

とします。

ここで、ドットが、少しずつ出てくるようになったらDozen0のmicroUSB端子の反対側のリセットスイッチを1回押します。すると赤く光って、画面が流れます。

ここからはキーマップの変更の仕方です。

ドキュメントフォルダに展開した場合は、上記のようになります。

ここの keyboards に移動します。

dozen0 フォルダを探します。

dozen0 フォルダの中に keymaps フォルダがあります。

keymaps フォルダの中に kamu31 フォルダがあります。

kamu31 フォルダの中の keymap.c をメモ帳等で開きます。

 


const uint16_t PROGMEM keymaps[8][MATRIX_ROWS2][MATRIX_COLS2] =
{
//●○○レイヤー0 英小文字
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{{KC_U, KC_A, KC_E, KC_I, KC_O },
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{KC_C, KC_F, KC_X, KC_Q, KC_L },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{KC_DOT, KC_V, JP_QUOT, KC_COMMA, KC_J },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{KC_W, KC_H, KC_M, KC_Y, KC_R },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{KC_T, KC_P, KC_SPACE, KC_K, KC_S },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{KC_D, KC_B, KC_N, KC_G, KC_Z },
//●●●●●
{KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO }},

//○●○レイヤー1 英大文字
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{{LSFT(KC_U), LSFT(KC_A), LSFT(KC_E), LSFT(KC_I), LSFT(KC_O)},
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ LSFT(KC_C), LSFT(KC_F), LSFT(KC_X), LSFT(KC_Q), LSFT(KC_L) },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ KC_DOT, LSFT(KC_V), JP_QUOT, KC_COMMA, LSFT(KC_J) },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ LSFT(KC_W), LSFT(KC_H), LSFT(KC_M), LSFT(KC_Y), LSFT(KC_R) },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ LSFT(KC_T), LSFT(KC_P), KC_SPACE, LSFT(KC_K), LSFT(KC_S) },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ LSFT(KC_D), LSFT(KC_B), LSFT(KC_N), LSFT(KC_G), LSFT(KC_Z) },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO }},

//●●○レイヤー2 記号
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{ { JP_PERC, JP_EXLM, JP_DQUO, JP_HASH, JP_DLR },
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ JP_AT, JP_AMPR, JP_QUOT, JP_LPRN, JP_RPRN },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ JP_LCBR, JP_QUES, JP_RCBR, JP_LBRC, JP_RBRC },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ JP_RABK, JP_TILD, JP_PIPE, JP_GRV, JP_LABK },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_NO, JP_SCLN, JP_COLN, JP_UNDS, KC_NO },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ LCTL(KC_Y), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Z) },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO } },

//○○●レイヤー3 数字
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{{KC_5, KC_1, KC_2, KC_3, KC_4},
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ KC_0, KC_6, KC_7, KC_8, KC_9 },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ JP_EQL, JP_ASTR, JP_SLSH, JP_PLUS, JP_MINS },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ KC_F5, KC_F1, KC_F2, KC_F3, KC_F4 },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_F10, KC_F6, KC_F7, KC_F8, KC_F9 },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ KC_NO, KC_F11, KC_F12, JP_CIRC, JP_YEN },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO } },

//●○●レイヤー4 数字
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{ { KC_5, KC_1, KC_2, KC_3, KC_4 },
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ KC_0, KC_6, KC_7, KC_8, KC_9 },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ JP_EQL, JP_ASTR, JP_SLSH, JP_PLUS, JP_MINS },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ KC_F5, KC_F1, KC_F2, KC_F3, KC_F4 },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_F10, KC_F6, KC_F7, KC_F8, KC_F9 },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ KC_NO, KC_F11, KC_F12, JP_CIRC, JP_YEN },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO } },

//○●●レイヤー5 カーソル
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{ { KC_UP, KC_LEFT, KC_SPACE, KC_RIGHT, KC_DOWN },
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ LSFT(KC_UP),LSFT(KC_LEFT),LSFT(KC_RIGHT),LSFT(KC_DOWN),KC_SPACE },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ JP_EQL, JP_ASTR, JP_SLSH, JP_PLUS, JP_MINS },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ KC_F5, KC_F1, KC_F2, KC_F3, KC_F4 },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_F10, KC_F6, KC_F7, KC_F8, KC_F9 },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ KC_NO, KC_F11, KC_F12, JP_CIRC, JP_YEN },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO } },

//●●●レイヤー6 数字
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{ { KC_5, KC_1, KC_2, KC_3, KC_4 },
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ KC_0, KC_6, KC_7, KC_8, KC_9 },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ JP_EQL, JP_ASTR, JP_SLSH, JP_PLUS, JP_MINS },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ KC_F5, KC_F1, KC_F2, KC_F3, KC_F4 },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_F10, KC_F6, KC_F7, KC_F8, KC_F9 },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ KC_NO, KC_F11, KC_F12, JP_CIRC, JP_YEN },
//●●●●●
{ KC_ENTER, KC_NO, KC_NO, KC_NO, KC_NO } },

//レイヤー7 制御用
//●○○○○ ○●○○○ ○○●○○ ○○○●○ ○○○○●
{{KC_ZKHK, KC_BSPC, KC_SPACE, KC_ENTER, KC_NO},
//●●○○○ ○●●○○ ○○●●○ ○○○●● ●○○○●
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
//●○●○○ ○●○●○ ○○●○● ●○○●○ ○●○○●
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
//○●●●● ●○●●● ●●○●● ●●●○● ●●●●○
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
//○○●●● ●○○●● ●●○○● ●●●○○ ○●●●○
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
//○●○●● ●○●○● ●●○●○ ○●●○● ●○●●○
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO },
//●●●●●
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }}
};

ここのKC_UをKC_Aに変えれば、Uが打てていた物がAを打つようになります。

キーコードに関しては、ここを参照して下さい。

レイヤー0は、Dozen0の下段左から3番目のみを押した時のレイヤーでアルファベット小文字が割り当てられています。

レイヤー1は、Dozen0の下段左から4番目のみを押した時のレイヤーでアルファベット大文字が割り当てられています。

レイヤー2は、Dozen0の下段左から3番目と4番目を同時に押した時のレイヤーで記号が割り当てられています。

レイヤー3は、Dozen0の下段左から5番目のみを押した時のレイヤーで数字が割り当てられています。

レイヤー5は、Dozen0の下段左から4番目と5番目を同時に押した時のレイヤーでカーソル移動が割り当てられています。

それ以外のレイヤー4、レイヤー6にはとりあえず、数字を割り当てています。

レイヤー7は、順にDozen0の上段一番左、左から二番目、一番右、下段左から二番目を押した時に出る文字を示しています。

 

戻る ホーム 上へ 進む

メールはこちらまで