aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/mt980/config.h4
-rw-r--r--keyboards/mt980/info.json117
-rw-r--r--keyboards/mt980/keymaps/walker/keymap.c53
-rw-r--r--keyboards/mt980/mt980.c9
4 files changed, 171 insertions, 12 deletions
diff --git a/keyboards/mt980/config.h b/keyboards/mt980/config.h
index 9b5abf919..88c25a587 100644
--- a/keyboards/mt980/config.h
+++ b/keyboards/mt980/config.h
@@ -46,3 +46,7 @@
46#define RGBLIGHT_VAL_STEP 8 46#define RGBLIGHT_VAL_STEP 8
47#define RGBLIGHT_LIMIT_VAL 185 47#define RGBLIGHT_LIMIT_VAL 185
48#endif 48#endif
49
50/* Place bootmagic key on Esc */
51#define BOOTMAGIC_LITE_ROW 5
52#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/mt980/info.json b/keyboards/mt980/info.json
new file mode 100644
index 000000000..f71d02285
--- /dev/null
+++ b/keyboards/mt980/info.json
@@ -0,0 +1,117 @@
1{
2 "keyboard_name": "mt980",
3 "url": "https://shop110310565.taobao.com",
4 "maintainer": "walkerstop",
5 "width": 19.5,
6 "height": 6.75,
7 "layouts": {
8 "LAYOUT": {
9 "key_count": 103,
10 "layout": [
11 {"label":"K50", "x":0, "y":0},
12 {"label":"K52", "x":1.25, "y":0},
13 {"label":"K53", "x":2.25, "y":0},
14 {"label":"K54", "x":3.25, "y":0},
15 {"label":"K55", "x":4.25, "y":0},
16 {"label":"K57", "x":5.5, "y":0},
17 {"label":"K58", "x":6.5, "y":0},
18 {"label":"KB8", "x":7.5, "y":0},
19 {"label":"KB7", "x":8.5, "y":0},
20 {"label":"KB5", "x":9.75, "y":0},
21 {"label":"KB4", "x":10.75, "y":0},
22 {"label":"KB3", "x":11.75, "y":0},
23 {"label":"KB6", "x":12.75, "y":0},
24 {"label":"K51", "x":14, "y":0},
25 {"label":"KB2", "x":15.5, "y":0},
26 {"label":"KB1", "x":16.5, "y":0},
27 {"label":"KB0", "x":17.5, "y":0},
28 {"label":"K63", "x":18.5, "y":0},
29 {"label":"K40", "x":0, "y":1.5},
30 {"label":"K41", "x":1, "y":1.5},
31 {"label":"K42", "x":2, "y":1.5},
32 {"label":"K43", "x":3, "y":1.5},
33 {"label":"K44", "x":4, "y":1.5},
34 {"label":"K45", "x":5, "y":1.5},
35 {"label":"K46", "x":6, "y":1.5},
36 {"label":"K47", "x":7, "y":1.5},
37 {"label":"K48", "x":8, "y":1.5},
38 {"label":"KA8", "x":9, "y":1.5},
39 {"label":"KA7", "x":10, "y":1.5},
40 {"label":"KA5", "x":11, "y":1.5},
41 {"label":"KA4", "x":12, "y":1.5},
42 {"label":"KA3", "x":13, "y":1.5},
43 {"label":"KA6", "x":14, "y":1.5},
44 {"label":"KA2", "x":15.5, "y":1.5},
45 {"label":"KA1", "x":16.5, "y":1.5},
46 {"label":"KA0", "x":17.5, "y":1.5},
47 {"label":"K64", "x":18.5, "y":1.5},
48 {"label":"K30", "x":0, "y":2.5, "w":1.5},
49 {"label":"K31", "x":1.5, "y":2.5},
50 {"label":"K32", "x":2.5, "y":2.5},
51 {"label":"K33", "x":3.5, "y":2.5},
52 {"label":"K34", "x":4.5, "y":2.5},
53 {"label":"K35", "x":5.5, "y":2.5},
54 {"label":"K36", "x":6.5, "y":2.5},
55 {"label":"K37", "x":7.5, "y":2.5},
56 {"label":"K38", "x":8.5, "y":2.5},
57 {"label":"K98", "x":9.5, "y":2.5},
58 {"label":"K97", "x":10.5, "y":2.5},
59 {"label":"K95", "x":11.5, "y":2.5},
60 {"label":"K94", "x":12.5, "y":2.5},
61 {"label":"K84", "x":13.5, "y":2.5, "w":1.5},
62 {"label":"K96", "x":15.5, "y":2.5},
63 {"label":"K92", "x":16.5, "y":2.5},
64 {"label":"K91", "x":17.5, "y":2.5},
65 {"label":"K90", "x":18.5, "y":2.5},
66 {"label":"K20", "x":0, "y":3.5, "w":1.75},
67 {"label":"K21", "x":1.75, "y":3.5},
68 {"label":"K22", "x":2.75, "y":3.5},
69 {"label":"K23", "x":3.75, "y":3.5},
70 {"label":"K24", "x":4.75, "y":3.5},
71 {"label":"K25", "x":5.75, "y":3.5},
72 {"label":"K26", "x":6.75, "y":3.5},
73 {"label":"K27", "x":7.75, "y":3.5},
74 {"label":"K28", "x":8.75, "y":3.5},
75 {"label":"K88", "x":9.75, "y":3.5},
76 {"label":"K87", "x":10.75, "y":3.5},
77 {"label":"K85", "x":11.75, "y":3.5},
78 {"label":"K93", "x":12.75, "y":3.5, "w":2.25},
79 {"label":"K86", "x":15.5, "y":3.5},
80 {"label":"K82", "x":16.5, "y":3.5},
81 {"label":"K81", "x":17.5, "y":3.5},
82 {"label":"K80", "x":18.5, "y":3.5},
83 {"label":"K10", "x":0, "y":4.5, "w":1.25},
84 {"label":"K11", "x":1.25, "y":4.5},
85 {"label":"K12", "x":2.25, "y":4.5},
86 {"label":"K13", "x":3.25, "y":4.5},
87 {"label":"K14", "x":4.25, "y":4.5},
88 {"label":"K15", "x":5.25, "y":4.5},
89 {"label":"K16", "x":6.25, "y":4.5},
90 {"label":"K17", "x":7.25, "y":4.5},
91 {"label":"K18", "x":8.25, "y":4.5},
92 {"label":"K78", "x":9.25, "y":4.5},
93 {"label":"K77", "x":10.25, "y":4.5},
94 {"label":"K75", "x":11.25, "y":4.5},
95 {"label":"K74", "x":12.25, "y":4.5, "w":1.75},
96 {"label":"K73", "x":14.25, "y":4.75},
97 {"label":"K76", "x":15.5, "y":4.5},
98 {"label":"K72", "x":16.5, "y":4.5},
99 {"label":"K71", "x":17.5, "y":4.5},
100 {"label":"K70", "x":18.5, "y":4.5},
101 {"label":"K00", "x":0, "y":5.5, "w":1.25},
102 {"label":"K01", "x":1.25, "y":5.5},
103 {"label":"K02", "x":2.25, "y":5.5, "w":1.25},
104 {"label":"K06", "x":3.5, "y":5.5, "w":6.25},
105 {"label":"K08", "x":9.75, "y":5.5},
106 {"label":"K07", "x":10.75, "y":5.5},
107 {"label":"K05", "x":11.75, "y":5.5, "w":1.25},
108 {"label":"K04", "x":13.25, "y":5.75},
109 {"label":"K03", "x":14.25, "y":5.75},
110 {"label":"K66", "x":15.25, "y":5.75},
111 {"label":"K62", "x":16.5, "y":5.5},
112 {"label":"K61", "x":17.5, "y":5.5},
113 {"label":"K60", "x":18.5, "y":5.5}
114 ]
115 }
116 }
117}
diff --git a/keyboards/mt980/keymaps/walker/keymap.c b/keyboards/mt980/keymaps/walker/keymap.c
index c1db4f3d3..83a3fb816 100644
--- a/keyboards/mt980/keymaps/walker/keymap.c
+++ b/keyboards/mt980/keymaps/walker/keymap.c
@@ -99,35 +99,68 @@ void led_set_keymap(uint8_t usb_led) {
99} 99}
100 100
101bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 101bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
102
102 switch (keycode) { 103 switch (keycode) {
104 case KC_TRNS:
105 case KC_NO:
106 /* Always cancel one-shot layer when another key gets pressed */
107 if (record->event.pressed && is_oneshot_layer_active())
108 clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
109 return true;
110 case RESET:
111 /* Don't allow reset from oneshot layer state */
112 if (record->event.pressed && is_oneshot_layer_active()) {
113 clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
114 return false;
115 }
116 return true;
103 case KC_PPLS: 117 case KC_PPLS:
104 if (!numlock_on) { 118 if (!numlock_on) {
105 if (get_oneshot_layer() == 1 || layer_state & 0x2) { 119 if (is_oneshot_layer_active() || layer_state & 0x2) {
106 register_code(KC_HOME); 120 if (record->event.pressed)
107 unregister_code(KC_HOME); 121 register_code(KC_HOME);
122 else
123 unregister_code(KC_HOME);
108 clear_oneshot_layer_state(ONESHOT_START); 124 clear_oneshot_layer_state(ONESHOT_START);
109 } 125 }
110 else { 126 else {
111 register_code(KC_PGUP); 127 if (record->event.pressed)
112 unregister_code(KC_PGUP); 128 register_code(KC_PGUP);
129 else
130 unregister_code(KC_PGUP);
113 } 131 }
114 return false; 132 return false;
115 } 133 }
116 return true; 134 return true;
117 case KC_PENT: 135 case KC_PENT:
118 if (!numlock_on) { 136 if (!numlock_on) {
119 if (get_oneshot_layer() == 1 || layer_state & 0x2) { 137 if (is_oneshot_layer_active() || layer_state & 0x2) {
120 register_code(KC_END); 138 if (record->event.pressed)
121 unregister_code(KC_END); 139 register_code(KC_END);
140 else
141 unregister_code(KC_END);
122 clear_oneshot_layer_state(ONESHOT_START); 142 clear_oneshot_layer_state(ONESHOT_START);
123 } 143 }
124 else { 144 else {
125 register_code(KC_PGDN); 145 if (record->event.pressed)
126 unregister_code(KC_PGDN); 146 register_code(KC_PGDN);
147 else
148 unregister_code(KC_PGDN);
127 } 149 }
128 return false; 150 return false;
129 } 151 }
130 return true; 152 return true;
153 case KC_NLCK:
154 /* Shift + NumLock will be treated as shift-Insert */
155 if ((keyboard_report->mods & MOD_BIT (KC_LSFT)) || (keyboard_report->mods & MOD_BIT (KC_RSFT))) {
156 if (record->event.pressed) {
157 register_code(KC_INS);
158 unregister_code(KC_INS);
159 }
160 return false;
161 }
162 else
163 return true;
131 default: 164 default:
132 return true; 165 return true;
133 } 166 }
diff --git a/keyboards/mt980/mt980.c b/keyboards/mt980/mt980.c
index 1b03d1aed..5461a3b21 100644
--- a/keyboards/mt980/mt980.c
+++ b/keyboards/mt980/mt980.c
@@ -17,8 +17,13 @@ uint32_t layer_state_set_keymap (uint32_t state) {
17__attribute__ ((weak)) 17__attribute__ ((weak))
18void led_set_keymap(uint8_t usb_led) {} 18void led_set_keymap(uint8_t usb_led) {}
19 19
20__attribute__ ((weak)) 20void matrix_init_user(void) {
21void action_function_keymap(keyrecord_t *record, uint8_t id, uint8_t opt) {} 21 matrix_init_keymap();
22}
23
24void matrix_scan_user(void) {
25 matrix_scan_keymap();
26}
22 27
23void keyboard_pre_init_user(void) { 28void keyboard_pre_init_user(void) {
24 /* Set NUMLOCK indicator pin as output */ 29 /* Set NUMLOCK indicator pin as output */