From a552e8482ad330da0737a47b7371507bdb54e78f Mon Sep 17 00:00:00 2001 From: user Date: Tue, 2 Jan 2024 06:31:21 +0100 Subject: fn + b type: https://node5.net --- .../handwired/node5_1/keymaps/default/keymap.c | 73 ++++++++++++---------- keyboards/handwired/node5_1/rules.mk | 3 + 2 files changed, 43 insertions(+), 33 deletions(-) (limited to 'keyboards/handwired/node5_1') diff --git a/keyboards/handwired/node5_1/keymaps/default/keymap.c b/keyboards/handwired/node5_1/keymaps/default/keymap.c index b3df4d2503..e33fa23b50 100644 --- a/keyboards/handwired/node5_1/keymaps/default/keymap.c +++ b/keyboards/handwired/node5_1/keymaps/default/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+---------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+-----------------| _______, _______, DM_REC1, KC_SLEP,_______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, _______, //|--------+---------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+-----------------| - _______, _______,_______,TO(_COLEMAK),_______,_______, _______, KC_P0, KC_COMM, KC_PDOT, KC_PSLS, _______, _______, _______, + _______, _______,_______,TO(_COLEMAK),_______,PB_1, _______, KC_P0, KC_COMM, KC_PDOT, KC_PSLS, _______, _______, _______, //|--------+---------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, _______, _______, _______, _______ //|--------+---------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -208,38 +208,45 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - //dprintf("keycode: %d\n", keycode); - if (keycode == KC_BTN3) { - if (record->event.pressed) { - // Middle mouse button pressed - // Start scrolling mode - set_scrolling = true; - pointing_device_set_cpi(8000); - pimoroni_trackball_set_rgbw(0, 0, 255, 0); - - // Don't send pressed to computer, as there's some logic - // to check if scrolled. This logic is handled later - return false; - } else { - // Stop scrolling mode - set_scrolling = false; - - // Reset CPI - pointing_device_set_cpi(cpis[cpi_index].cpi); - set_trackball_normal_color(); - - // Middle mouse button wasn't sent earlier, - // send if not scrolled on mouse button up. - // Similar to how ThinkPads handles it - if (!scrolled) { - SEND_STRING(SS_TAP(X_MS_BTN3)); - } - else { - scrolled = false; - } - } - } - return true; + //dprintf("keycode: %d\n", keycode); + switch (keycode) { + case KC_BTN3: + if (record->event.pressed) { + // Middle mouse button pressed + // Start scrolling mode + set_scrolling = true; + pointing_device_set_cpi(8000); + pimoroni_trackball_set_rgbw(0, 0, 255, 0); + + // Don't send pressed to computer, as there's some logic + // to check if scrolled. This logic is handled later + return false; + } else { + // Stop scrolling mode + set_scrolling = false; + + // Reset CPI + pointing_device_set_cpi(cpis[cpi_index].cpi); + set_trackball_normal_color(); + + // Middle mouse button wasn't sent earlier, + // send if not scrolled on mouse button up. + // Similar to how ThinkPads handles it + if (!scrolled) { + SEND_STRING(SS_TAP(X_MS_BTN3)); + } + else { + scrolled = false; + } + } + break; + case PB_1: + if (record->event.pressed) { + SEND_STRING("https://node5.net"); + } + break; + } + return true; } void suspend_power_down_user(void) { diff --git a/keyboards/handwired/node5_1/rules.mk b/keyboards/handwired/node5_1/rules.mk index 9eff0a1125..5a6599f948 100644 --- a/keyboards/handwired/node5_1/rules.mk +++ b/keyboards/handwired/node5_1/rules.mk @@ -26,3 +26,6 @@ WS2812_DRIVER = vendor # https://docs.qmk.fm/#/feature_dynamic_macros DYNAMIC_MACRO_ENABLE = yes +# Custom buttons, not sent to OS +# https://docs.qmk.fm/#/feature_programmable_button +PROGRAMMABLE_BUTTON_ENABLE = yes -- cgit 1.4.1