diff options
Diffstat (limited to 'keyboards/wuque/mammoth20x')
-rw-r--r-- | keyboards/wuque/mammoth20x/config.h | 6 | ||||
-rw-r--r-- | keyboards/wuque/mammoth20x/info.json | 51 | ||||
-rw-r--r-- | keyboards/wuque/mammoth20x/mammoth20x.c | 11 | ||||
-rw-r--r-- | keyboards/wuque/mammoth20x/mammoth20x.h | 35 |
4 files changed, 35 insertions, 68 deletions
diff --git a/keyboards/wuque/mammoth20x/config.h b/keyboards/wuque/mammoth20x/config.h index 8d9a74f5aa..c35fac65d6 100644 --- a/keyboards/wuque/mammoth20x/config.h +++ b/keyboards/wuque/mammoth20x/config.h @@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define MATRIX_ROW_PINS { D5, F0, F1, F4, F5, F6 } -#define MATRIX_COL_PINS { B0, B1, E6, F7 } - -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/wuque/mammoth20x/info.json b/keyboards/wuque/mammoth20x/info.json index b251951bec..3c0c0e29b8 100644 --- a/keyboards/wuque/mammoth20x/info.json +++ b/keyboards/wuque/mammoth20x/info.json @@ -8,6 +8,11 @@ "pid": "0x0005", "device_version": "0.0.1" }, + "matrix_pins": { + "cols": ["B0", "B1", "E6", "F7"], + "rows": ["D5", "F0", "F1", "F4", "F5", "F6"] + }, + "diode_direction": "COL2ROW", "encoder": { "rotary": [ {"pin_a": "D3", "pin_b": "D2", "resolution": 2} @@ -21,34 +26,34 @@ "layouts": { "LAYOUT": { "layout": [ - { "label": "Esc", "x": 0, "y": 0 }, - { "label": "Pause", "x": 1, "y": 0 }, - { "label": "Delete", "x": 2, "y": 0 }, - { "label": "LeftEncode", "x": 3, "y": 0, "w": 0.5 }, - { "label": "EncoderClick", "x": 3.5, "y": 0 }, - { "label": "RightEncode", "x": 4.5, "y": 0, "w" : 0.5 }, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [2, 3], "x": 3, "y": 0, "w": 0.5}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [4, 3], "x": 4.5, "y": 0, "w": 0.5}, - { "label": "Num", "x": 0, "y": 1 }, - { "label": "/", "x": 1, "y": 1 }, - { "label": "*", "x": 2, "y": 1 }, - { "label": "-", "x": 3, "y": 1 }, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, - { "label": "7", "x": 0, "y": 2 }, - { "label": "8", "x": 1, "y": 2 }, - { "label": "9", "x": 2, "y": 2 }, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, - { "label": "4", "x": 0, "y": 3 }, - { "label": "5", "x": 1, "y": 3 }, - { "label": "6", "x": 2, "y": 3 }, - { "label": "+", "x": 3, "y": 2, "h": 2 }, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 2, "h": 2}, - { "label": "1", "x": 0, "y": 4 }, - { "label": "2", "x": 1, "y": 4 }, - { "label": "3", "x": 2, "y": 4 }, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, - { "label": "0", "x": 0, "y": 5, "w": 2 }, - { "label": ".", "x": 2, "y": 5 }, - { "label": "Enter", "x": 3, "y": 4,"h":2 } + {"matrix": [5, 0], "x": 0, "y": 5, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 5}, + {"matrix": [5, 3], "x": 3, "y": 4, "h": 2} ] } } diff --git a/keyboards/wuque/mammoth20x/mammoth20x.c b/keyboards/wuque/mammoth20x/mammoth20x.c index 6cc1dee21a..eeaea79c71 100644 --- a/keyboards/wuque/mammoth20x/mammoth20x.c +++ b/keyboards/wuque/mammoth20x/mammoth20x.c @@ -14,8 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "mammoth20x.h" - +#include "quantum.h" static uint8_t encoder_state[NUM_ENCODERS] = {0}; static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; @@ -30,7 +29,9 @@ void encoder_action_unregister(void) keyevent_t encoder_event = (keyevent_t){ .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, - .time = (timer_read() | 1)}; + .time = timer_read(), + .type = KEY_EVENT + }; encoder_state[index] = 0; action_exec(encoder_event); } @@ -41,7 +42,9 @@ void encoder_action_register(uint8_t index, bool clockwise) keyevent_t encoder_event = (keyevent_t){ .key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, - .time = (timer_read() | 1)}; + .time = timer_read(), + .type = KEY_EVENT + }; encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); action_exec(encoder_event); } diff --git a/keyboards/wuque/mammoth20x/mammoth20x.h b/keyboards/wuque/mammoth20x/mammoth20x.h deleted file mode 100644 index 408788bf60..0000000000 --- a/keyboards/wuque/mammoth20x/mammoth20x.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2021 wuquestudio - * - * 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 <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "quantum.h" - -#define LAYOUT( \ - K00, K01, K02, K23, K03, K43, \ - K10, K11, K12, K13, \ - K20, K21, K22, \ - K30, K31, K32, K33, \ - K40, K41, K42, \ - K50, K52, K53 \ -) { \ - { K00, K01, K02, K03 }, \ - { K10, K11, K12, K13 }, \ - { K20, K21, K22, K23 }, \ - { K30, K31, K32, K33 }, \ - { K40, K41, K42, K43 }, \ - { K50, KC_NO, K52, K53 }, \ -} |