diff options
Diffstat (limited to 'keyboards')
| -rw-r--r-- | keyboards/mt980/config.h | 4 | ||||
| -rw-r--r-- | keyboards/mt980/info.json | 117 | ||||
| -rw-r--r-- | keyboards/mt980/keymaps/walker/keymap.c | 53 | ||||
| -rw-r--r-- | keyboards/mt980/mt980.c | 9 |
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 | ||
| 101 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 101 | bool 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)) |
| 18 | void led_set_keymap(uint8_t usb_led) {} | 18 | void led_set_keymap(uint8_t usb_led) {} |
| 19 | 19 | ||
| 20 | __attribute__ ((weak)) | 20 | void matrix_init_user(void) { |
| 21 | void action_function_keymap(keyrecord_t *record, uint8_t id, uint8_t opt) {} | 21 | matrix_init_keymap(); |
| 22 | } | ||
| 23 | |||
| 24 | void matrix_scan_user(void) { | ||
| 25 | matrix_scan_keymap(); | ||
| 26 | } | ||
| 22 | 27 | ||
| 23 | void keyboard_pre_init_user(void) { | 28 | void keyboard_pre_init_user(void) { |
| 24 | /* Set NUMLOCK indicator pin as output */ | 29 | /* Set NUMLOCK indicator pin as output */ |
