Netflix専用キーボードにスライドスイッチを付ける
Netflix 専用キーボードをもうちょっと改善。
気になるのは、ロータリーエンコーダー。
現在は、右・左回転に →/←
カーソルを割り当てている。
Netflixの時はそれでもいいが、↑/↓
カーソルも使いときもある。
ということで動作を変えるたのめスイッチを導入。
Aliexpress 目測を誤った大きなスイッチ(キーキャップと同じくらい)を使うときが来た!
スイッチの配線
ロータリーエンコードが干渉するので、キースイッチをおけない一番右のスロットにぴったり。
スイッチを右にすると、配線がつながる(キーの押下)ように半田付け。
プログラム
一番右(1行目D列)をMODキーにする。
[0] = LAYOUT( /* Base */
// LEFT HAND
KC_AUDIO_VOL_DOWN, KC_SPC, KC_AUDIO_VOL_UP, MO(1), KC_5, XXXXXXX,
KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
KC_A, KC_B, KC_C, KC_D, KC_E, XXXXXXX,
グローバル変数 layer_state
を参照することで、MODキーの状態がわかる。
- layer_state=0 : MODキーなし
- layer_state=2 :
MOD(1)
押下中
void encoder_update_user(uint8_t index, bool clockwise) {
uprintf("EN: layer: %u, index: %u, clockwise: %u\n", layer_state, index, clockwise);
if (layer_state == 0) {
if (clockwise) {
tap_code16(KC_LEFT);
} else {
tap_code16(KC_RIGHT);
}
} else {
if (clockwise) {
tap_code16(KC_UP);
} else {
tap_code16(KC_DOWN);
}
}
}
キーを押下しながら、ロータリーエンコーダーがまわすのはなんだかやりにくそうだったので、これで安心。