⌨️
Meishi2でダイオードの必要性を検証する
なぜ自作キーボードにダイオードが必要か考えてみた を読んで、ダイオードの必要性についてわかったつもりになったのですが、動作確認しておかないと本当に理解できたとは言えないと思い、実際に試してみることにしました。
読んだ記事では 2x2 のマトリックスで説明がされていました。手元にある meishi2 がまさにこの形なのでそれを使います。
準備
keyboard.json より、左から右に (row, col) = (0,0), (0,1), (1,0), (1,1) が並んでいるので、参照した記事に合わせてそれぞれ、KC_A, KC_B, KC_C, KC_Dを割り当てます。
keyboard.json
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [1, 0], "x": 2, "y": 0},
{"matrix": [1, 1], "x": 3, "y": 0}
]
}
}
検証
テキストエディタに入力できる状態にしておいて、左から3つのキーを同時に押すと以下のように入力されます。
cab
一番左のダイオードをなかったことにするため、ピンセットでショートさせます。
すると、左から3つのキー a,b,c を同時に押したときの入力は
cabd
のようになり、意図しない d の入力がされていることが確認できました。
同様に、
- 2つ目のダイオードをショートさせると a,b,d の同時押しで意図しない c が入力される
- 3つ目のダイオードをショートさせると a,c,d の同時押しで意図しない b が入力される
- 4つ目のダイオードをショートさせると b,c,d の同時押しで意図しない a が入力される
も確認できました。
Discussion