summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
authoruser <user@node5.net>2024-01-02 06:31:21 +0100
committeruser <user@node5.net>2024-01-02 06:31:21 +0100
commita552e8482ad330da0737a47b7371507bdb54e78f (patch)
tree5d7cd148e7f938c1a7c4344e8a31c82cadf148ff /keyboards/handwired
parente6cf467ee353358c5bbfacc3a5c28a9423ea6756 (diff)
fn + b type: https://node5.net
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/node5_1/keymaps/default/keymap.c67
-rw-r--r--keyboards/handwired/node5_1/rules.mk3
2 files changed, 40 insertions, 30 deletions
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);
+ //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;
+ // 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();
+ // 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;
+ // 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