summaryrefslogtreecommitdiff
path: root/keyboards/wuque/mammoth20x
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/wuque/mammoth20x')
-rw-r--r--keyboards/wuque/mammoth20x/config.h6
-rw-r--r--keyboards/wuque/mammoth20x/info.json51
-rw-r--r--keyboards/wuque/mammoth20x/mammoth20x.c11
-rw-r--r--keyboards/wuque/mammoth20x/mammoth20x.h35
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 }, \
-}