From 55843480fffddebf15b3557fb11dca6206ab7b7b Mon Sep 17 00:00:00 2001 From: Zach White Date: Mon, 28 Dec 2020 20:06:07 -0800 Subject: Fix compile issues from the error page (#11314) * fix abacus so it works with configurator * create the keymap path if it doesn't exist * bpiphany/unloved_bastard: remove the nested macros, move default keymap to json * readd the unloved_bastard default keymap * fix clueboard/card * fixup handwired/2x5keypad * fixup hub16 * matrix/noah: remove the broken matrix print code to fix compilation * reinstate matrix_print with the right include * Revert "create the keymap path if it doesn't exist" This reverts commit af732776a539e8c6e2edf2e54f4d7f5ffa65b3a2. --- keyboards/hub16/keymaps/default/keymap.c | 115 --------------------- keyboards/hub16/keymaps/default/keymap.json | 1 + keyboards/hub16/keymaps/default_tap_dance/keymap.c | 115 +++++++++++++++++++++ keyboards/hub16/keymaps/default_tap_dance/rules.mk | 1 + keyboards/hub16/rules.mk | 1 - 5 files changed, 117 insertions(+), 116 deletions(-) delete mode 100755 keyboards/hub16/keymaps/default/keymap.c create mode 100644 keyboards/hub16/keymaps/default/keymap.json create mode 100755 keyboards/hub16/keymaps/default_tap_dance/keymap.c create mode 100644 keyboards/hub16/keymaps/default_tap_dance/rules.mk (limited to 'keyboards/hub16') diff --git a/keyboards/hub16/keymaps/default/keymap.c b/keyboards/hub16/keymaps/default/keymap.c deleted file mode 100755 index d3cad67ae1..0000000000 --- a/keyboards/hub16/keymaps/default/keymap.c +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright 2019 Josh Johnson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Function key we are 'wrapping' usual key presses in -#define KC_WRAP KC_F24 - -// Keyboard Layers -enum keyboard_layers{ - _BASE = 0, - _CTRL -}; - -// Tap Dance Declarations -void td_ctrl (qk_tap_dance_state_t *state, void *user_data); - -enum tap_dance { CTRL = 0, BASE = 1 }; - -qk_tap_dance_action_t tap_dance_actions[] = { - // Tap once for standard key on base layer, twice to toggle to control layer - [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl), - [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE)}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( /* Base */ - KC_S, KC_V, - KC_A, KC_B, KC_C, KC_D, - KC_E, KC_F, KC_G, KC_H, - KC_I, KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O, TD(CTRL) - ), - - [_CTRL] = LAYOUT( /* Control */ - KC_NO, KC_NO, - _______, RGB_MOD, RGB_RMOD, RGB_TOG, - RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, - RGB_SAD, RGB_SAI, _______, _______, - _______, _______, RESET, TD(BASE) - ), -}; - -// Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, -// allowing for easy differentiation from a real keyboard. -void encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_R); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_Q); - unregister_code(KC_WRAP); - } - } else if (index == 1) { /* Right Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_U); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_T); - unregister_code(KC_WRAP); - } - } -} - -// Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) -// Shoutout to drashna on the QMK discord for basically writing this for me.... :P -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint8_t f24_tracker; - switch (keycode) { - case KC_A ... KC_F23: - case KC_EXECUTE ... KC_EXSEL: - if (record->event.pressed) { - register_code(KC_WRAP); - f24_tracker++; - register_code(keycode); - } else { - unregister_code(keycode); - f24_tracker--; - if (!f24_tracker) { - unregister_code(KC_WRAP); - } - } - return false; - break; - } - return true; -} - -// Below works around TD() not running key press through process_record_user. -// Fixes bug of CTRL layer move key not being wrapped in by modifier on single tap -void td_ctrl (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code(KC_WRAP); - tap_code(KC_P); - unregister_code(KC_WRAP); - } else if (state->count == 2) { - layer_move(_CTRL); - } -} \ No newline at end of file diff --git a/keyboards/hub16/keymaps/default/keymap.json b/keyboards/hub16/keymaps/default/keymap.json new file mode 100644 index 0000000000..6f4814eac8 --- /dev/null +++ b/keyboards/hub16/keymaps/default/keymap.json @@ -0,0 +1 @@ +{"version":1,"notes":"","documentation":"\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"hub16","keymap":"default","layout":"LAYOUT","layers":[["KC_NLCK","KC_PSLS","KC_P7","KC_P8","KC_P9","KC_PPLS","KC_P4","KC_P5","KC_P6","KC_PCMM","KC_P1","KC_P2","KC_P3","KC_PEQL","KC_P0","KC_P0","KC_PDOT","KC_PENT"]],"author":""} diff --git a/keyboards/hub16/keymaps/default_tap_dance/keymap.c b/keyboards/hub16/keymaps/default_tap_dance/keymap.c new file mode 100755 index 0000000000..d3cad67ae1 --- /dev/null +++ b/keyboards/hub16/keymaps/default_tap_dance/keymap.c @@ -0,0 +1,115 @@ +/* Copyright 2019 Josh Johnson + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// Function key we are 'wrapping' usual key presses in +#define KC_WRAP KC_F24 + +// Keyboard Layers +enum keyboard_layers{ + _BASE = 0, + _CTRL +}; + +// Tap Dance Declarations +void td_ctrl (qk_tap_dance_state_t *state, void *user_data); + +enum tap_dance { CTRL = 0, BASE = 1 }; + +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for standard key on base layer, twice to toggle to control layer + [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl), + [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE)}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( /* Base */ + KC_S, KC_V, + KC_A, KC_B, KC_C, KC_D, + KC_E, KC_F, KC_G, KC_H, + KC_I, KC_J, KC_K, KC_L, + KC_M, KC_N, KC_O, TD(CTRL) + ), + + [_CTRL] = LAYOUT( /* Control */ + KC_NO, KC_NO, + _______, RGB_MOD, RGB_RMOD, RGB_TOG, + RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, + RGB_SAD, RGB_SAI, _______, _______, + _______, _______, RESET, TD(BASE) + ), +}; + +// Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, +// allowing for easy differentiation from a real keyboard. +void encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* Left Encoder */ + if (clockwise) { + register_code(KC_WRAP); + tap_code(KC_R); + unregister_code(KC_WRAP); + } else { + register_code(KC_WRAP); + tap_code(KC_Q); + unregister_code(KC_WRAP); + } + } else if (index == 1) { /* Right Encoder */ + if (clockwise) { + register_code(KC_WRAP); + tap_code(KC_U); + unregister_code(KC_WRAP); + } else { + register_code(KC_WRAP); + tap_code(KC_T); + unregister_code(KC_WRAP); + } + } +} + +// Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) +// Shoutout to drashna on the QMK discord for basically writing this for me.... :P +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint8_t f24_tracker; + switch (keycode) { + case KC_A ... KC_F23: + case KC_EXECUTE ... KC_EXSEL: + if (record->event.pressed) { + register_code(KC_WRAP); + f24_tracker++; + register_code(keycode); + } else { + unregister_code(keycode); + f24_tracker--; + if (!f24_tracker) { + unregister_code(KC_WRAP); + } + } + return false; + break; + } + return true; +} + +// Below works around TD() not running key press through process_record_user. +// Fixes bug of CTRL layer move key not being wrapped in by modifier on single tap +void td_ctrl (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code(KC_WRAP); + tap_code(KC_P); + unregister_code(KC_WRAP); + } else if (state->count == 2) { + layer_move(_CTRL); + } +} \ No newline at end of file diff --git a/keyboards/hub16/keymaps/default_tap_dance/rules.mk b/keyboards/hub16/keymaps/default_tap_dance/rules.mk new file mode 100644 index 0000000000..25ec20cc46 --- /dev/null +++ b/keyboards/hub16/keymaps/default_tap_dance/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes # Support for tap dancing diff --git a/keyboards/hub16/rules.mk b/keyboards/hub16/rules.mk index b050dcf421..5409bb7f95 100755 --- a/keyboards/hub16/rules.mk +++ b/keyboards/hub16/rules.mk @@ -32,6 +32,5 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches ENCODER_ENABLE = yes # Rotary Encoder support -TAP_DANCE_ENABLE = yes # Support for tap dancing SRC = matrix.c -- cgit v1.2.3