以前作って使ってなかったキーボードを使おうと思って接続したらなんかおかしかったのでやり直したという備忘録。
環境
Mac BookPro 2022 M2
MacOS 13.7.1(22H221)1
qmk version 1.1.6
キーボード一式 (組み込み済み)
項目 | 内容 | Link |
---|---|---|
PCB | YMDK YM60MQ (QMK Type C No RGB) 光らないこのサイズが良かった |
aliexpress |
ポジショニングボード | Alu Black Plate A 一般的なJISにしたかった。けどちょっと失敗した2 |
aliexpress |
スイッチ | Outemu Dust-Proof Red 90個 なんかだいぶ余ってる。なんでこれにしたのかは覚えてない |
aliexpress |
スタビライザー | スペースバー用 1x3u, Black OEM Stab エンター用 1x2u, Black OEM Stab |
aliexpress |
ケース | ほぼむき出しだったけど、事故ったので買い足した。 なんでもよかった |
amazon |
キーキャップ | DSA 無刻印キーキャップだったか EnterとSpaceは別で買ったような。。詳細不明 |
遊舎工房 |
キートップシール | 無刻印のままで もかっこいいんですが。 | amazon |
前述したように以前作成済みのため、はんだ付けなどは終わっているところからスタートです。
QMK
キーマップ作成に便利
- https://docs.qmk.fm/keycodes
- https://config.qmk.fm/#/ymdk/yd60mq/12led/LAYOUT_60_iso_split_bs_rshift
動作確認に便利
キーボードレイアウトはこんな感じ
Keyboard Layout Editorで作成3
本編
brewでインストール4
brewについてはこちら
利用状態によるとは思いますがすごく時間がかかります。
brew install qmk/qmk/qmk
qmkを使えるようにする
cd /pathto/workspace/Keyboard/
qmk config user.qmk_home=/pathto/Keyboard/qmk_firmware
qmk setup
qmk_firmware/util/qmk_install.sh
60_jis_custom
と言う名前でレイアウトを設定します。
以下をやらないとエラーを吐くためディレクトリを作成。
mkdir qmk_firmware/layouts/default/60_jis_custom
利用設定
cp -a qmk_firmware/keyboards/ymdk/yd60mq qmk_firmware/keyboards/ymdk/yd60mq.bak
cd qmk_firmware/keyboards/ymdk/yd60mq/
cp -a keymaps/default keymaps/jis_custom
LED無しなのでなんとなく 0led
でおいてみる
sed -i '' 's/12led/0led/' rules.mk
cp -a 12led 0led
sed -i '' 's/12/0/g' 0led/readme.md
vi 0led/keyboard.json # 編集内容は下に記載
{
"usb": {
"device_version": "0.0.1"
},
"rgblight": {
"saturation_steps": 0,
"brightness_steps": 0,
"led_count": 0,
"animations": {
"breathing": false,
"rainbow_mood": false,
"rainbow_swirl": false,
"snake": false,
"knight": false,
"christmas": false,
"static_gradient": false,
"rgb_test": false,
"alternating": false,
"twinkle": false
}
}
}
キーマップ
vi keymaps/jis_custom/keymap.c # 編集内容は下に記載
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_60_jis_custom(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_UP, KC_RSFT,
KC_CAPS, KC_LALT, KC_LGUI, KC_LNG2, KC_SPC, KC_LNG1, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_60_jis_custom(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_NO, KC_BRID, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
KC_RCTL, 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_PGUP, KC_NO,
KC_NO, KC_RALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END
),
};
sed -i '' 's/"60_iso_tsangan"],/"60_iso_tsangan", "60_jis_custom"],/' info.json
vi info.json # 編集内容は下に記載
レイアウト設定の配列に以下を追加する
"LAYOUT_60_jis_custom": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2},
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
{"matrix": [3, 7], "x": 7, "y": 3},
{"matrix": [3, 8], "x": 8, "y": 3},
{"matrix": [3, 9], "x": 9, "y": 3},
{"matrix": [3, 10], "x": 10, "y": 3},
{"matrix": [3, 11], "x": 11, "y": 3},
{"matrix": [3, 12], "x": 12, "y": 3},
{"matrix": [3, 13], "x": 13, "y": 3},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.75},
{"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 5.5, "y": 4, "w": 3},
{"matrix": [4, 8], "x": 8.5, "y": 4, "w": 1.25},
{"matrix": [4, 9], "x": 9.75, "y": 4, "w": 1.25},
{"matrix": [4, 10], "x": 11, "y": 4},
{"matrix": [4, 11], "x": 12, "y": 4},
{"matrix": [4, 12], "x": 13, "y": 4},
{"matrix": [4, 13], "x": 14, "y": 4}
]
}
コンパイル
qmk compile -kb yd60mq -km jis_custom
この位置にhexができているはずです。
/pathto/workspace/Keyboard/qmk_firmware/ymdk_yd60mq_0led_jis_custom.hex
フラッシュ
キーボードを接続した状態で叩いてください。
qmk flash -kb yd60mq -km jis_custom
場合によってはQMK Toolboxを使ってもいいかもしれません。
その場合は上記 hex を指定してあげればいいです。
キーボードの再起動、リセットについて
キーマップでQK_BOOT
を設定済みであればそれを押すことでOK
ないのであれば、キーボードに用意してあるRESET
をショートさせればOK (初回であれば多分こっち)
以下の赤丸のところをピンセットとかで触って離す。
おかしかったこと
-
[Q]
が押せない、押しても完全に無反応問題
スイッチの不良かと思ってテスターで通電チェックしても問題なし、なのでキーマップの設定とかがおかしいのかと思って色々やっても改善せず。。
色々ためした結果、なんと!1.5mmぐらいの半導体?が一個なくなっていた。。
ケースを使わずむき出しで置いてたのもあり、なにかにぶつかって落ちたものと思われる。
しまっていたところの下を確認したら落ちてたw
なのでそれを拾ってはんだごてでつけました。その結果[Q]
が押せるようになりました。
ちゃんとケースにいれましょう。
赤丸が最初からの状態。青丸が拾ってつけた状態。汚いけどいいんです。
-
[Z]
が押せない問題
これは上記[Q]
とは違い設定によってはちゃんと押せていた。
結果としてはレイアウトの4列目の設定1番目と2番目
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, {"matrix": [3, 2], "x": 2, "y": 3}
この"matrix": [3, 2]
が"matrix": [3, 1]
になって続いていたため。
ちゃんとドキュメントを読んでないのであれなのですが、今回はたまたま左Shiftが2uの構成ですが、形としては左Shiftが1uだった場合もあるので、それを考慮されている?のかなという結論。
まぁ今回は"matrix": [3, 1]
にスイッチはないのですっ飛ばされたのかなと思う。