From e5a92fa80f26243167a703fdd778fde3c9097adc Mon Sep 17 00:00:00 2001 From: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Mon, 25 Dec 2023 22:40:30 +0800 Subject: Refactor: group rookiebwoy keyboards (#22745) Move @rookiebwoy's keyboards into rookiebwoy folder --- keyboards/late9/readme.md | 27 --- keyboards/late9/rev1/config.h | 20 -- keyboards/late9/rev1/info.json | 53 ----- keyboards/late9/rev1/keymaps/default/keymap.c | 84 -------- keyboards/late9/rev1/keymaps/default/readme.md | 3 - keyboards/late9/rev1/keymaps/multitap/keymap.c | 235 --------------------- keyboards/late9/rev1/keymaps/multitap/readme.md | 3 - keyboards/late9/rev1/keymaps/multitap/rules.mk | 2 - keyboards/late9/rev1/readme.md | 5 - keyboards/late9/rev1/rev1.c | 61 ------ keyboards/late9/rev1/rules.mk | 14 -- keyboards/late9/rules.mk | 1 - keyboards/neopad/readme.md | 25 --- keyboards/neopad/rev1/config.h | 21 -- keyboards/neopad/rev1/info.json | 40 ---- keyboards/neopad/rev1/keymaps/default/keymap.c | 154 -------------- keyboards/neopad/rev1/readme.md | 5 - keyboards/neopad/rev1/rev1.c | 65 ------ keyboards/neopad/rev1/rules.mk | 15 -- keyboards/neopad/rules.mk | 1 - keyboards/rookiebwoy/late9/readme.md | 27 +++ keyboards/rookiebwoy/late9/rev1/config.h | 20 ++ keyboards/rookiebwoy/late9/rev1/info.json | 53 +++++ .../rookiebwoy/late9/rev1/keymaps/default/keymap.c | 84 ++++++++ .../late9/rev1/keymaps/default/readme.md | 3 + .../late9/rev1/keymaps/multitap/keymap.c | 235 +++++++++++++++++++++ .../late9/rev1/keymaps/multitap/readme.md | 3 + .../late9/rev1/keymaps/multitap/rules.mk | 2 + keyboards/rookiebwoy/late9/rev1/readme.md | 5 + keyboards/rookiebwoy/late9/rev1/rev1.c | 61 ++++++ keyboards/rookiebwoy/late9/rev1/rules.mk | 14 ++ keyboards/rookiebwoy/late9/rules.mk | 1 + keyboards/rookiebwoy/neopad/readme.md | 25 +++ keyboards/rookiebwoy/neopad/rev1/config.h | 21 ++ keyboards/rookiebwoy/neopad/rev1/info.json | 40 ++++ .../neopad/rev1/keymaps/default/keymap.c | 154 ++++++++++++++ keyboards/rookiebwoy/neopad/rev1/readme.md | 5 + keyboards/rookiebwoy/neopad/rev1/rev1.c | 65 ++++++ keyboards/rookiebwoy/neopad/rev1/rules.mk | 15 ++ keyboards/rookiebwoy/neopad/rules.mk | 1 + 40 files changed, 834 insertions(+), 834 deletions(-) delete mode 100644 keyboards/late9/readme.md delete mode 100644 keyboards/late9/rev1/config.h delete mode 100644 keyboards/late9/rev1/info.json delete mode 100644 keyboards/late9/rev1/keymaps/default/keymap.c delete mode 100644 keyboards/late9/rev1/keymaps/default/readme.md delete mode 100644 keyboards/late9/rev1/keymaps/multitap/keymap.c delete mode 100644 keyboards/late9/rev1/keymaps/multitap/readme.md delete mode 100644 keyboards/late9/rev1/keymaps/multitap/rules.mk delete mode 100644 keyboards/late9/rev1/readme.md delete mode 100644 keyboards/late9/rev1/rev1.c delete mode 100644 keyboards/late9/rev1/rules.mk delete mode 100755 keyboards/late9/rules.mk delete mode 100644 keyboards/neopad/readme.md delete mode 100755 keyboards/neopad/rev1/config.h delete mode 100755 keyboards/neopad/rev1/info.json delete mode 100755 keyboards/neopad/rev1/keymaps/default/keymap.c delete mode 100644 keyboards/neopad/rev1/readme.md delete mode 100755 keyboards/neopad/rev1/rev1.c delete mode 100755 keyboards/neopad/rev1/rules.mk delete mode 100755 keyboards/neopad/rules.mk create mode 100644 keyboards/rookiebwoy/late9/readme.md create mode 100644 keyboards/rookiebwoy/late9/rev1/config.h create mode 100644 keyboards/rookiebwoy/late9/rev1/info.json create mode 100644 keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c create mode 100644 keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md create mode 100644 keyboards/rookiebwoy/late9/rev1/keymaps/multitap/keymap.c create mode 100644 keyboards/rookiebwoy/late9/rev1/keymaps/multitap/readme.md create mode 100644 keyboards/rookiebwoy/late9/rev1/keymaps/multitap/rules.mk create mode 100644 keyboards/rookiebwoy/late9/rev1/readme.md create mode 100644 keyboards/rookiebwoy/late9/rev1/rev1.c create mode 100644 keyboards/rookiebwoy/late9/rev1/rules.mk create mode 100755 keyboards/rookiebwoy/late9/rules.mk create mode 100644 keyboards/rookiebwoy/neopad/readme.md create mode 100755 keyboards/rookiebwoy/neopad/rev1/config.h create mode 100755 keyboards/rookiebwoy/neopad/rev1/info.json create mode 100755 keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c create mode 100644 keyboards/rookiebwoy/neopad/rev1/readme.md create mode 100755 keyboards/rookiebwoy/neopad/rev1/rev1.c create mode 100755 keyboards/rookiebwoy/neopad/rev1/rules.mk create mode 100755 keyboards/rookiebwoy/neopad/rules.mk (limited to 'keyboards') diff --git a/keyboards/late9/readme.md b/keyboards/late9/readme.md deleted file mode 100644 index 1d85e788fb..0000000000 --- a/keyboards/late9/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# LATE-9 - - -The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '90s. LATE-9 is intended as a dev board with 18 buttons and an OLED screen, made by through-hole components only. With this, you can experiment QMK OLED capabilities with very little expense. - -![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto") - -See the project repository for gerbers. - -* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) -* Hardware supported: ProMicro, _Elite-C (not tested)_ -* Project repository: [LATE-9 on github](https://github.com/rookiebwoy/late-9) - -Make example for this keyboard (after setting up your build environment): - - make late9/rev1:default - -Flashing example for this keyboard: - - make late9/rev1:default:flash - - -When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device. -After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - diff --git a/keyboards/late9/rev1/config.h b/keyboards/late9/rev1/config.h deleted file mode 100644 index 8c9a5702f2..0000000000 --- a/keyboards/late9/rev1/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 rookiebwoy - -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 . -*/ -#pragma once - -/* Oneshot interval */ -#define ONESHOT_TIMEOUT 5000 diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json deleted file mode 100644 index 05d0934b96..0000000000 --- a/keyboards/late9/rev1/info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "keyboard_name": "LATE-9", - "manufacturer": "rookiebwoy", - "url": "https://github.com/rookiebwoy/late-9)", - "maintainer": "rookiebwoy", - "usb": { - "vid": "0xFEED", - "pid": "0x3777", - "device_version": "0.1.0" - }, - "tapping": { - "term": 400 - }, - "build": { - "debounce_type": "sym_eager_pk" - }, - "matrix_pins": { - "cols": ["B5", "C6", "D4"], - "rows": ["B4", "E6", "D7", "B3", "B2", "B6"] - }, - "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - - {"matrix": [5, 0], "x": 0, "y": 5}, - {"matrix": [5, 1], "x": 1, "y": 5}, - {"matrix": [5, 2], "x": 2, "y": 5} - ] - } - } -} diff --git a/keyboards/late9/rev1/keymaps/default/keymap.c b/keyboards/late9/rev1/keymaps/default/keymap.c deleted file mode 100644 index bed15eb57e..0000000000 --- a/keyboards/late9/rev1/keymaps/default/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright 2021 rookiebwoy - * - * 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 - -// Layers declarations -enum layers { - _BL, - _OL -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap _BL: Base Layer - * ,-----------------------. - * |MO(OP) | ↑ | BSPC | - * | | | | - * |-------|-------|-------| - * | <- | ↓ | -> | - * | | | | - * |-------|-------|-------| - * | 1 | 2 | 3 | - * | | | | - * |-------|-------|-------| - * | 4 | 5 | 6 | - * | | | | - * |-------|-------|-------| - * | 7 | 8 | 9 | - * | | | | - * |-------|-------|-------| - * | 0 | . | = | - * | | | | - * `-----------------------' - */ - [_BL] = LAYOUT( - MO(1), KC_UP, KC_BSPC, - KC_LEFT, KC_DOWN, KC_RIGHT, - KC_P1, KC_P2, KC_P3, - KC_P4, KC_P5, KC_P6, - KC_P7, KC_P8, KC_P9, - KC_P0, KC_PDOT, KC_PEQL - ), - -/* Keymap _OP: Operators Layer - * ,-----------------------. - * |MO(OP) | ↑ | BSPC | - * | | | | - * |-------|-------|-------| - * | <- | ↓ | -> | - * | | | | - * |-------|-------|-------| - * | / | * | - | - * | | | | - * |-------|-------|-------| - * | ( | ) | + | - * | | | | - * |-------|-------|-------| - * | & | % | ^ | - * | | | | - * |-------|-------|-------| - * | | | . | = | - * | | | | - * `-----------------------' - */ - [_OL] = LAYOUT( - MO(1), KC_UP, KC_BSPC, - KC_LEFT, KC_DOWN, KC_RIGHT, - KC_PSLS, KC_PAST, KC_PMNS, - LSFT(KC_9), LSFT(KC_0), KC_PPLS, - LSFT(KC_7), LSFT(KC_5), LSFT(KC_6), - LSFT(KC_BSLS), KC_PDOT, KC_PEQL - ), -}; \ No newline at end of file diff --git a/keyboards/late9/rev1/keymaps/default/readme.md b/keyboards/late9/rev1/keymaps/default/readme.md deleted file mode 100644 index f78318d7de..0000000000 --- a/keyboards/late9/rev1/keymaps/default/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# LATE-9 default keymap - -This is a simple 2-layer calculator look-a-like layout. diff --git a/keyboards/late9/rev1/keymaps/multitap/keymap.c b/keyboards/late9/rev1/keymaps/multitap/keymap.c deleted file mode 100644 index e378fb4921..0000000000 --- a/keyboards/late9/rev1/keymaps/multitap/keymap.c +++ /dev/null @@ -1,235 +0,0 @@ -/* Copyright 2021 rookiebwoy - * - * 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 - -// Layers declarations -enum layers { - _BL -}; - -// Tap Dance declarations -enum { - TD_PNCT, - TD_ABC, - TD_DEF, - TD_GHI, - TD_JKL, - TD_MNO, - TD_PQRS, - TD_TUV, - TD_WXYZ, - TD_SPACE, - TD_UPRCS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap _BL: Base Layer - * ,-----------------------. - * |ENTER | ↑ | BSPC | - * | | | | - * |-------|-------|-------| - * | <- | ↓ | -> | - * | | | | - * |-------|-------|-------| - * | 1 .,' | 2 | 3 | - * |?!-:;/ | abc | def | - * |-------|-------|-------| - * | 4 | 5 | 6 | - * | ghi | jkl | mno | - * |-------|-------|-------| - * | 7 | 8 | 9 | - * | pqrs | tuv | wxyz | - * |-------|-------|-------| - * | * | 0 | CAPS | - * | | space | | - * `-----------------------' - */ - [_BL] = LAYOUT( - KC_ENT, KC_UP, KC_BSPC, - KC_LEFT, KC_DOWN, KC_RIGHT, - TD(TD_PNCT), TD(TD_ABC), TD(TD_DEF), - TD(TD_GHI), TD(TD_JKL), TD(TD_MNO), - TD(TD_PQRS), TD(TD_TUV), TD(TD_WXYZ), - KC_PAST, TD(TD_SPACE), TD(TD_UPRCS) - ), -}; - -// Tap Dance cycles -void dance_1 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_DOT); - else return tap_code(KC_1); - } else if (state->count == 2) { - tap_code (KC_COMM); - } else if (state->count == 3) { - tap_code(KC_QUOT); - } else if (state->count == 4) { - tap_code16(KC_QUES); - } else if (state->count == 5) { - tap_code16(KC_EXLM); - } else if (state->count == 6) { - tap_code(KC_MINS); - } else if (state->count == 7) { - tap_code16(KC_COLN); - } else if (state->count == 8) { - tap_code(KC_SCLN); - } else if (state->count == 9) { - tap_code(KC_SLSH); - } else { - reset_tap_dance (state); - } -} - -void dance_2 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_A); - else return tap_code(KC_2); - } else if (state->count == 2) { - tap_code (KC_B); - } else if (state->count == 3) { - tap_code(KC_C); - } else { - reset_tap_dance (state); - } -} - -void dance_3 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_D); - else return tap_code(KC_3); - } else if (state->count == 2) { - tap_code (KC_E); - } else if (state->count == 3) { - tap_code(KC_F); - } else { - reset_tap_dance (state); - } -} - -void dance_4 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_G); - else return tap_code(KC_4); - } else if (state->count == 2) { - tap_code (KC_H); - } else if (state->count == 3) { - tap_code(KC_I); - } else { - reset_tap_dance (state); - } -} - -void dance_5 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_J); - else return tap_code(KC_5); - } else if (state->count == 2) { - tap_code (KC_K); - } else if (state->count == 3) { - tap_code(KC_L); - } else { - reset_tap_dance (state); - } -} - -void dance_6 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_M); - else return tap_code(KC_6); - } else if (state->count == 2) { - tap_code (KC_N); - } else if (state->count == 3) { - tap_code(KC_O); - } else { - reset_tap_dance (state); - } -} - -void dance_7 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_P); - else return tap_code(KC_7); - } else if (state->count == 2) { - tap_code (KC_Q); - } else if (state->count == 3) { - tap_code(KC_R); - } else if (state->count == 4) { - tap_code(KC_S); - } else { - reset_tap_dance (state); - } -} - -void dance_8 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_T); - else return tap_code(KC_8); - } else if (state->count == 2) { - tap_code (KC_U); - } else if (state->count == 3) { - tap_code(KC_V); - } else { - reset_tap_dance (state); - } -} - -void dance_9 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_W); - else return tap_code(KC_9); - } else if (state->count == 2) { - tap_code (KC_X); - } else if (state->count == 3) { - tap_code(KC_Y); - } else if (state->count == 4) { - tap_code(KC_Z); - } else { - reset_tap_dance (state); - } -} - -void dance_0 (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return tap_code(KC_SPACE); - else return tap_code(KC_0); - } else { - reset_tap_dance (state); - } -} - -void dance_maiusc (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || !state->pressed) return set_oneshot_mods(MOD_BIT(KC_LSFT)); - else return tap_code(KC_CAPS); - } else { - reset_tap_dance (state); - } -} - -// Tap Dance actions -tap_dance_action_t tap_dance_actions[] = { - [TD_PNCT] = ACTION_TAP_DANCE_FN (dance_1), - [TD_ABC] = ACTION_TAP_DANCE_FN (dance_2), - [TD_DEF] = ACTION_TAP_DANCE_FN (dance_3), - [TD_GHI] = ACTION_TAP_DANCE_FN (dance_4), - [TD_JKL] = ACTION_TAP_DANCE_FN (dance_5), - [TD_MNO] = ACTION_TAP_DANCE_FN (dance_6), - [TD_PQRS] = ACTION_TAP_DANCE_FN (dance_7), - [TD_TUV] = ACTION_TAP_DANCE_FN (dance_8), - [TD_WXYZ] = ACTION_TAP_DANCE_FN (dance_9), - [TD_SPACE] = ACTION_TAP_DANCE_FN (dance_0), - [TD_UPRCS] = ACTION_TAP_DANCE_FN (dance_maiusc), -}; diff --git a/keyboards/late9/rev1/keymaps/multitap/readme.md b/keyboards/late9/rev1/keymaps/multitap/readme.md deleted file mode 100644 index 2b5136c2b8..0000000000 --- a/keyboards/late9/rev1/keymaps/multitap/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# LATE-9 multitap keymap - -This is the intended LATE-9 layout with multitap `ON` and old mobile phone look-a-like layout.. diff --git a/keyboards/late9/rev1/keymaps/multitap/rules.mk b/keyboards/late9/rev1/keymaps/multitap/rules.mk deleted file mode 100644 index 4141c3e7a4..0000000000 --- a/keyboards/late9/rev1/keymaps/multitap/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Enable Tap Dance feature -TAP_DANCE_ENABLE = yes diff --git a/keyboards/late9/rev1/readme.md b/keyboards/late9/rev1/readme.md deleted file mode 100644 index d9683222a9..0000000000 --- a/keyboards/late9/rev1/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# LATE-9 rev1 - -First (and final untill now) revision of the LATE-9. For in depth look please go to [project repository](https://github.com/rookiebwoy/late-9). - - diff --git a/keyboards/late9/rev1/rev1.c b/keyboards/late9/rev1/rev1.c deleted file mode 100644 index aa45141b06..0000000000 --- a/keyboards/late9/rev1/rev1.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright 2021 rookiebwoy - * - * 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 "quantum.h" - -// OLED logo -#ifdef OLED_ENABLE -bool oled_task_kb(void) { - if (!oled_task_user()) { return false; } - static const char PROGMEM rb_logo[] = { - // rookiebwoy 128x32px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, - 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x1c, - 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, - 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, - 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, - 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x07, 0x07, 0x07, - 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x3f, - 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, - 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, - 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, - 0x00, 0x00, 0x07, 0x07, 0x07, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(rb_logo, sizeof(rb_logo)); - return false; -} - -#endif diff --git a/keyboards/late9/rev1/rules.mk b/keyboards/late9/rev1/rules.mk deleted file mode 100644 index 874033acc9..0000000000 --- a/keyboards/late9/rev1/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -OLED_ENABLE = yes diff --git a/keyboards/late9/rules.mk b/keyboards/late9/rules.mk deleted file mode 100755 index 51c1b0d2a6..0000000000 --- a/keyboards/late9/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = late9/rev1 diff --git a/keyboards/neopad/readme.md b/keyboards/neopad/readme.md deleted file mode 100644 index 9e83e9bb6d..0000000000 --- a/keyboards/neopad/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Neopad - -Neopad is a little macropad with four switches and two rotary encoders, made by through hole components only. -_Actually the number of switches is six, because even the encoder are allowed to click._ - -![Neopad](https://i.imgur.com/TgOkj2Fh.jpg "Neopad first proto") - -The Neopad in the photo above is the first prototype. See the project repository for revision 1 update and KiCad files. - -* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) -* Hardware supported: ProMicro, _Elite-C (not tested)_ -* Project repository: [Neopad on github](https://github.com/rookiebwoy/neopad) - -Make example for this keyboard (after setting up your build environment): - - make neopad/rev1:default - -Flashing example for this keyboard: - - make neopad/rev1:default:flash - -When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device. - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - diff --git a/keyboards/neopad/rev1/config.h b/keyboards/neopad/rev1/config.h deleted file mode 100755 index fd1724caf1..0000000000 --- a/keyboards/neopad/rev1/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 rookiebwoy - -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 . -*/ -#pragma once - -/* Onboard LEDs */ -#define LED_00 F6 -#define LED_01 F7 diff --git a/keyboards/neopad/rev1/info.json b/keyboards/neopad/rev1/info.json deleted file mode 100755 index 0a0340c06d..0000000000 --- a/keyboards/neopad/rev1/info.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "keyboard_name": "neopad", - "manufacturer": "rookiebwoy", - "url": "https://github.com/rookiebwoy/neopad)", - "maintainer": "rookiebwoy", - "usb": { - "vid": "0xFEED", - "pid": "0x0913", - "device_version": "0.1.0" - }, - "matrix_pins": { - "cols": ["B3", "B2", "B6"], - "rows": ["F4", "F5"] - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "D1", "pin_b": "D0"}, - {"pin_a": "D4", "pin_b": "C6"} - ] - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "tapping": { - "toggle": 2 - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1} - ] - } - } -} diff --git a/keyboards/neopad/rev1/keymaps/default/keymap.c b/keyboards/neopad/rev1/keymaps/default/keymap.c deleted file mode 100755 index 08227c84f9..0000000000 --- a/keyboards/neopad/rev1/keymaps/default/keymap.c +++ /dev/null @@ -1,154 +0,0 @@ -/* Copyright 2021 rookiebwoy - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - LAYER 0 - MUSIC - /-----------------------------` - | TO(1) | stop | mute | L ENC: prev/next song - |---------|---------|---------| - | prev | play | next | R ENC: vol up/down - \-----------------------------' - */ - [0] = LAYOUT( - TO(1), KC_MSTP, KC_MUTE, - KC_MPRV, KC_MPLY, KC_MNXT - ), - - /* - LAYER 1 - MOVEMENT IN WINDOWS - /---------------------------------------` - | TO(2) | maximize | show desktop | L ENC: change desktop - |-------------|----------|--------------| - | move window | minimize | move window | R ENC: change browser tab + change explorer window - \---------------------------------------' - */ - [1] = LAYOUT( - TO(2), LGUI(KC_UP), LGUI(KC_D), - LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RIGHT) - ), - - /* - LAYER 2 - SHORTCUT - /------------------------------` - | TO(3) | esc | task man | L ENC: redo/undo - |---------|---------|----------| - | cut | copy | paste | R ENC: mouse wheel up/down - \------------------------------' - */ - [2] = LAYOUT( - TO(3), KC_ESC, LCTL(LSFT(KC_ESC)), - LCTL(KC_X), LCTL(KC_C), LCTL(KC_V) - ), - - /* - LAYER 3 - AUDACITY - /-----------------------------` - | TO(0) | REC | canc | L ENC: pan right/left - |---------|---------|---------| - | ctrl | play | pause | R ENC: mouse wheel up/down - \-----------------------------' - */ - [3] = LAYOUT( - TO(0), LSFT(KC_R), KC_DEL, - KC_LCTL, KC_SPC, KC_P - ), - -}; - - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* LEFT ENCODER */ - switch (get_highest_layer(layer_state)) { - case 0: - // layer 0 - next song (CW) and previous (CCW) - if (clockwise) { - tap_code(KC_MNXT); - } else { - tap_code(KC_MPRV); - } - break; - - case 1: - // layer 1 - change desktop right (CW) and left (CCW) - if (clockwise) { - tap_code16(LCTL(LGUI(KC_RIGHT))); - } else { - tap_code16(LCTL(LGUI(KC_LEFT))); - } - break; - - case 2: - // layer 2 - redo (CW) and undo (CCW) - if (clockwise) { - tap_code16(LCTL(KC_Y)); - } else { - tap_code16(LCTL(KC_Z)); - } - break; - - case 3: - // layer 3 - pan right (CW) and left (CCW) - if (clockwise) { - tap_code(KC_WH_R); - } else { - tap_code(KC_WH_L); - } - break; - } - - } else if (index == 1) { /* RIGHT ENCODER */ - switch (get_highest_layer(layer_state)) { - case 0: - // layer 0 - volume up (CW) and down (CCW) - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - case 1: - // layer 1 - change browser tab (CW) and change explorer window (CCW) - if (clockwise) { - tap_code16(LCTL(KC_TAB)); - } else { - tap_code16(LALT(LSFT(KC_TAB))); - } - break; - - case 2: - // layer 2 - wheel up (CW) and down (CCW) - if (clockwise) { - tap_code(KC_WH_U); - } else { - tap_code(KC_WH_D); - } - break; - - case 3: - // layer 3 - wheel up (CW) and down (CCW) - if (clockwise) { - tap_code(KC_WH_U); - } else { - tap_code(KC_WH_D); - } - break; - } - } - return true; -} diff --git a/keyboards/neopad/rev1/readme.md b/keyboards/neopad/rev1/readme.md deleted file mode 100644 index 1265922722..0000000000 --- a/keyboards/neopad/rev1/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Neopad rev1 - -Final revision of the Neopad macropad. For in depth look please go to [project repository](https://github.com/rookiebwoy/neopad). - - diff --git a/keyboards/neopad/rev1/rev1.c b/keyboards/neopad/rev1/rev1.c deleted file mode 100755 index c8216f4e70..0000000000 --- a/keyboards/neopad/rev1/rev1.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2021 rookiebwoy - * - * 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 "quantum.h" - -void keyboard_pre_init_kb(void) { - // Set LED IO as outputs - setPinOutput(LED_00); - setPinOutput(LED_01); - keyboard_pre_init_user(); -} - -bool shutdown_kb(bool jump_to_bootloader) { - if (!shutdown_user(jump_to_bootloader)) { - return false; - } - // Shutdown LEDs - writePinLow(LED_00); - writePinLow(LED_01); - return true; -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - - // Layer LEDs act as binary indication of current layer - uint8_t layer = get_highest_layer(state); - writePin(LED_00, layer & 0b1); - writePin(LED_01, (layer >> 1) & 0b1); - return state; -} - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - uint8_t led_delay_ms = 80; - for (int i = 0; i < 2; i++) { - writePinHigh(LED_00); - writePinHigh(LED_01); - wait_ms(led_delay_ms); - writePinLow(LED_00); - writePinLow(LED_01); - if (i < 1) { - wait_ms(led_delay_ms); - } - } - - matrix_init_user(); -} diff --git a/keyboards/neopad/rev1/rules.mk b/keyboards/neopad/rev1/rules.mk deleted file mode 100755 index 7816aab001..0000000000 --- a/keyboards/neopad/rev1/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -ENCODER_ENABLE = yes -KEY_LOCK_ENABLE = yes diff --git a/keyboards/neopad/rules.mk b/keyboards/neopad/rules.mk deleted file mode 100755 index 8fc1afe955..0000000000 --- a/keyboards/neopad/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = neopad/rev1 diff --git a/keyboards/rookiebwoy/late9/readme.md b/keyboards/rookiebwoy/late9/readme.md new file mode 100644 index 0000000000..9815391cbd --- /dev/null +++ b/keyboards/rookiebwoy/late9/readme.md @@ -0,0 +1,27 @@ +# LATE-9 + + +The LATE-9 is a multi-tap input keyboard based on mobile phones from the late '90s. LATE-9 is intended as a dev board with 18 buttons and an OLED screen, made by through-hole components only. With this, you can experiment QMK OLED capabilities with very little expense. + +![LATE-9](https://i.imgur.com/QXycTC3h.jpg "LATE-9 first proto") + +See the project repository for gerbers. + +* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) +* Hardware supported: ProMicro, _Elite-C (not tested)_ +* Project repository: [LATE-9 on github](https://github.com/rookiebwoy/late-9) + +Make example for this keyboard (after setting up your build environment): + + make rookiebwoy/late9/rev1:default + +Flashing example for this keyboard: + + make rookiebwoy/late9/rev1:default:flash + + +When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device. +After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + diff --git a/keyboards/rookiebwoy/late9/rev1/config.h b/keyboards/rookiebwoy/late9/rev1/config.h new file mode 100644 index 0000000000..8c9a5702f2 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 rookiebwoy + +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 . +*/ +#pragma once + +/* Oneshot interval */ +#define ONESHOT_TIMEOUT 5000 diff --git a/keyboards/rookiebwoy/late9/rev1/info.json b/keyboards/rookiebwoy/late9/rev1/info.json new file mode 100644 index 0000000000..05d0934b96 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/info.json @@ -0,0 +1,53 @@ +{ + "keyboard_name": "LATE-9", + "manufacturer": "rookiebwoy", + "url": "https://github.com/rookiebwoy/late-9)", + "maintainer": "rookiebwoy", + "usb": { + "vid": "0xFEED", + "pid": "0x3777", + "device_version": "0.1.0" + }, + "tapping": { + "term": 400 + }, + "build": { + "debounce_type": "sym_eager_pk" + }, + "matrix_pins": { + "cols": ["B5", "C6", "D4"], + "rows": ["B4", "E6", "D7", "B3", "B2", "B6"] + }, + "diode_direction": "ROW2COL", + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5}, + {"matrix": [5, 1], "x": 1, "y": 5}, + {"matrix": [5, 2], "x": 2, "y": 5} + ] + } + } +} diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c new file mode 100644 index 0000000000..bed15eb57e --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/default/keymap.c @@ -0,0 +1,84 @@ +/* Copyright 2021 rookiebwoy + * + * 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 + +// Layers declarations +enum layers { + _BL, + _OL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap _BL: Base Layer + * ,-----------------------. + * |MO(OP) | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | 1 | 2 | 3 | + * | | | | + * |-------|-------|-------| + * | 4 | 5 | 6 | + * | | | | + * |-------|-------|-------| + * | 7 | 8 | 9 | + * | | | | + * |-------|-------|-------| + * | 0 | . | = | + * | | | | + * `-----------------------' + */ + [_BL] = LAYOUT( + MO(1), KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + KC_P1, KC_P2, KC_P3, + KC_P4, KC_P5, KC_P6, + KC_P7, KC_P8, KC_P9, + KC_P0, KC_PDOT, KC_PEQL + ), + +/* Keymap _OP: Operators Layer + * ,-----------------------. + * |MO(OP) | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | / | * | - | + * | | | | + * |-------|-------|-------| + * | ( | ) | + | + * | | | | + * |-------|-------|-------| + * | & | % | ^ | + * | | | | + * |-------|-------|-------| + * | | | . | = | + * | | | | + * `-----------------------' + */ + [_OL] = LAYOUT( + MO(1), KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + KC_PSLS, KC_PAST, KC_PMNS, + LSFT(KC_9), LSFT(KC_0), KC_PPLS, + LSFT(KC_7), LSFT(KC_5), LSFT(KC_6), + LSFT(KC_BSLS), KC_PDOT, KC_PEQL + ), +}; \ No newline at end of file diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md b/keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md new file mode 100644 index 0000000000..f78318d7de --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# LATE-9 default keymap + +This is a simple 2-layer calculator look-a-like layout. diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/keymap.c b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/keymap.c new file mode 100644 index 0000000000..e378fb4921 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/keymap.c @@ -0,0 +1,235 @@ +/* Copyright 2021 rookiebwoy + * + * 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 + +// Layers declarations +enum layers { + _BL +}; + +// Tap Dance declarations +enum { + TD_PNCT, + TD_ABC, + TD_DEF, + TD_GHI, + TD_JKL, + TD_MNO, + TD_PQRS, + TD_TUV, + TD_WXYZ, + TD_SPACE, + TD_UPRCS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap _BL: Base Layer + * ,-----------------------. + * |ENTER | ↑ | BSPC | + * | | | | + * |-------|-------|-------| + * | <- | ↓ | -> | + * | | | | + * |-------|-------|-------| + * | 1 .,' | 2 | 3 | + * |?!-:;/ | abc | def | + * |-------|-------|-------| + * | 4 | 5 | 6 | + * | ghi | jkl | mno | + * |-------|-------|-------| + * | 7 | 8 | 9 | + * | pqrs | tuv | wxyz | + * |-------|-------|-------| + * | * | 0 | CAPS | + * | | space | | + * `-----------------------' + */ + [_BL] = LAYOUT( + KC_ENT, KC_UP, KC_BSPC, + KC_LEFT, KC_DOWN, KC_RIGHT, + TD(TD_PNCT), TD(TD_ABC), TD(TD_DEF), + TD(TD_GHI), TD(TD_JKL), TD(TD_MNO), + TD(TD_PQRS), TD(TD_TUV), TD(TD_WXYZ), + KC_PAST, TD(TD_SPACE), TD(TD_UPRCS) + ), +}; + +// Tap Dance cycles +void dance_1 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_DOT); + else return tap_code(KC_1); + } else if (state->count == 2) { + tap_code (KC_COMM); + } else if (state->count == 3) { + tap_code(KC_QUOT); + } else if (state->count == 4) { + tap_code16(KC_QUES); + } else if (state->count == 5) { + tap_code16(KC_EXLM); + } else if (state->count == 6) { + tap_code(KC_MINS); + } else if (state->count == 7) { + tap_code16(KC_COLN); + } else if (state->count == 8) { + tap_code(KC_SCLN); + } else if (state->count == 9) { + tap_code(KC_SLSH); + } else { + reset_tap_dance (state); + } +} + +void dance_2 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_A); + else return tap_code(KC_2); + } else if (state->count == 2) { + tap_code (KC_B); + } else if (state->count == 3) { + tap_code(KC_C); + } else { + reset_tap_dance (state); + } +} + +void dance_3 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_D); + else return tap_code(KC_3); + } else if (state->count == 2) { + tap_code (KC_E); + } else if (state->count == 3) { + tap_code(KC_F); + } else { + reset_tap_dance (state); + } +} + +void dance_4 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_G); + else return tap_code(KC_4); + } else if (state->count == 2) { + tap_code (KC_H); + } else if (state->count == 3) { + tap_code(KC_I); + } else { + reset_tap_dance (state); + } +} + +void dance_5 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_J); + else return tap_code(KC_5); + } else if (state->count == 2) { + tap_code (KC_K); + } else if (state->count == 3) { + tap_code(KC_L); + } else { + reset_tap_dance (state); + } +} + +void dance_6 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_M); + else return tap_code(KC_6); + } else if (state->count == 2) { + tap_code (KC_N); + } else if (state->count == 3) { + tap_code(KC_O); + } else { + reset_tap_dance (state); + } +} + +void dance_7 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_P); + else return tap_code(KC_7); + } else if (state->count == 2) { + tap_code (KC_Q); + } else if (state->count == 3) { + tap_code(KC_R); + } else if (state->count == 4) { + tap_code(KC_S); + } else { + reset_tap_dance (state); + } +} + +void dance_8 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_T); + else return tap_code(KC_8); + } else if (state->count == 2) { + tap_code (KC_U); + } else if (state->count == 3) { + tap_code(KC_V); + } else { + reset_tap_dance (state); + } +} + +void dance_9 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_W); + else return tap_code(KC_9); + } else if (state->count == 2) { + tap_code (KC_X); + } else if (state->count == 3) { + tap_code(KC_Y); + } else if (state->count == 4) { + tap_code(KC_Z); + } else { + reset_tap_dance (state); + } +} + +void dance_0 (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return tap_code(KC_SPACE); + else return tap_code(KC_0); + } else { + reset_tap_dance (state); + } +} + +void dance_maiusc (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return set_oneshot_mods(MOD_BIT(KC_LSFT)); + else return tap_code(KC_CAPS); + } else { + reset_tap_dance (state); + } +} + +// Tap Dance actions +tap_dance_action_t tap_dance_actions[] = { + [TD_PNCT] = ACTION_TAP_DANCE_FN (dance_1), + [TD_ABC] = ACTION_TAP_DANCE_FN (dance_2), + [TD_DEF] = ACTION_TAP_DANCE_FN (dance_3), + [TD_GHI] = ACTION_TAP_DANCE_FN (dance_4), + [TD_JKL] = ACTION_TAP_DANCE_FN (dance_5), + [TD_MNO] = ACTION_TAP_DANCE_FN (dance_6), + [TD_PQRS] = ACTION_TAP_DANCE_FN (dance_7), + [TD_TUV] = ACTION_TAP_DANCE_FN (dance_8), + [TD_WXYZ] = ACTION_TAP_DANCE_FN (dance_9), + [TD_SPACE] = ACTION_TAP_DANCE_FN (dance_0), + [TD_UPRCS] = ACTION_TAP_DANCE_FN (dance_maiusc), +}; diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/readme.md b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/readme.md new file mode 100644 index 0000000000..2b5136c2b8 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/readme.md @@ -0,0 +1,3 @@ +# LATE-9 multitap keymap + +This is the intended LATE-9 layout with multitap `ON` and old mobile phone look-a-like layout.. diff --git a/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/rules.mk b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/rules.mk new file mode 100644 index 0000000000..4141c3e7a4 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/keymaps/multitap/rules.mk @@ -0,0 +1,2 @@ +# Enable Tap Dance feature +TAP_DANCE_ENABLE = yes diff --git a/keyboards/rookiebwoy/late9/rev1/readme.md b/keyboards/rookiebwoy/late9/rev1/readme.md new file mode 100644 index 0000000000..d9683222a9 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/readme.md @@ -0,0 +1,5 @@ +# LATE-9 rev1 + +First (and final untill now) revision of the LATE-9. For in depth look please go to [project repository](https://github.com/rookiebwoy/late-9). + + diff --git a/keyboards/rookiebwoy/late9/rev1/rev1.c b/keyboards/rookiebwoy/late9/rev1/rev1.c new file mode 100644 index 0000000000..aa45141b06 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/rev1.c @@ -0,0 +1,61 @@ +/* Copyright 2021 rookiebwoy + * + * 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 "quantum.h" + +// OLED logo +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { return false; } + static const char PROGMEM rb_logo[] = { + // rookiebwoy 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x1c, + 0x1c, 0x1c, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, + 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, + 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x07, 0x07, 0x07, + 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x3f, + 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, + 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x3f, 0x3f, 0x3f, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x07, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(rb_logo, sizeof(rb_logo)); + return false; +} + +#endif diff --git a/keyboards/rookiebwoy/late9/rev1/rules.mk b/keyboards/rookiebwoy/late9/rev1/rules.mk new file mode 100644 index 0000000000..874033acc9 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rev1/rules.mk @@ -0,0 +1,14 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +OLED_ENABLE = yes diff --git a/keyboards/rookiebwoy/late9/rules.mk b/keyboards/rookiebwoy/late9/rules.mk new file mode 100755 index 0000000000..51c1b0d2a6 --- /dev/null +++ b/keyboards/rookiebwoy/late9/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = late9/rev1 diff --git a/keyboards/rookiebwoy/neopad/readme.md b/keyboards/rookiebwoy/neopad/readme.md new file mode 100644 index 0000000000..5b0ae7abc7 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/readme.md @@ -0,0 +1,25 @@ +# Neopad + +Neopad is a little macropad with four switches and two rotary encoders, made by through hole components only. +_Actually the number of switches is six, because even the encoder are allowed to click._ + +![Neopad](https://i.imgur.com/TgOkj2Fh.jpg "Neopad first proto") + +The Neopad in the photo above is the first prototype. See the project repository for revision 1 update and KiCad files. + +* Keyboard maintainer: [rookiebwoy](https://github.com/rookiebwoy) +* Hardware supported: ProMicro, _Elite-C (not tested)_ +* Project repository: [Neopad on github](https://github.com/rookiebwoy/neopad) + +Make example for this keyboard (after setting up your build environment): + + make rookiebwoy/neopad/rev1:default + +Flashing example for this keyboard: + + make rookiebwoy/neopad/rev1:default:flash + +When asked by the terminal, press the dedicated `RESET` button (the one above the 2 LEDs) to enter the bootloader and let the OS detects the device. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + diff --git a/keyboards/rookiebwoy/neopad/rev1/config.h b/keyboards/rookiebwoy/neopad/rev1/config.h new file mode 100755 index 0000000000..fd1724caf1 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2021 rookiebwoy + +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 . +*/ +#pragma once + +/* Onboard LEDs */ +#define LED_00 F6 +#define LED_01 F7 diff --git a/keyboards/rookiebwoy/neopad/rev1/info.json b/keyboards/rookiebwoy/neopad/rev1/info.json new file mode 100755 index 0000000000..0a0340c06d --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/info.json @@ -0,0 +1,40 @@ +{ + "keyboard_name": "neopad", + "manufacturer": "rookiebwoy", + "url": "https://github.com/rookiebwoy/neopad)", + "maintainer": "rookiebwoy", + "usb": { + "vid": "0xFEED", + "pid": "0x0913", + "device_version": "0.1.0" + }, + "matrix_pins": { + "cols": ["B3", "B2", "B6"], + "rows": ["F4", "F5"] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "D1", "pin_b": "D0"}, + {"pin_a": "D4", "pin_b": "C6"} + ] + }, + "processor": "atmega32u4", + "bootloader": "caterina", + "tapping": { + "toggle": 2 + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1} + ] + } + } +} diff --git a/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c new file mode 100755 index 0000000000..08227c84f9 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/keymaps/default/keymap.c @@ -0,0 +1,154 @@ +/* Copyright 2021 rookiebwoy + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + LAYER 0 - MUSIC + /-----------------------------` + | TO(1) | stop | mute | L ENC: prev/next song + |---------|---------|---------| + | prev | play | next | R ENC: vol up/down + \-----------------------------' + */ + [0] = LAYOUT( + TO(1), KC_MSTP, KC_MUTE, + KC_MPRV, KC_MPLY, KC_MNXT + ), + + /* + LAYER 1 - MOVEMENT IN WINDOWS + /---------------------------------------` + | TO(2) | maximize | show desktop | L ENC: change desktop + |-------------|----------|--------------| + | move window | minimize | move window | R ENC: change browser tab + change explorer window + \---------------------------------------' + */ + [1] = LAYOUT( + TO(2), LGUI(KC_UP), LGUI(KC_D), + LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RIGHT) + ), + + /* + LAYER 2 - SHORTCUT + /------------------------------` + | TO(3) | esc | task man | L ENC: redo/undo + |---------|---------|----------| + | cut | copy | paste | R ENC: mouse wheel up/down + \------------------------------' + */ + [2] = LAYOUT( + TO(3), KC_ESC, LCTL(LSFT(KC_ESC)), + LCTL(KC_X), LCTL(KC_C), LCTL(KC_V) + ), + + /* + LAYER 3 - AUDACITY + /-----------------------------` + | TO(0) | REC | canc | L ENC: pan right/left + |---------|---------|---------| + | ctrl | play | pause | R ENC: mouse wheel up/down + \-----------------------------' + */ + [3] = LAYOUT( + TO(0), LSFT(KC_R), KC_DEL, + KC_LCTL, KC_SPC, KC_P + ), + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* LEFT ENCODER */ + switch (get_highest_layer(layer_state)) { + case 0: + // layer 0 - next song (CW) and previous (CCW) + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + break; + + case 1: + // layer 1 - change desktop right (CW) and left (CCW) + if (clockwise) { + tap_code16(LCTL(LGUI(KC_RIGHT))); + } else { + tap_code16(LCTL(LGUI(KC_LEFT))); + } + break; + + case 2: + // layer 2 - redo (CW) and undo (CCW) + if (clockwise) { + tap_code16(LCTL(KC_Y)); + } else { + tap_code16(LCTL(KC_Z)); + } + break; + + case 3: + // layer 3 - pan right (CW) and left (CCW) + if (clockwise) { + tap_code(KC_WH_R); + } else { + tap_code(KC_WH_L); + } + break; + } + + } else if (index == 1) { /* RIGHT ENCODER */ + switch (get_highest_layer(layer_state)) { + case 0: + // layer 0 - volume up (CW) and down (CCW) + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + case 1: + // layer 1 - change browser tab (CW) and change explorer window (CCW) + if (clockwise) { + tap_code16(LCTL(KC_TAB)); + } else { + tap_code16(LALT(LSFT(KC_TAB))); + } + break; + + case 2: + // layer 2 - wheel up (CW) and down (CCW) + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + break; + + case 3: + // layer 3 - wheel up (CW) and down (CCW) + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + break; + } + } + return true; +} diff --git a/keyboards/rookiebwoy/neopad/rev1/readme.md b/keyboards/rookiebwoy/neopad/rev1/readme.md new file mode 100644 index 0000000000..1265922722 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/readme.md @@ -0,0 +1,5 @@ +# Neopad rev1 + +Final revision of the Neopad macropad. For in depth look please go to [project repository](https://github.com/rookiebwoy/neopad). + + diff --git a/keyboards/rookiebwoy/neopad/rev1/rev1.c b/keyboards/rookiebwoy/neopad/rev1/rev1.c new file mode 100755 index 0000000000..c8216f4e70 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/rev1.c @@ -0,0 +1,65 @@ +/* Copyright 2021 rookiebwoy + * + * 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 "quantum.h" + +void keyboard_pre_init_kb(void) { + // Set LED IO as outputs + setPinOutput(LED_00); + setPinOutput(LED_01); + keyboard_pre_init_user(); +} + +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } + // Shutdown LEDs + writePinLow(LED_00); + writePinLow(LED_01); + return true; +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + state = layer_state_set_user(state); + + // Layer LEDs act as binary indication of current layer + uint8_t layer = get_highest_layer(state); + writePin(LED_00, layer & 0b1); + writePin(LED_01, (layer >> 1) & 0b1); + return state; +} + +// Optional override functions below. +// You can leave any or all of these undefined. +// These are only required if you want to perform custom actions. + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + uint8_t led_delay_ms = 80; + for (int i = 0; i < 2; i++) { + writePinHigh(LED_00); + writePinHigh(LED_01); + wait_ms(led_delay_ms); + writePinLow(LED_00); + writePinLow(LED_01); + if (i < 1) { + wait_ms(led_delay_ms); + } + } + + matrix_init_user(); +} diff --git a/keyboards/rookiebwoy/neopad/rev1/rules.mk b/keyboards/rookiebwoy/neopad/rev1/rules.mk new file mode 100755 index 0000000000..7816aab001 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rev1/rules.mk @@ -0,0 +1,15 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes +KEY_LOCK_ENABLE = yes diff --git a/keyboards/rookiebwoy/neopad/rules.mk b/keyboards/rookiebwoy/neopad/rules.mk new file mode 100755 index 0000000000..8fc1afe955 --- /dev/null +++ b/keyboards/rookiebwoy/neopad/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = neopad/rev1 -- cgit v1.2.3