From 51acd35e6f2196ca1d9a1328be92355b128d8239 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 17 Jun 2024 19:22:47 +0100 Subject: Implement data driven serial driver (#23923) --- data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 10 ++++++++++ 2 files changed, 11 insertions(+) (limited to 'data') diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 97611bcf58..384bc87b78 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -41,6 +41,7 @@ "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"}, "RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"}, "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"}, + "SERIAL_DRIVER": {"info_key": "split.serial.driver"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index e5802fe07d..5b63acf8e8 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -799,6 +799,16 @@ "minimum": 0, "maximum": 5 }, + "serial": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["bitbang", "usart", "vendor"] + } + } + }, "transport": { "type": "object", "additionalProperties": false, -- cgit v1.2.3 From 53a0cdc4467fb688faa2708fe75daa26686e918d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 18 Jun 2024 03:44:22 +0100 Subject: Implement data driven joysticks (#22947) --- data/mappings/info_config.hjson | 5 +++ data/mappings/info_rules.hjson | 2 ++ data/schemas/keyboard.jsonschema | 30 +++++++++++++++++ .../battleship_gamepad/battleship_gamepad.c | 6 ---- keyboards/handwired/battleship_gamepad/config.h | 21 ------------ .../handwired/battleship_gamepad/keyboard.json | 8 +++++ keyboards/handwired/battleship_gamepad/rules.mk | 1 - lib/python/qmk/cli/generate/keyboard_c.py | 38 +++++++++++++++++++++- lib/python/qmk/constants.py | 2 ++ lib/python/qmk/info.py | 15 +++++++-- 10 files changed, 97 insertions(+), 31 deletions(-) delete mode 100644 keyboards/handwired/battleship_gamepad/config.h delete mode 100644 keyboards/handwired/battleship_gamepad/rules.mk (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index b61ca04071..4f731b6011 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -72,6 +72,11 @@ "LED_KANA_PIN": {"info_key": "indicators.kana"}, "LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"}, + // Joystick + "JOYSTICK_AXIS_COUNT": {"info_key": "joystick.axis_count", "value_type": "int"}, + "JOYSTICK_AXIS_RESOLUTION": {"info_key": "joystick.axis_resolution", "value_type": "int"}, + "JOYSTICK_BUTTON_COUNT": {"info_key": "joystick.button_count", "value_type": "int"}, + // Leader Key "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "flag"}, "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "flag"}, diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 384bc87b78..64972af63b 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -25,6 +25,8 @@ "ENCODER_DRIVER": {"info_key": "encoder.driver"}, "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"}, "HAPTIC_DRIVER": {"info_key": "haptic.driver"}, + "JOYSTICK_DRIVER": {"info_key": "joystick.driver"}, + "JOYSTICK_ENABLE": {"info_key": "joystick.enabled", "value_type": "bool"}, "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"}, "LAYOUTS": {"info_key": "community_layouts", "value_type": "list"}, "LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 5b63acf8e8..e758c325c7 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -342,6 +342,36 @@ "on_state": {"$ref": "qmk.definitions.v1#/bit"} } }, + "joystick": { + "type": "object", + "properties": { + "enabled": {"type": "boolean"}, + "driver": {"type": "string"}, + "button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "axes": { + "type": "object", + "propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]} + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "properties": { + "input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "low": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "rest": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "high": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + }, + { + "type": "string", + "enum": ["virtual"] + } + ] + } + } + } + }, "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"}, "layout_aliases": { "type": "object", diff --git a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c index cccc03a287..7b5e65a990 100644 --- a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c +++ b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c @@ -16,12 +16,6 @@ #include "quantum.h" -/* joystick config */ -joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { - [0] = JOYSTICK_AXIS_IN(F5, 1023, 512, 0), - [1] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023) -}; - /* joystick button code (thumbstick pressed) */ void keyboard_pre_init_kb(void) { gpio_set_pin_input_high(F6); diff --git a/keyboards/handwired/battleship_gamepad/config.h b/keyboards/handwired/battleship_gamepad/config.h deleted file mode 100644 index b785c80aad..0000000000 --- a/keyboards/handwired/battleship_gamepad/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 Andrew Braini - * - * 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 - -/* joystick configuration */ -#define JOYSTICK_BUTTON_COUNT 25 -#define JOYSTICK_AXIS_RESOLUTION 10 diff --git a/keyboards/handwired/battleship_gamepad/keyboard.json b/keyboards/handwired/battleship_gamepad/keyboard.json index 2832741875..8350f31fdd 100644 --- a/keyboards/handwired/battleship_gamepad/keyboard.json +++ b/keyboards/handwired/battleship_gamepad/keyboard.json @@ -13,6 +13,14 @@ "rows": ["B6", "B2", "B3", "B1", "F7"] }, "diode_direction": "COL2ROW", + "joystick": { + "button_count": 25, + "axis_resolution": 10, + "axes": { + "x": {"input_pin": "F5", "low": 1023, "rest": 512, "high": 0}, + "y": {"input_pin": "F4", "low": 0, "rest": 512, "high": 1023} + } + }, "processor": "atmega32u4", "bootloader": "caterina", "features": { diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk deleted file mode 100644 index c5ab560bca..0000000000 --- a/keyboards/handwired/battleship_gamepad/rules.mk +++ /dev/null @@ -1 +0,0 @@ -JOYSTICK_DRIVER = analog diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py index 5a6c967486..228b320942 100755 --- a/lib/python/qmk/cli/generate/keyboard_c.py +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -6,7 +6,7 @@ from qmk.info import info_json from qmk.commands import dump_lines from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.path import normpath -from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE +from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, JOYSTICK_AXES def _gen_led_configs(info_data): @@ -91,6 +91,41 @@ def _gen_matrix_mask(info_data): return lines +def _gen_joystick_axes(info_data): + """Convert info.json content to joystick_axes + """ + if 'axes' not in info_data.get('joystick', {}): + return [] + + axes = info_data['joystick']['axes'] + axes_keys = list(axes.keys()) + + lines = [] + lines.append('#ifdef JOYSTICK_ENABLE') + lines.append('joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {') + + # loop over all available axes - injecting virtual axis for those not specified + for index, cur in enumerate(JOYSTICK_AXES): + # bail out if we have generated all requested axis + if len(axes_keys) == 0: + break + + axis = 'virtual' + if cur in axes: + axis = axes[cur] + axes_keys.remove(cur) + + if axis == 'virtual': + lines.append(f" [{index}] = JOYSTICK_AXIS_VIRTUAL,") + else: + lines.append(f" [{index}] = JOYSTICK_AXIS_IN({axis['input_pin']}, {axis['low']}, {axis['rest']}, {axis['high']}),") + + lines.append('};') + lines.append('#endif') + + return lines + + @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, required=True, help='Keyboard to generate keyboard.c for.') @@ -105,6 +140,7 @@ def generate_keyboard_c(cli): keyboard_h_lines.extend(_gen_led_configs(kb_info_json)) keyboard_h_lines.extend(_gen_matrix_mask(kb_info_json)) + keyboard_h_lines.extend(_gen_joystick_axes(kb_info_json)) # Show the results dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index 90e4452f2b..b6f46180b2 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -320,3 +320,5 @@ LICENSE_TEXTS = [ you may not use this file except in compliance with the License. """]), ] + +JOYSTICK_AXES = ['x', 'y', 'z', 'rx', 'ry', 'rz'] diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 833271c09c..091a11854c 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -7,7 +7,7 @@ from dotty_dict import dotty from milc import cli -from qmk.constants import COL_LETTERS, ROW_LETTERS, CHIBIOS_PROCESSORS, LUFA_PROCESSORS, VUSB_PROCESSORS +from qmk.constants import COL_LETTERS, ROW_LETTERS, CHIBIOS_PROCESSORS, LUFA_PROCESSORS, VUSB_PROCESSORS, JOYSTICK_AXES from qmk.c_parse import find_layouts, parse_config_h_file, find_led_config from qmk.json_schema import deep_update, json_load, validate from qmk.keyboard import config_h, rules_mk @@ -249,8 +249,9 @@ def info_json(keyboard): info_data = _extract_rules_mk(info_data, rules_mk(str(keyboard))) info_data = _extract_config_h(info_data, config_h(str(keyboard))) - # Ensure that we have matrix row and column counts + # Ensure that we have various calculated values info_data = _matrix_size(info_data) + info_data = _joystick_axis_count(info_data) # Merge in data from info_data = _extract_led_config(info_data, str(keyboard)) @@ -800,6 +801,16 @@ def _matrix_size(info_data): return info_data +def _joystick_axis_count(info_data): + """Add info_data['joystick.axis_count'] if required + """ + if 'axes' in info_data.get('joystick', {}): + axes_keys = info_data['joystick']['axes'].keys() + info_data['joystick']['axis_count'] = max(JOYSTICK_AXES.index(a) for a in axes_keys) + 1 if axes_keys else 0 + + return info_data + + def _check_matrix(info_data): """Check the matrix to ensure that row/column count is consistent. """ -- cgit v1.2.3 From 751a6b5bc4404e8398b360a925cb95e17be848d8 Mon Sep 17 00:00:00 2001 From: Amir Date: Fri, 21 Jun 2024 02:42:16 +0330 Subject: add farsi keymap extras (#23650) --- .../keycodes/extras/keycodes_farsi_0.0.1.hjson | 616 +++++++++++++++++++++ docs/reference_keymap_extras.md | 1 + quantum/keymap_extras/keymap_farsi.h | 171 ++++++ 3 files changed, 788 insertions(+) create mode 100644 data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson create mode 100644 quantum/keymap_extras/keymap_farsi.h (limited to 'data') diff --git a/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson new file mode 100644 index 0000000000..d59b6fab26 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson @@ -0,0 +1,616 @@ +{ + "aliases": { +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ ۱ │ ۲ │ ۳ │ ۴ │ ۵ │ ۶ │ ۷ │ ۸ │ ۹ │ ۰ │ - │ = │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ ض │ ص │ ث │ ق │ ف │ غ │ ع │ ه │ خ │ ح │ ج │ چ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ ش │ س │ ی │ ب │ ل │ ا │ ت │ ن │ م │ ک │ گ │ \ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ < │ ظ │ ط │ ز │ ر │ ذ │ د │ پ │ و │ . │ / │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "KC_GRV": { + "key": "FA_ZWJ", + "label": "(zero-width joiner)", + } + "KC_1": { + "key": "FA_1A", + "label": "۱", + } + "KC_2": { + "key": "FA_2A", + "label": "۲", + } + "KC_3": { + "key": "FA_3A", + "label": "۳", + } + "KC_4": { + "key": "FA_4A", + "label": "۴", + } + "KC_5": { + "key": "FA_5A", + "label": "۵", + } + "KC_6": { + "key": "FA_6A", + "label": "۶", + } + "KC_7": { + "key": "FA_7A", + "label": "۷", + } + "KC_8": { + "key": "FA_8A", + "label": "۸", + } + "KC_9": { + "key": "FA_9A", + "label": "۹", + } + "KC_0": { + "key": "FA_0A", + "label": "۰", + } + "KC_MINS": { + "key": "FA_MINS", + "label": "-", + } + "KC_EQL": { + "key": "FA_EQL", + "label": "=", + } + "KC_Q": { + "key": "FA_ZAD", + "label": "ض", + } + "KC_W": { + "key": "FA_SAD", + "label": "ص", + } + "KC_E": { + "key": "FA_SE", + "label": "ث", + } + "KC_R": { + "key": "FA_QAF", + "label": "ق", + } + "KC_T": { + "key": "FA_FE", + "label": "ف", + } + "KC_Y": { + "key": "FA_GHYN", + "label": "غ", + } + "KC_U": { + "key": "FA_EYN", + "label": "ع", + } + "KC_I": { + "key": "FA_HE", + "label": "ه", + } + "KC_O": { + "key": "FA_KHE", + "label": "خ", + } + "KC_P": { + "key": "FA_HEJ", + "label": "ح", + } + "KC_LBRC": { + "key": "FA_JIM", + "label": "ج", + } + "KC_RBRC": { + "key": "FA_CHE", + "label": "چ", + } + "KC_A": { + "key": "FA_SHIN", + "label": "ش", + } + "KC_S": { + "key": "FA_SIN", + "label": "س", + } + "KC_D": { + "key": "FA_YE", + "label": "ی", + } + "KC_F": { + "key": "FA_BE", + "label": "ب", + } + "KC_G": { + "key": "FA_LAM", + "label": "ل", + } + "KC_H": { + "key": "FA_ALEF", + "label": "ا", + } + "KC_J": { + "key": "FA_TE", + "label": "ت", + } + "KC_K": { + "key": "FA_NOON", + "label": "ن", + } + "KC_L": { + "key": "FA_MIM", + "label": "م", + } + "KC_SCLN": { + "key": "FA_KAF", + "label": "ک", + } + "KC_QUOT": { + "key": "FA_GAF", + "label": "گ", + } + "KC_BSLS": { + "key": "FA_BSLS", + "label": "\\", + } + "KC_LT": { + "key": "FA_LT", + "label": "<", + } + "KC_Z": { + "key": "FA_ZA", + "label": "ظ", + } + "KC_X": { + "key": "FA_TA", + "label": "ط", + } + "KC_C": { + "key": "FA_ZE", + "label": "ز", + } + "KC_V": { + "key": "FA_RE", + "label": "ر", + } + "KC_B": { + "key": "FA_ZAL", + "label": "ذ", + } + "KC_N": { + "key": "FA_DAL", + "label": "د", + } + "KC_M": { + "key": "FA_PE", + "label": "پ", + } + "KC_COMM": { + "key": "FA_WAW", + "label": "و", + } + "KC_DOT": { + "key": "FA_DOT", + "label": ".", + } + "KC_SLSH": { + "key": "FA_SLSH", + "label": "/", + } + "KC_SPC": { + "key": "FA_SPC", + "label": " ", + } +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ÷ │ ! │ ٬ │ ٫ │ ﷼ │ ٪ │ × │ ، │ * │ ) │ ( │ ـ │ + │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ ْ │ ٌ │ ٍ │ ً │ ُ │ ِ │ َ │ ّ │ ] │ [ │ } │ { │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ ؤ │ ئ │ ي │ إ │ أ │ آ │ ة │ » │ « │ : │ ؛ │ | │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ > │ ك │ ٓ │ ژ │ ٰ │ │ ٔ │ ء │ │ │ ؟ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "S(FA_ZWJ)": { + "key": "FA_DIV", + "label": "÷", + } + "S(FA_1A)": { + "key": "FA_EXLM", + "label": "!", + } + "S(FA_2A)": { + "key": "FA_THS", + "label": "٬", + } + "S(FA_3A)": { + "key": "FA_DECS", + "label": "٫", + } + "S(FA_4A)": { + "key": "FA_RIAL", + "label": "﷼", + } + "S(FA_5A)": { + "key": "FA_PRCA", + "label": "٪", + } + "S(FA_6A)": { + "key": "FA_MUL", + "label": "×", + } + "S(FA_7A)": { + "key": "FA_COMA", + "label": "،", + } + "S(FA_8A)": { + "key": "FA_ASTR", + "label": "*", + } + "S(FA_9A)": { + "key": "FA_RPRN", + "label": ")", + } + "S(FA_0A)": { + "key": "FA_LPRN", + "label": "(", + } + "S(FA_MINS)": { + "key": "FA_TATW", + "label": "ـ", + } + "S(FA_EQL)": { + "key": "FA_PLUS", + "label": "+", + } + "S(FA_ZAD)": { + "key": "FA_SUK", + "label": "ْ", + } + "S(FA_SAD)": { + "key": "FA_DMTN", + "label": "ٌ", + } + "S(FA_SE)": { + "key": "FA_KSTN", + "label": "ٍ", + } + "S(FA_QAF)": { + "key": "FA_FTHN", + "label": "ً", + } + "S(FA_FE)": { + "key": "FA_DMM", + "label": "ُ", + } + "S(FA_GHYN)": { + "key": "FA_KAS", + "label": "ِ", + } + "S(FA_EYN)": { + "key": "FA_FAT", + "label": "َ", + } + "S(FA_HE)": { + "key": "FA_TSDD", + "label": "", + } + "S(FA_KHE)": { + "key": "FA_RBRC", + "label": "]", + } + "S(FA_HEJ)": { + "key": "FA_LBRC", + "label": "[", + } + "S(FA_JIM)": { + "key": "FA_RCBR", + "label": "}", + } + "S(FA_CHE)": { + "key": "FA_LCBR", + "label": "{", + } + "S(FA_SHIN)": { + "key": "FA_HMZV", + "label": "ؤ", + } + "S(FA_SIN)": { + "key": "FA_HMZY", + "label": "ئ", + } + "S(FA_YE)": { + "key": "FA_YEA", + "label": "ي", + } + "S(FA_BE)": { + "key": "FA_HMZU", + "label": "إ", + } + "S(FA_LAM)": { + "key": "FA_HMZO", + "label": "أ", + } + "S(FA_ALEF)": { + "key": "FA_MALF", + "label": "آ", + } + "S(FA_TE)": { + "key": "FA_TEHM", + "label": "ة", + } + "S(FA_NOON)": { + "key": "FA_RQOT", + "label": "»", + } + "S(FA_MIM)": { + "key": "FA_LQOT", + "label": "«", + } + "S(FA_KAF)": { + "key": "FA_COLN", + "label": ":", + } + "S(FA_GAF)": { + "key": "FA_SCLA", + "label": "؛", + } + "S(FA_LT)": { + "key": "FA_GT", + "label": ">", + } + "S(FA_ZA)": { + "key": "FA_KAFA", + "label": "ك", + } + "S(FA_TA)": { + "key": "FA_MADO", + "label": "ٓ", + } + "S(FA_ZE)": { + "key": "FA_JEH", + "label": "ژ", + } + "S(FA_RE)": { + "key": "FA_SUPA", + "label": "ٰ", + } + "S(FA_ZAL)": { + "key": "FA_ZWNJ", + "label": "(zero-width non-joiner)", + } + "S(FA_DAL)": { + "key": "FA_HMZA", + "label": "ٔ", + } + "S(FA_PE)": { + "key": "FA_HMZ", + "label": "ء", + } + "S(FA_SLSH)": { + "key": "FA_QSA", + "label": "؟", + } +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ ` │ @ │ # │ $ │ % │ ^ │ & │ • │ │ │ _ │ − │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ ° │ │ € │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ ى │ │ │ ٱ │ │ ﴾ │ ﴿ │ ; │ " │ ‐ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ | │ │ │ │ ٖ │ │ ٕ │ … │ , │ ' │ ? │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "ALGR(FA_ZWJ)": { + "key": "FA_TILD", + "label": "~", + } + "ALGR(FA_1A)": { + "key": "FA_GRV", + "label": "`", + } + "ALGR(FA_2A)": { + "key": "FA_AT", + "label": "@", + } + "ALGR(FA_3A)": { + "key": "FA_HASH", + "label": "#", + } + "ALGR(FA_4A)": { + "key": "FA_DLR", + "label": "$", + } + "ALGR(FA_5A)": { + "key": "FA_PERC", + "label": "%", + } + "ALGR(FA_6A)": { + "key": "FA_CIRC", + "label": "^", + } + "ALGR(FA_7A)": { + "key": "FA_AMPR", + "label": "&", + } + "ALGR(FA_8A)": { + "key": "FA_BULT", + "label": "•", + } + "ALGR(FA_9A)": { + "key": "FA_LRM", + "label": "(left-to-right mark)", + } + "ALGR(FA_0A)": { + "key": "FA_RLM", + "label": "(right-to-left mark)", + } + "ALGR(FA_MINS)": { + "key": "FA_UNDS", + "label": "_", + } + "ALGR(FA_EQL)": { + "key": "FA_DMNS", + "label": "− (dead)", + } + "ALGR(FA_ZAD)": { + "key": "FA_DEG", + "label": "°", + } + "ALGR(FA_SE)": { + "key": "FA_EURO", + "label": "€", + } + "ALGR(FA_HE)": { + "key": "FA_LRO", + "label": "(left-to-right override)", + } + "ALGR(FA_KHE)": { + "key": "FA_RLO", + "label": "(right-to-left override)", + } + "ALGR(FA_HEJ)": { + "key": "FA_PDF", + "label": "(pop directional formatting)", + } + "ALGR(FA_JIM)": { + "key": "FA_LRE", + "label": "(left-to-right embedding)", + } + "ALGR(FA_CHE)": { + "key": "FA_RLE", + "label": "(right-to-left embedding)", + } + "ALGR(FA_YE)": { + "key": "FA_ALFM", + "label": "ى", + } + "ALGR(FA_ALEF)": { + "key": "FA_ALFW", + "label": "ٱ", + } + "ALGR(FA_NOON)": { + "key": "FA_LORP", + "label": "﴾", + } + "ALGR(FA_MIM)": { + "key": "FA_RORP", + "label": "﴿", + } + "ALGR(FA_KAF)": { + "key": "FA_SCLN", + "label": ";", + } + "ALGR(FA_GAF)": { + "key": "FA_DQT", + "label": "\"", + } + "ALGR(FA_BSLS)": { + "key": "FA_MINA", + "label": "-", + } + "ALGR(FA_ZA)": { + "key": "FA_PIPE", + "label": "|", + } + "ALGR(FA_RA)": { + "key": "FA_SUBA", + "label": "ٖ", + } + "ALGR(FA_DAL)": { + "key": "FA_HMZB", + "label": "ء", + } + "ALGR(FA_PE)": { + "key": "FA_ELLP", + "label": "…", + } + "ALGR(FA_WAW)": { + "key": "FA_COMM", + "label": ",", + } + "ALGR(FA_DOT)": { + "key": "FA_QUOT", + "label": "'", + } + "ALGR(FA_SLSH)": { + "key": "FA_QUES", + "label": "?", + } +/* Shift+AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ ¦ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "S(ALGR(FA_1A))": { + "key": "FA_1", + "label": "1", + } + "S(ALGR(FA_2A))": { + "key": "FA_2", + "label": "2", + } + "S(ALGR(FA_3A))": { + "key": "FA_3", + "label": "3", + } + "S(ALGR(FA_4A))": { + "key": "FA_4", + "label": "4", + } + "S(ALGR(FA_5A))": { + "key": "FA_5", + "label": "5", + } + "S(ALGR(FA_6A))": { + "key": "FA_6", + "label": "6", + } + "S(ALGR(FA_7A))": { + "key": "FA_7", + "label": "7", + } + "S(ALGR(FA_8A))": { + "key": "FA_8", + "label": "8", + } + "S(ALGR(FA_9A))": { + "key": "FA_9", + "label": "9", + } + "S(ALGR(FA_0A))": { + "key": "FA_0", + "label": "0", + } + "S(ALGR(FA_LT))": { + "key": "FA_BRKP", + "label": "¦", + } + "S(ALGR(FA_SPC))": { + "key": "FA_NNBS", + "label": "(narrow non-breaking space)", + } + } +} diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index 191e0d4ea8..d45183b6c6 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -33,6 +33,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` | |English (US International, Linux)|`keymap_us_international_linux.h`| | |Estonian |`keymap_estonian.h` |`sendstring_estonian.h` | +|Farsi |`keymap_farsi.h` | | |Finnish |`keymap_finnish.h` |`sendstring_finnish.h` | |French |`keymap_french.h` |`sendstring_french.h` | |French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` | diff --git a/quantum/keymap_extras/keymap_farsi.h b/quantum/keymap_extras/keymap_farsi.h new file mode 100644 index 0000000000..d268917513 --- /dev/null +++ b/quantum/keymap_extras/keymap_farsi.h @@ -0,0 +1,171 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once +#include "keycodes.h" +// clang-format off + +// Aliases +#define FA_ZWJ KC_GRV // (zero-width joiner) +#define FA_1A KC_1 // ۱ +#define FA_2A KC_2 // ۲ +#define FA_3A KC_3 // ۳ +#define FA_4A KC_4 // ۴ +#define FA_5A KC_5 // ۵ +#define FA_6A KC_6 // ۶ +#define FA_7A KC_7 // ۷ +#define FA_8A KC_8 // ۸ +#define FA_9A KC_9 // ۹ +#define FA_0A KC_0 // ۰ +#define FA_MINS KC_MINS // - +#define FA_EQL KC_EQL // = +#define FA_ZAD KC_Q // ض +#define FA_SAD KC_W // ص +#define FA_SE KC_E // ث +#define FA_QAF KC_R // ق +#define FA_FE KC_T // ف +#define FA_GHYN KC_Y // غ +#define FA_EYN KC_U // ع +#define FA_HE KC_I // ه +#define FA_KHE KC_O // خ +#define FA_HEJ KC_P // ح +#define FA_JIM KC_LBRC // ج +#define FA_CHE KC_RBRC // چ +#define FA_SHIN KC_A // ش +#define FA_SIN KC_S // س +#define FA_YE KC_D // ی +#define FA_BE KC_F // ب +#define FA_LAM KC_G // ل +#define FA_ALEF KC_H // ا +#define FA_TE KC_J // ت +#define FA_NOON KC_K // ن +#define FA_MIM KC_L // م +#define FA_KAF KC_SCLN // ک +#define FA_GAF KC_QUOT // گ +#define FA_BSLS KC_BSLS // (backslash) +#define FA_LT KC_LT // < +#define FA_ZA KC_Z // ظ +#define FA_TA KC_X // ط +#define FA_ZE KC_C // ز +#define FA_RE KC_V // ر +#define FA_ZAL KC_B // ذ +#define FA_DAL KC_N // د +#define FA_PE KC_M // پ +#define FA_WAW KC_COMM // و +#define FA_DOT KC_DOT // . +#define FA_SLSH KC_SLSH // / +#define FA_SPC KC_SPC // +#define FA_DIV S(FA_ZWJ) // ÷ +#define FA_EXLM S(FA_1A) // ! +#define FA_THS S(FA_2A) // ٬ +#define FA_DECS S(FA_3A) // ٫ +#define FA_RIAL S(FA_4A) // ﷼ +#define FA_PRCA S(FA_5A) // ٪ +#define FA_MUL S(FA_6A) // × +#define FA_COMA S(FA_7A) // ، +#define FA_ASTR S(FA_8A) // * +#define FA_RPRN S(FA_9A) // ) +#define FA_LPRN S(FA_0A) // ( +#define FA_TATW S(FA_MINS) // ـ +#define FA_PLUS S(FA_EQL) // + +#define FA_SUK S(FA_ZAD) // ْ +#define FA_DMTN S(FA_SAD) // ٌ +#define FA_KSTN S(FA_SE) // ٍ +#define FA_FTHN S(FA_QAF) // ً +#define FA_DMM S(FA_FE) // ُ +#define FA_KAS S(FA_GHYN) // ِ +#define FA_FAT S(FA_EYN) // َ +#define FA_TSDD S(FA_HE) // +#define FA_RBRC S(FA_KHE) // ] +#define FA_LBRC S(FA_HEJ) // [ +#define FA_RCBR S(FA_JIM) // } +#define FA_LCBR S(FA_CHE) // { +#define FA_HMZV S(FA_SHIN) // ؤ +#define FA_HMZY S(FA_SIN) // ئ +#define FA_YEA S(FA_YE) // ي +#define FA_HMZU S(FA_BE) // إ +#define FA_HMZO S(FA_LAM) // أ +#define FA_MALF S(FA_ALEF) // آ +#define FA_TEHM S(FA_TE) // ة +#define FA_RQOT S(FA_NOON) // » +#define FA_LQOT S(FA_MIM) // « +#define FA_COLN S(FA_KAF) // : +#define FA_SCLA S(FA_GAF) // ؛ +#define FA_GT S(FA_LT) // > +#define FA_KAFA S(FA_ZA) // ك +#define FA_MADO S(FA_TA) // ٓ +#define FA_JEH S(FA_ZE) // ژ +#define FA_SUPA S(FA_RE) // ٰ +#define FA_ZWNJ S(FA_ZAL) // (zero-width non-joiner) +#define FA_HMZA S(FA_DAL) // ٔ +#define FA_HMZ S(FA_PE) // ء +#define FA_QSA S(FA_SLSH) // ؟ +#define FA_TILD ALGR(FA_ZWJ) // ~ +#define FA_GRV ALGR(FA_1A) // ` +#define FA_AT ALGR(FA_2A) // @ +#define FA_HASH ALGR(FA_3A) // # +#define FA_DLR ALGR(FA_4A) // $ +#define FA_PERC ALGR(FA_5A) // % +#define FA_CIRC ALGR(FA_6A) // ^ +#define FA_AMPR ALGR(FA_7A) // & +#define FA_BULT ALGR(FA_8A) // • +#define FA_LRM ALGR(FA_9A) // (left-to-right mark) +#define FA_RLM ALGR(FA_0A) // (right-to-left mark) +#define FA_UNDS ALGR(FA_MINS) // _ +#define FA_DMNS ALGR(FA_EQL) // − (dead) +#define FA_DEG ALGR(FA_ZAD) // ° +#define FA_EURO ALGR(FA_SE) // € +#define FA_LRO ALGR(FA_HE) // (left-to-right override) +#define FA_RLO ALGR(FA_KHE) // (right-to-left override) +#define FA_PDF ALGR(FA_HEJ) // (pop directional formatting) +#define FA_LRE ALGR(FA_JIM) // (left-to-right embedding) +#define FA_RLE ALGR(FA_CHE) // (right-to-left embedding) +#define FA_ALFM ALGR(FA_YE) // ى +#define FA_ALFW ALGR(FA_ALEF) // ٱ +#define FA_LORP ALGR(FA_NOON) // ﴾ +#define FA_RORP ALGR(FA_MIM) // ﴿ +#define FA_SCLN ALGR(FA_KAF) // ; +#define FA_DQT ALGR(FA_GAF) // " +#define FA_MINA ALGR(FA_BSLS) // - +#define FA_PIPE ALGR(FA_ZA) // | +#define FA_SUBA ALGR(FA_RA) // ٖ +#define FA_HMZB ALGR(FA_DAL) // ء +#define FA_ELLP ALGR(FA_PE) // … +#define FA_COMM ALGR(FA_WAW) // , +#define FA_QUOT ALGR(FA_DOT) // ' +#define FA_QUES ALGR(FA_SLSH) // ? +#define FA_1 S(ALGR(FA_1A)) // 1 +#define FA_2 S(ALGR(FA_2A)) // 2 +#define FA_3 S(ALGR(FA_3A)) // 3 +#define FA_4 S(ALGR(FA_4A)) // 4 +#define FA_5 S(ALGR(FA_5A)) // 5 +#define FA_6 S(ALGR(FA_6A)) // 6 +#define FA_7 S(ALGR(FA_7A)) // 7 +#define FA_8 S(ALGR(FA_8A)) // 8 +#define FA_9 S(ALGR(FA_9A)) // 9 +#define FA_0 S(ALGR(FA_0A)) // 0 +#define FA_BRKP S(ALGR(FA_LT)) // ¦ +#define FA_NNBS S(ALGR(FA_SPC)) // (narrow non-breaking space) + -- cgit v1.2.3 From f0471dd5b4e737726540d5e86f2666726808a1ba Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 23 Jun 2024 09:02:13 +0100 Subject: Remove skipped schema files (#23987) --- data/schemas/false.jsonschema | 1 - data/schemas/true.jsonschema | 1 - 2 files changed, 2 deletions(-) delete mode 100644 data/schemas/false.jsonschema delete mode 100644 data/schemas/true.jsonschema (limited to 'data') diff --git a/data/schemas/false.jsonschema b/data/schemas/false.jsonschema deleted file mode 100644 index c508d5366f..0000000000 --- a/data/schemas/false.jsonschema +++ /dev/null @@ -1 +0,0 @@ -false diff --git a/data/schemas/true.jsonschema b/data/schemas/true.jsonschema deleted file mode 100644 index 27ba77ddaf..0000000000 --- a/data/schemas/true.jsonschema +++ /dev/null @@ -1 +0,0 @@ -true -- cgit v1.2.3 From f8596b40a4bb15a1881138baa8b8787277e2e622 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 3 Jul 2024 18:35:54 +1000 Subject: Normalise mouse keycodes (#23975) --- data/constants/keycodes/keycodes_0.0.5.hjson | 0 data/constants/keycodes/keycodes_0.0.5_basic.hjson | 175 +++++++++++++++++++++ docs/features/encoders.md | 8 +- docs/features/mouse_keys.md | 82 +++++----- docs/features/repeat_key.md | 8 +- docs/keycodes.md | 39 ++--- drivers/sensors/cirque_pinnacle_gestures.h | 2 +- .../lib/satisfaction75/satisfaction_encoder.c | 6 +- keyboards/dichotomy/keymaps/default/keymap.c | 16 +- quantum/action.c | 6 +- quantum/encoder.c | 4 +- quantum/keycode.h | 8 +- quantum/keycodes.h | 80 +++++----- quantum/mousekey.c | 112 ++++++------- quantum/pointing_device/pointing_device.c | 2 +- .../pointing_device/pointing_device_auto_mouse.h | 2 +- quantum/quantum_keycodes_legacy.h | 39 +++++ quantum/repeat_key.c | 8 +- tests/test_common/keycode_table.cpp | 38 ++--- 19 files changed, 426 insertions(+), 209 deletions(-) create mode 100644 data/constants/keycodes/keycodes_0.0.5.hjson create mode 100644 data/constants/keycodes/keycodes_0.0.5_basic.hjson (limited to 'data') diff --git a/data/constants/keycodes/keycodes_0.0.5.hjson b/data/constants/keycodes/keycodes_0.0.5.hjson new file mode 100644 index 0000000000..e69de29bb2 diff --git a/data/constants/keycodes/keycodes_0.0.5_basic.hjson b/data/constants/keycodes/keycodes_0.0.5_basic.hjson new file mode 100644 index 0000000000..79b6bf6596 --- /dev/null +++ b/data/constants/keycodes/keycodes_0.0.5_basic.hjson @@ -0,0 +1,175 @@ +{ + "keycodes": { + "0x00CD": { + "group": "mouse", + "key": "QK_MOUSE_CURSOR_UP", + "label": "Mouse cursor up", + "aliases": [ + "!reset!", + "MS_UP" + ] + }, + "0x00CE": { + "group": "mouse", + "key": "QK_MOUSE_CURSOR_DOWN", + "label": "Mouse cursor down", + "aliases": [ + "!reset!", + "MS_DOWN" + ] + }, + "0x00CF": { + "group": "mouse", + "key": "QK_MOUSE_CURSOR_LEFT", + "label": "Mouse cursor left", + "aliases": [ + "!reset!", + "MS_LEFT" + ] + }, + "0x00D0": { + "group": "mouse", + "key": "QK_MOUSE_CURSOR_RIGHT", + "label": "Mouse cursor right", + "aliases": [ + "!reset!", + "MS_RGHT" + ] + }, + "0x00D1": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_1", + "label": "Mouse button 1", + "aliases": [ + "!reset!", + "MS_BTN1" + ] + }, + "0x00D2": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_2", + "label": "Mouse button 2", + "aliases": [ + "!reset!", + "MS_BTN2" + ] + }, + "0x00D3": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_3", + "label": "Mouse button 3", + "aliases": [ + "!reset!", + "MS_BTN3" + ] + }, + "0x00D4": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_4", + "label": "Mouse button 4", + "aliases": [ + "!reset!", + "MS_BTN4" + ] + }, + "0x00D5": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_5", + "label": "Mouse button 5", + "aliases": [ + "!reset!", + "MS_BTN5" + ] + }, + "0x00D6": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_6", + "label": "Mouse button 6", + "aliases": [ + "!reset!", + "MS_BTN6" + ] + }, + "0x00D7": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_7", + "label": "Mouse button 7", + "aliases": [ + "!reset!", + "MS_BTN7" + ] + }, + "0x00D8": { + "group": "mouse", + "key": "QK_MOUSE_BUTTON_8", + "label": "Mouse button 8", + "aliases": [ + "!reset!", + "MS_BTN8" + ] + }, + "0x00D9": { + "group": "mouse", + "key": "QK_MOUSE_WHEEL_UP", + "label": "Mouse wheel up", + "aliases": [ + "!reset!", + "MS_WHLU" + ] + }, + "0x00DA": { + "group": "mouse", + "key": "QK_MOUSE_WHEEL_DOWN", + "label": "Mouse wheel down", + "aliases": [ + "!reset!", + "MS_WHLD" + ] + }, + "0x00DB": { + "group": "mouse", + "key": "QK_MOUSE_WHEEL_LEFT", + "label": "Mouse wheel left", + "aliases": [ + "!reset!", + "MS_WHLL" + ] + }, + "0x00DC": { + "group": "mouse", + "key": "QK_MOUSE_WHEEL_RIGHT", + "label": "Mouse wheel right", + "aliases": [ + "!reset!", + "MS_WHLR" + ] + }, + "0x00DD": { + "group": "mouse", + "key": "QK_MOUSE_ACCELERATION_0", + "label": "Set mouse acceleration to 0", + "aliases": [ + "!reset!", + "MS_ACL0" + ] + }, + "0x00DE": { + "group": "mouse", + "key": "QK_MOUSE_ACCELERATION_1", + "label": "Set mouse acceleration to 1", + "aliases": [ + "!reset!", + "MS_ACL1" + ] + }, + "0x00DF": { + "group": "mouse", + "key": "QK_MOUSE_ACCELERATION_2", + "label": "Set mouse acceleration to 2", + "aliases": [ + "!reset!", + "MS_ACL2" + ] + } + } +} diff --git a/docs/features/encoders.md b/docs/features/encoders.md index eea70dafec..73cbb4f3f3 100644 --- a/docs/features/encoders.md +++ b/docs/features/encoders.md @@ -84,10 +84,10 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t ```c #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, - [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, }; #endif ``` diff --git a/docs/features/mouse_keys.md b/docs/features/mouse_keys.md index c2b3e98f42..4cc06c992a 100644 --- a/docs/features/mouse_keys.md +++ b/docs/features/mouse_keys.md @@ -18,27 +18,27 @@ MOUSEKEY_ENABLE = yes In your keymap you can use the following keycodes to map key presses to mouse actions: -|Key |Aliases |Description | -|----------------|---------|-----------------| -|`KC_MS_UP` |`KC_MS_U`|Move cursor up | -|`KC_MS_DOWN` |`KC_MS_D`|Move cursor down | -|`KC_MS_LEFT` |`KC_MS_L`|Move cursor left | -|`KC_MS_RIGHT` |`KC_MS_R`|Move cursor right| -|`KC_MS_BTN1` |`KC_BTN1`|Press button 1 | -|`KC_MS_BTN2` |`KC_BTN2`|Press button 2 | -|`KC_MS_BTN3` |`KC_BTN3`|Press button 3 | -|`KC_MS_BTN4` |`KC_BTN4`|Press button 4 | -|`KC_MS_BTN5` |`KC_BTN5`|Press button 5 | -|`KC_MS_BTN6` |`KC_BTN6`|Press button 6 | -|`KC_MS_BTN7` |`KC_BTN7`|Press button 7 | -|`KC_MS_BTN8` |`KC_BTN8`|Press button 8 | -|`KC_MS_WH_UP` |`KC_WH_U`|Move wheel up | -|`KC_MS_WH_DOWN` |`KC_WH_D`|Move wheel down | -|`KC_MS_WH_LEFT` |`KC_WH_L`|Move wheel left | -|`KC_MS_WH_RIGHT`|`KC_WH_R`|Move wheel right | -|`KC_MS_ACCEL0` |`KC_ACL0`|Set speed to 0 | -|`KC_MS_ACCEL1` |`KC_ACL1`|Set speed to 1 | -|`KC_MS_ACCEL2` |`KC_ACL2`|Set speed to 2 | +|Key |Aliases |Description | +|-------------------------|---------|---------------------------| +|`QK_MOUSE_CURSOR_UP` |`MS_UP` |Mouse cursor up | +|`QK_MOUSE_CURSOR_DOWN` |`MS_DOWN`|Mouse cursor down | +|`QK_MOUSE_CURSOR_LEFT` |`MS_LEFT`|Mouse cursor left | +|`QK_MOUSE_CURSOR_RIGHT` |`MS_RGHT`|Mouse cursor right | +|`QK_MOUSE_BUTTON_1` |`MS_BTN1`|Mouse button 1 | +|`QK_MOUSE_BUTTON_2` |`MS_BTN2`|Mouse button 2 | +|`QK_MOUSE_BUTTON_3` |`MS_BTN3`|Mouse button 3 | +|`QK_MOUSE_BUTTON_4` |`MS_BTN4`|Mouse button 4 | +|`QK_MOUSE_BUTTON_5` |`MS_BTN5`|Mouse button 5 | +|`QK_MOUSE_BUTTON_6` |`MS_BTN6`|Mouse button 6 | +|`QK_MOUSE_BUTTON_7` |`MS_BTN7`|Mouse button 7 | +|`QK_MOUSE_BUTTON_8` |`MS_BTN8`|Mouse button 8 | +|`QK_MOUSE_WHEEL_UP` |`MS_WHLU`|Mouse wheel up | +|`QK_MOUSE_WHEEL_DOWN` |`MS_WHLD`|Mouse wheel down | +|`QK_MOUSE_WHEEL_LEFT` |`MS_WHLL`|Mouse wheel left | +|`QK_MOUSE_WHEEL_RIGHT` |`MS_WHLR`|Mouse wheel right | +|`QK_MOUSE_ACCELERATION_0`|`MS_ACL0`|Set mouse acceleration to 0| +|`QK_MOUSE_ACCELERATION_1`|`MS_ACL1`|Set mouse acceleration to 1| +|`QK_MOUSE_ACCELERATION_2`|`MS_ACL2`|Set mouse acceleration to 2| ## Configuring mouse keys @@ -106,17 +106,17 @@ Tips: ### Constant mode -In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `KC_ACL0`, `KC_ACL1` and `KC_ACL2` change the cursor and scroll speed to their respective setting. +In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `MS_ACL0`, `MS_ACL1` and `MS_ACL2` change the cursor and scroll speed to their respective setting. You can choose whether speed selection is momentary or tap-to-select: * **Momentary:** The chosen speed is only active while you hold the respective key. When the key is raised, mouse keys returns to the unmodified speed. -* **Tap-to-select:** The chosen speed is activated when you press the respective key and remains active even after the key has been raised. The default speed is that of `KC_ACL1`. There is no unmodified speed. +* **Tap-to-select:** The chosen speed is activated when you press the respective key and remains active even after the key has been raised. The default speed is that of `MS_ACL1`. There is no unmodified speed. The default speeds from slowest to fastest are as follows: -* **Momentary:** `KC_ACL0` < `KC_ACL1` < *unmodified* < `KC_ACL2` -* **Tap-to-select:** `KC_ACL0` < `KC_ACL1` < `KC_ACL2` +* **Momentary:** `MS_ACL0` < `MS_ACL1` < *unmodified* < `MS_ACL2` +* **Tap-to-select:** `MS_ACL0` < `MS_ACL1` < `MS_ACL2` To use constant speed mode, you must at least define `MK_3_SPEED` in your keymap’s `config.h` file: @@ -138,32 +138,32 @@ Use the following settings if you want to adjust cursor movement or scrolling: |`MK_MOMENTARY_ACCEL` |*Not defined*|Enable momentary speed selection | |`MK_C_OFFSET_UNMOD` |16 |Cursor offset per movement (unmodified) | |`MK_C_INTERVAL_UNMOD`|16 |Time between cursor movements (unmodified) | -|`MK_C_OFFSET_0` |1 |Cursor offset per movement (`KC_ACL0`) | -|`MK_C_INTERVAL_0` |32 |Time between cursor movements (`KC_ACL0`) | -|`MK_C_OFFSET_1` |4 |Cursor offset per movement (`KC_ACL1`) | -|`MK_C_INTERVAL_1` |16 |Time between cursor movements (`KC_ACL1`) | -|`MK_C_OFFSET_2` |32 |Cursor offset per movement (`KC_ACL2`) | -|`MK_C_INTERVAL_2` |16 |Time between cursor movements (`KC_ACL2`) | +|`MK_C_OFFSET_0` |1 |Cursor offset per movement (`MS_ACL0`) | +|`MK_C_INTERVAL_0` |32 |Time between cursor movements (`MS_ACL0`) | +|`MK_C_OFFSET_1` |4 |Cursor offset per movement (`MS_ACL1`) | +|`MK_C_INTERVAL_1` |16 |Time between cursor movements (`MS_ACL1`) | +|`MK_C_OFFSET_2` |32 |Cursor offset per movement (`MS_ACL2`) | +|`MK_C_INTERVAL_2` |16 |Time between cursor movements (`MS_ACL2`) | |`MK_W_OFFSET_UNMOD` |1 |Scroll steps per scroll action (unmodified)| |`MK_W_INTERVAL_UNMOD`|40 |Time between scroll steps (unmodified) | -|`MK_W_OFFSET_0` |1 |Scroll steps per scroll action (`KC_ACL0`) | -|`MK_W_INTERVAL_0` |360 |Time between scroll steps (`KC_ACL0`) | -|`MK_W_OFFSET_1` |1 |Scroll steps per scroll action (`KC_ACL1`) | -|`MK_W_INTERVAL_1` |120 |Time between scroll steps (`KC_ACL1`) | -|`MK_W_OFFSET_2` |1 |Scroll steps per scroll action (`KC_ACL2`) | -|`MK_W_INTERVAL_2` |20 |Time between scroll steps (`KC_ACL2`) | +|`MK_W_OFFSET_0` |1 |Scroll steps per scroll action (`MS_ACL0`) | +|`MK_W_INTERVAL_0` |360 |Time between scroll steps (`MS_ACL0`) | +|`MK_W_OFFSET_1` |1 |Scroll steps per scroll action (`MS_ACL1`) | +|`MK_W_INTERVAL_1` |120 |Time between scroll steps (`MS_ACL1`) | +|`MK_W_OFFSET_2` |1 |Scroll steps per scroll action (`MS_ACL2`) | +|`MK_W_INTERVAL_2` |20 |Time between scroll steps (`MS_ACL2`) | ### Combined mode -This mode functions like **Accelerated** mode, however, you can hold `KC_ACL0`, `KC_ACL1` and `KC_ACL2` +This mode functions like **Accelerated** mode, however, you can hold `MS_ACL0`, `MS_ACL1` and `MS_ACL2` to momentarily (while held) set the cursor and scroll speeds to constant speeds. When no acceleration keys are held, this mode is identical to **Accelerated** mode, and can be modified using all of the relevant settings. -* **KC_ACL0:** This acceleration sets your cursor to the slowest possible speed. This is useful for very +* **MS_ACL0:** This acceleration sets your cursor to the slowest possible speed. This is useful for very small and detailed movements of the cursor. -* **KC_ACL1:** This acceleration sets your cursor to half the maximum (user defined) speed. -* **KC_ACL2:** This acceleration sets your cursor to the maximum (computer defined) speed. This is +* **MS_ACL1:** This acceleration sets your cursor to half the maximum (user defined) speed. +* **MS_ACL2:** This acceleration sets your cursor to the maximum (computer defined) speed. This is useful for moving the cursor large distances without much accuracy. To use combined speed mode, you must at least define `MK_COMBINED` in your keymap’s `config.h` file: diff --git a/docs/features/repeat_key.md b/docs/features/repeat_key.md index 53495e0f4d..7f2bdc44e6 100644 --- a/docs/features/repeat_key.md +++ b/docs/features/repeat_key.md @@ -60,10 +60,10 @@ with mods, like Ctrl + Left ↔ Ctrl + Right Arrow. |`KC_UP` ↔ `KC_DOWN` | Up ↔ Down Arrow | |`KC_HOME` ↔ `KC_END` | Home ↔ End | |`KC_PGUP` ↔ `KC_PGDN` | Page Up ↔ Page Down | -|`KC_MS_L` ↔ `KC_MS_R` | Mouse Cursor Left ↔ Right | -|`KC_MS_U` ↔ `KC_MS_D` | Mouse Cursor Up ↔ Down | -|`KC_WH_L` ↔ `KC_WH_R` | Mouse Wheel Left ↔ Right | -|`KC_WH_U` ↔ `KC_WH_D` | Mouse Wheel Up ↔ Down | +|`MS_LEFT` ↔ `MS_RGHT` | Mouse Cursor Left ↔ Right | +|`MS_UP` ↔ `MS_DOWN` | Mouse Cursor Up ↔ Down | +|`MS_WHLL` ↔ `MS_WHLR` | Mouse Wheel Left ↔ Right | +|`MS_WHLU` ↔ `MS_WHLD` | Mouse Wheel Up ↔ Down | **Misc** diff --git a/docs/keycodes.md b/docs/keycodes.md index 4c91d98fa7..ea8b2e7b65 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -611,24 +611,27 @@ See also: [MIDI](features/midi) See also: [Mouse Keys](features/mouse_keys) -|Key |Aliases |Description | -|----------------|---------|---------------------------| -|`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up | -|`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down | -|`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left | -|`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right | -|`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 | -|`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 | -|`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 | -|`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 | -|`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 | -|`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up | -|`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down | -|`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left | -|`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right | -|`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0| -|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1| -|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2| +|Key |Aliases |Description | +|-------------------------|---------|---------------------------| +|`QK_MOUSE_CURSOR_UP` |`MS_UP` |Mouse cursor up | +|`QK_MOUSE_CURSOR_DOWN` |`MS_DOWN`|Mouse cursor down | +|`QK_MOUSE_CURSOR_LEFT` |`MS_LEFT`|Mouse cursor left | +|`QK_MOUSE_CURSOR_RIGHT` |`MS_RGHT`|Mouse cursor right | +|`QK_MOUSE_BUTTON_1` |`MS_BTN1`|Mouse button 1 | +|`QK_MOUSE_BUTTON_2` |`MS_BTN2`|Mouse button 2 | +|`QK_MOUSE_BUTTON_3` |`MS_BTN3`|Mouse button 3 | +|`QK_MOUSE_BUTTON_4` |`MS_BTN4`|Mouse button 4 | +|`QK_MOUSE_BUTTON_5` |`MS_BTN5`|Mouse button 5 | +|`QK_MOUSE_BUTTON_6` |`MS_BTN6`|Mouse button 6 | +|`QK_MOUSE_BUTTON_7` |`MS_BTN7`|Mouse button 7 | +|`QK_MOUSE_BUTTON_8` |`MS_BTN8`|Mouse button 8 | +|`QK_MOUSE_WHEEL_UP` |`MS_WHLU`|Mouse wheel up | +|`QK_MOUSE_WHEEL_DOWN` |`MS_WHLD`|Mouse wheel down | +|`QK_MOUSE_WHEEL_LEFT` |`MS_WHLL`|Mouse wheel left | +|`QK_MOUSE_WHEEL_RIGHT` |`MS_WHLR`|Mouse wheel right | +|`QK_MOUSE_ACCELERATION_0`|`MS_ACL0`|Set mouse acceleration to 0| +|`QK_MOUSE_ACCELERATION_1`|`MS_ACL1`|Set mouse acceleration to 1| +|`QK_MOUSE_ACCELERATION_2`|`MS_ACL2`|Set mouse acceleration to 2| ## Modifiers {#modifiers} diff --git a/drivers/sensors/cirque_pinnacle_gestures.h b/drivers/sensors/cirque_pinnacle_gestures.h index d2aa206b2b..1412c86f7e 100644 --- a/drivers/sensors/cirque_pinnacle_gestures.h +++ b/drivers/sensors/cirque_pinnacle_gestures.h @@ -28,7 +28,7 @@ typedef struct { # ifndef CIRQUE_PINNACLE_TAPPING_TERM # include "action.h" # include "action_tapping.h" -# define CIRQUE_PINNACLE_TAPPING_TERM GET_TAPPING_TERM(KC_BTN1, &(keyrecord_t){}) +# define CIRQUE_PINNACLE_TAPPING_TERM GET_TAPPING_TERM(QK_MOUSE_BUTTON_1, &(keyrecord_t){}) # endif # ifndef CIRQUE_PINNACLE_TOUCH_DEBOUNCE # define CIRQUE_PINNACLE_TOUCH_DEBOUNCE (CIRQUE_PINNACLE_TAPPING_TERM * 8) diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c index aab005ebd8..7e0b82e9e7 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c @@ -101,7 +101,7 @@ uint16_t handle_encoder_clockwise(void){ mapped_code = KC_MEDIA_NEXT_TRACK; break; case ENC_MODE_SCROLL: - mapped_code = KC_WH_D; + mapped_code = QK_MOUSE_WHEEL_DOWN; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: @@ -143,7 +143,7 @@ uint16_t handle_encoder_ccw(void){ mapped_code = KC_MEDIA_PREV_TRACK; break; case ENC_MODE_SCROLL: - mapped_code = KC_WH_U; + mapped_code = QK_MOUSE_WHEEL_UP; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: @@ -186,7 +186,7 @@ uint16_t handle_encoder_press(void){ mapped_code = KC_MEDIA_PLAY_PAUSE; break; case ENC_MODE_SCROLL: - mapped_code = KC_BTN3; + mapped_code = QK_MOUSE_BUTTON_3; break; #ifdef BACKLIGHT_ENABLE case ENC_MODE_BACKLIGHT: diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c index b83f7b82e9..b92beb73cc 100755 --- a/keyboards/dichotomy/keymaps/default/keymap.c +++ b/keyboards/dichotomy/keymaps/default/keymap.c @@ -28,9 +28,9 @@ enum dichotomy_keycodes NUMKEY, SFTKEY, MOUKEY, - MS_BTN1, - MS_BTN2, - MS_BTN3 + CK_MSE1, + CK_MSE2, + CK_MSE3 }; #define CUSTOM_LONGPRESS 150 @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NUMKEY, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CK_QE, SFTKEY, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUKEY, KC_LCTL, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_RCTL, - MS_BTN3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, MS_BTN3 + CK_MSE3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, CK_MSE3 ), [_SF] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */ @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MS] = LAYOUT( /* Mouse layer, including buttons for clicking. */ _______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, CK_MSE1, CK_MSE2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______ @@ -311,7 +311,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; //mouse buttons, for 1-3, to update the mouse report: - case MS_BTN1: + case CK_MSE1: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ @@ -327,7 +327,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { pointing_device_set_report(currentReport); returnVal = false; break; - case MS_BTN2: + case CK_MSE2: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ @@ -343,7 +343,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { pointing_device_set_report(currentReport); returnVal = false; break; - case MS_BTN3: + case CK_MSE3: currentReport = pointing_device_get_report(); if (record->event.pressed) { if (shift_held && shift_suspended){ diff --git a/quantum/action.c b/quantum/action.c index 74ef55e5eb..a39631ba3e 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -329,7 +329,7 @@ void register_mouse(uint8_t mouse_keycode, bool pressed) { // should mousekeys send report, or does something else handle this? switch (mouse_keycode) { # if defined(PS2_MOUSE_ENABLE) || defined(POINTING_DEVICE_ENABLE) - case KC_MS_BTN1 ... KC_MS_BTN8: + case QK_MOUSE_BUTTON_1 ... QK_MOUSE_BUTTON_8: // let pointing device handle the buttons // expand if/when it handles more of the code # if defined(POINTING_DEVICE_ENABLE) @@ -351,8 +351,8 @@ void register_mouse(uint8_t mouse_keycode, bool pressed) { #ifdef PS2_MOUSE_ENABLE // make sure that ps2 mouse has button report synced - if (KC_MS_BTN1 <= mouse_keycode && mouse_keycode <= KC_MS_BTN3) { - uint8_t tmp_button_msk = MOUSE_BTN_MASK(mouse_keycode - KC_MS_BTN1); + if (QK_MOUSE_BUTTON_1 <= mouse_keycode && mouse_keycode <= QK_MOUSE_BUTTON_3) { + uint8_t tmp_button_msk = MOUSE_BTN_MASK(mouse_keycode - QK_MOUSE_BUTTON_1); tp_buttons = pressed ? tp_buttons | tmp_button_msk : tp_buttons & ~tmp_button_msk; } #endif diff --git a/quantum/encoder.c b/quantum/encoder.c index 2ddbf3ee1e..27d7b1fc80 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -160,7 +160,7 @@ __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { # if defined(EXTRAKEY_ENABLE) tap_code_delay(KC_VOLU, 10); # elif defined(MOUSEKEY_ENABLE) - tap_code_delay(KC_MS_WH_UP, 10); + tap_code_delay(QK_MOUSE_WHEEL_UP, 10); # else tap_code_delay(KC_PGDN, 10); # endif @@ -168,7 +168,7 @@ __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) { # if defined(EXTRAKEY_ENABLE) tap_code_delay(KC_VOLD, 10); # elif defined(MOUSEKEY_ENABLE) - tap_code_delay(KC_MS_WH_DOWN, 10); + tap_code_delay(QK_MOUSE_WHEEL_DOWN, 10); # else tap_code_delay(KC_PGUP, 10); # endif diff --git a/quantum/keycode.h b/quantum/keycode.h index df1452d296..4ff6894a01 100644 --- a/quantum/keycode.h +++ b/quantum/keycode.h @@ -29,10 +29,10 @@ along with this program. If not, see . #define IS_ANY(code) (KC_A <= (code) && (code) <= 0xFF) #define IS_MOUSEKEY(code) IS_MOUSE_KEYCODE(code) -#define IS_MOUSEKEY_MOVE(code) (KC_MS_UP <= (code) && (code) <= KC_MS_RIGHT) -#define IS_MOUSEKEY_BUTTON(code) (KC_MS_BTN1 <= (code) && (code) <= KC_MS_BTN8) -#define IS_MOUSEKEY_WHEEL(code) (KC_MS_WH_UP <= (code) && (code) <= KC_MS_WH_RIGHT) -#define IS_MOUSEKEY_ACCEL(code) (KC_MS_ACCEL0 <= (code) && (code) <= KC_MS_ACCEL2) +#define IS_MOUSEKEY_MOVE(code) (QK_MOUSE_CURSOR_UP <= (code) && (code) <= QK_MOUSE_CURSOR_RIGHT) +#define IS_MOUSEKEY_BUTTON(code) (QK_MOUSE_BUTTON_1 <= (code) && (code) <= QK_MOUSE_BUTTON_8) +#define IS_MOUSEKEY_WHEEL(code) (QK_MOUSE_WHEEL_UP <= (code) && (code) <= QK_MOUSE_WHEEL_RIGHT) +#define IS_MOUSEKEY_ACCEL(code) (QK_MOUSE_ACCELERATION_0 <= (code) && (code) <= QK_MOUSE_ACCELERATION_2) #define MOD_BIT(code) (1 << ((code)&0x07)) diff --git a/quantum/keycodes.h b/quantum/keycodes.h index c92028ab43..f461e4a586 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h @@ -283,25 +283,25 @@ enum qk_keycode_defines { KC_ASSISTANT = 0x00C0, KC_MISSION_CONTROL = 0x00C1, KC_LAUNCHPAD = 0x00C2, - KC_MS_UP = 0x00CD, - KC_MS_DOWN = 0x00CE, - KC_MS_LEFT = 0x00CF, - KC_MS_RIGHT = 0x00D0, - KC_MS_BTN1 = 0x00D1, - KC_MS_BTN2 = 0x00D2, - KC_MS_BTN3 = 0x00D3, - KC_MS_BTN4 = 0x00D4, - KC_MS_BTN5 = 0x00D5, - KC_MS_BTN6 = 0x00D6, - KC_MS_BTN7 = 0x00D7, - KC_MS_BTN8 = 0x00D8, - KC_MS_WH_UP = 0x00D9, - KC_MS_WH_DOWN = 0x00DA, - KC_MS_WH_LEFT = 0x00DB, - KC_MS_WH_RIGHT = 0x00DC, - KC_MS_ACCEL0 = 0x00DD, - KC_MS_ACCEL1 = 0x00DE, - KC_MS_ACCEL2 = 0x00DF, + QK_MOUSE_CURSOR_UP = 0x00CD, + QK_MOUSE_CURSOR_DOWN = 0x00CE, + QK_MOUSE_CURSOR_LEFT = 0x00CF, + QK_MOUSE_CURSOR_RIGHT = 0x00D0, + QK_MOUSE_BUTTON_1 = 0x00D1, + QK_MOUSE_BUTTON_2 = 0x00D2, + QK_MOUSE_BUTTON_3 = 0x00D3, + QK_MOUSE_BUTTON_4 = 0x00D4, + QK_MOUSE_BUTTON_5 = 0x00D5, + QK_MOUSE_BUTTON_6 = 0x00D6, + QK_MOUSE_BUTTON_7 = 0x00D7, + QK_MOUSE_BUTTON_8 = 0x00D8, + QK_MOUSE_WHEEL_UP = 0x00D9, + QK_MOUSE_WHEEL_DOWN = 0x00DA, + QK_MOUSE_WHEEL_LEFT = 0x00DB, + QK_MOUSE_WHEEL_RIGHT = 0x00DC, + QK_MOUSE_ACCELERATION_0 = 0x00DD, + QK_MOUSE_ACCELERATION_1 = 0x00DE, + QK_MOUSE_ACCELERATION_2 = 0x00DF, KC_LEFT_CTRL = 0x00E0, KC_LEFT_SHIFT = 0x00E1, KC_LEFT_ALT = 0x00E2, @@ -926,25 +926,25 @@ enum qk_keycode_defines { KC_ASST = KC_ASSISTANT, KC_MCTL = KC_MISSION_CONTROL, KC_LPAD = KC_LAUNCHPAD, - KC_MS_U = KC_MS_UP, - KC_MS_D = KC_MS_DOWN, - KC_MS_L = KC_MS_LEFT, - KC_MS_R = KC_MS_RIGHT, - KC_BTN1 = KC_MS_BTN1, - KC_BTN2 = KC_MS_BTN2, - KC_BTN3 = KC_MS_BTN3, - KC_BTN4 = KC_MS_BTN4, - KC_BTN5 = KC_MS_BTN5, - KC_BTN6 = KC_MS_BTN6, - KC_BTN7 = KC_MS_BTN7, - KC_BTN8 = KC_MS_BTN8, - KC_WH_U = KC_MS_WH_UP, - KC_WH_D = KC_MS_WH_DOWN, - KC_WH_L = KC_MS_WH_LEFT, - KC_WH_R = KC_MS_WH_RIGHT, - KC_ACL0 = KC_MS_ACCEL0, - KC_ACL1 = KC_MS_ACCEL1, - KC_ACL2 = KC_MS_ACCEL2, + MS_UP = QK_MOUSE_CURSOR_UP, + MS_DOWN = QK_MOUSE_CURSOR_DOWN, + MS_LEFT = QK_MOUSE_CURSOR_LEFT, + MS_RGHT = QK_MOUSE_CURSOR_RIGHT, + MS_BTN1 = QK_MOUSE_BUTTON_1, + MS_BTN2 = QK_MOUSE_BUTTON_2, + MS_BTN3 = QK_MOUSE_BUTTON_3, + MS_BTN4 = QK_MOUSE_BUTTON_4, + MS_BTN5 = QK_MOUSE_BUTTON_5, + MS_BTN6 = QK_MOUSE_BUTTON_6, + MS_BTN7 = QK_MOUSE_BUTTON_7, + MS_BTN8 = QK_MOUSE_BUTTON_8, + MS_WHLU = QK_MOUSE_WHEEL_UP, + MS_WHLD = QK_MOUSE_WHEEL_DOWN, + MS_WHLL = QK_MOUSE_WHEEL_LEFT, + MS_WHLR = QK_MOUSE_WHEEL_RIGHT, + MS_ACL0 = QK_MOUSE_ACCELERATION_0, + MS_ACL1 = QK_MOUSE_ACCELERATION_1, + MS_ACL2 = QK_MOUSE_ACCELERATION_2, KC_LCTL = KC_LEFT_CTRL, KC_LSFT = KC_LEFT_SHIFT, KC_LALT = KC_LEFT_ALT, @@ -1457,7 +1457,7 @@ enum qk_keycode_defines { #define IS_BASIC_KEYCODE(code) ((code) >= KC_A && (code) <= KC_EXSEL) #define IS_SYSTEM_KEYCODE(code) ((code) >= KC_SYSTEM_POWER && (code) <= KC_SYSTEM_WAKE) #define IS_CONSUMER_KEYCODE(code) ((code) >= KC_AUDIO_MUTE && (code) <= KC_LAUNCHPAD) -#define IS_MOUSE_KEYCODE(code) ((code) >= KC_MS_UP && (code) <= KC_MS_ACCEL2) +#define IS_MOUSE_KEYCODE(code) ((code) >= QK_MOUSE_CURSOR_UP && (code) <= QK_MOUSE_ACCELERATION_2) #define IS_MODIFIER_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI) #define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT) #define IS_MAGIC_KEYCODE(code) ((code) >= QK_MAGIC_SWAP_CONTROL_CAPS_LOCK && (code) <= QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK) @@ -1482,7 +1482,7 @@ enum qk_keycode_defines { #define BASIC_KEYCODE_RANGE KC_A ... KC_EXSEL #define SYSTEM_KEYCODE_RANGE KC_SYSTEM_POWER ... KC_SYSTEM_WAKE #define CONSUMER_KEYCODE_RANGE KC_AUDIO_MUTE ... KC_LAUNCHPAD -#define MOUSE_KEYCODE_RANGE KC_MS_UP ... KC_MS_ACCEL2 +#define MOUSE_KEYCODE_RANGE QK_MOUSE_CURSOR_UP ... QK_MOUSE_ACCELERATION_2 #define MODIFIER_KEYCODE_RANGE KC_LEFT_CTRL ... KC_RIGHT_GUI #define SWAP_HANDS_KEYCODE_RANGE QK_SWAP_HANDS_TOGGLE ... QK_SWAP_HANDS_ONE_SHOT #define MAGIC_KEYCODE_RANGE QK_MAGIC_SWAP_CONTROL_CAPS_LOCK ... QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK diff --git a/quantum/mousekey.c b/quantum/mousekey.c index 3910811752..8683cfdffa 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -407,42 +407,42 @@ void mousekey_on(uint8_t code) { # ifdef MOUSEKEY_INERTIA // initial keypress sets impulse and activates first frame of movement - if ((code == KC_MS_UP) || (code == KC_MS_DOWN)) { - mousekey_y_dir = (code == KC_MS_DOWN) ? 1 : -1; + if ((code == QK_MOUSE_CURSOR_UP) || (code == QK_MOUSE_CURSOR_DOWN)) { + mousekey_y_dir = (code == QK_MOUSE_CURSOR_DOWN) ? 1 : -1; if (mousekey_frame < 2) mouse_report.y = move_unit(1); - } else if ((code == KC_MS_LEFT) || (code == KC_MS_RIGHT)) { - mousekey_x_dir = (code == KC_MS_RIGHT) ? 1 : -1; + } else if ((code == QK_MOUSE_CURSOR_LEFT) || (code == QK_MOUSE_CURSOR_RIGHT)) { + mousekey_x_dir = (code == QK_MOUSE_CURSOR_RIGHT) ? 1 : -1; if (mousekey_frame < 2) mouse_report.x = move_unit(0); } # else // no inertia - if (code == KC_MS_UP) + if (code == QK_MOUSE_CURSOR_UP) mouse_report.y = move_unit() * -1; - else if (code == KC_MS_DOWN) + else if (code == QK_MOUSE_CURSOR_DOWN) mouse_report.y = move_unit(); - else if (code == KC_MS_LEFT) + else if (code == QK_MOUSE_CURSOR_LEFT) mouse_report.x = move_unit() * -1; - else if (code == KC_MS_RIGHT) + else if (code == QK_MOUSE_CURSOR_RIGHT) mouse_report.x = move_unit(); # endif // inertia or not - else if (code == KC_MS_WH_UP) + else if (code == QK_MOUSE_WHEEL_UP) mouse_report.v = wheel_unit(); - else if (code == KC_MS_WH_DOWN) + else if (code == QK_MOUSE_WHEEL_DOWN) mouse_report.v = wheel_unit() * -1; - else if (code == KC_MS_WH_LEFT) + else if (code == QK_MOUSE_WHEEL_LEFT) mouse_report.h = wheel_unit() * -1; - else if (code == KC_MS_WH_RIGHT) + else if (code == QK_MOUSE_WHEEL_RIGHT) mouse_report.h = wheel_unit(); else if (IS_MOUSEKEY_BUTTON(code)) - mouse_report.buttons |= 1 << (code - KC_MS_BTN1); - else if (code == KC_MS_ACCEL0) + mouse_report.buttons |= 1 << (code - QK_MOUSE_BUTTON_1); + else if (code == QK_MOUSE_ACCELERATION_0) mousekey_accel |= (1 << 0); - else if (code == KC_MS_ACCEL1) + else if (code == QK_MOUSE_ACCELERATION_1) mousekey_accel |= (1 << 1); - else if (code == KC_MS_ACCEL2) + else if (code == QK_MOUSE_ACCELERATION_2) mousekey_accel |= (1 << 2); } @@ -450,43 +450,43 @@ void mousekey_off(uint8_t code) { # ifdef MOUSEKEY_INERTIA // key release clears impulse unless opposite direction is held - if ((code == KC_MS_UP) && (mousekey_y_dir < 1)) + if ((code == QK_MOUSE_CURSOR_UP) && (mousekey_y_dir < 1)) mousekey_y_dir = 0; - else if ((code == KC_MS_DOWN) && (mousekey_y_dir > -1)) + else if ((code == QK_MOUSE_CURSOR_DOWN) && (mousekey_y_dir > -1)) mousekey_y_dir = 0; - else if ((code == KC_MS_LEFT) && (mousekey_x_dir < 1)) + else if ((code == QK_MOUSE_CURSOR_LEFT) && (mousekey_x_dir < 1)) mousekey_x_dir = 0; - else if ((code == KC_MS_RIGHT) && (mousekey_x_dir > -1)) + else if ((code == QK_MOUSE_CURSOR_RIGHT) && (mousekey_x_dir > -1)) mousekey_x_dir = 0; # else // no inertia - if (code == KC_MS_UP && mouse_report.y < 0) + if (code == QK_MOUSE_CURSOR_UP && mouse_report.y < 0) mouse_report.y = 0; - else if (code == KC_MS_DOWN && mouse_report.y > 0) + else if (code == QK_MOUSE_CURSOR_DOWN && mouse_report.y > 0) mouse_report.y = 0; - else if (code == KC_MS_LEFT && mouse_report.x < 0) + else if (code == QK_MOUSE_CURSOR_LEFT && mouse_report.x < 0) mouse_report.x = 0; - else if (code == KC_MS_RIGHT && mouse_report.x > 0) + else if (code == QK_MOUSE_CURSOR_RIGHT && mouse_report.x > 0) mouse_report.x = 0; # endif // inertia or not - else if (code == KC_MS_WH_UP && mouse_report.v > 0) + else if (code == QK_MOUSE_WHEEL_UP && mouse_report.v > 0) mouse_report.v = 0; - else if (code == KC_MS_WH_DOWN && mouse_report.v < 0) + else if (code == QK_MOUSE_WHEEL_DOWN && mouse_report.v < 0) mouse_report.v = 0; - else if (code == KC_MS_WH_LEFT && mouse_report.h < 0) + else if (code == QK_MOUSE_WHEEL_LEFT && mouse_report.h < 0) mouse_report.h = 0; - else if (code == KC_MS_WH_RIGHT && mouse_report.h > 0) + else if (code == QK_MOUSE_WHEEL_RIGHT && mouse_report.h > 0) mouse_report.h = 0; else if (IS_MOUSEKEY_BUTTON(code)) - mouse_report.buttons &= ~(1 << (code - KC_MS_BTN1)); - else if (code == KC_MS_ACCEL0) + mouse_report.buttons &= ~(1 << (code - QK_MOUSE_BUTTON_1)); + else if (code == QK_MOUSE_ACCELERATION_0) mousekey_accel &= ~(1 << 0); - else if (code == KC_MS_ACCEL1) + else if (code == QK_MOUSE_ACCELERATION_1) mousekey_accel &= ~(1 << 1); - else if (code == KC_MS_ACCEL2) + else if (code == QK_MOUSE_ACCELERATION_2) mousekey_accel &= ~(1 << 2); if (mouse_report.x == 0 && mouse_report.y == 0) { mousekey_repeat = 0; @@ -568,29 +568,29 @@ void mousekey_on(uint8_t code) { uint16_t const c_offset = c_offsets[mk_speed]; uint16_t const w_offset = w_offsets[mk_speed]; uint8_t const old_speed = mk_speed; - if (code == KC_MS_UP) + if (code == QK_MOUSE_CURSOR_UP) mouse_report.y = c_offset * -1; - else if (code == KC_MS_DOWN) + else if (code == QK_MOUSE_CURSOR_DOWN) mouse_report.y = c_offset; - else if (code == KC_MS_LEFT) + else if (code == QK_MOUSE_CURSOR_LEFT) mouse_report.x = c_offset * -1; - else if (code == KC_MS_RIGHT) + else if (code == QK_MOUSE_CURSOR_RIGHT) mouse_report.x = c_offset; - else if (code == KC_MS_WH_UP) + else if (code == QK_MOUSE_WHEEL_UP) mouse_report.v = w_offset; - else if (code == KC_MS_WH_DOWN) + else if (code == QK_MOUSE_WHEEL_DOWN) mouse_report.v = w_offset * -1; - else if (code == KC_MS_WH_LEFT) + else if (code == QK_MOUSE_WHEEL_LEFT) mouse_report.h = w_offset * -1; - else if (code == KC_MS_WH_RIGHT) + else if (code == QK_MOUSE_WHEEL_RIGHT) mouse_report.h = w_offset; else if (IS_MOUSEKEY_BUTTON(code)) - mouse_report.buttons |= 1 << (code - KC_MS_BTN1); - else if (code == KC_MS_ACCEL0) + mouse_report.buttons |= 1 << (code - QK_MOUSE_BUTTON_1); + else if (code == QK_MOUSE_ACCELERATION_0) mk_speed = mkspd_0; - else if (code == KC_MS_ACCEL1) + else if (code == QK_MOUSE_ACCELERATION_1) mk_speed = mkspd_1; - else if (code == KC_MS_ACCEL2) + else if (code == QK_MOUSE_ACCELERATION_2) mk_speed = mkspd_2; if (mk_speed != old_speed) adjust_speed(); } @@ -599,30 +599,30 @@ void mousekey_off(uint8_t code) { # ifdef MK_MOMENTARY_ACCEL uint8_t const old_speed = mk_speed; # endif - if (code == KC_MS_UP && mouse_report.y < 0) + if (code == QK_MOUSE_CURSOR_UP && mouse_report.y < 0) mouse_report.y = 0; - else if (code == KC_MS_DOWN && mouse_report.y > 0) + else if (code == QK_MOUSE_CURSOR_DOWN && mouse_report.y > 0) mouse_report.y = 0; - else if (code == KC_MS_LEFT && mouse_report.x < 0) + else if (code == QK_MOUSE_CURSOR_LEFT && mouse_report.x < 0) mouse_report.x = 0; - else if (code == KC_MS_RIGHT && mouse_report.x > 0) + else if (code == QK_MOUSE_CURSOR_RIGHT && mouse_report.x > 0) mouse_report.x = 0; - else if (code == KC_MS_WH_UP && mouse_report.v > 0) + else if (code == QK_MOUSE_WHEEL_UP && mouse_report.v > 0) mouse_report.v = 0; - else if (code == KC_MS_WH_DOWN && mouse_report.v < 0) + else if (code == QK_MOUSE_WHEEL_DOWN && mouse_report.v < 0) mouse_report.v = 0; - else if (code == KC_MS_WH_LEFT && mouse_report.h < 0) + else if (code == QK_MOUSE_WHEEL_LEFT && mouse_report.h < 0) mouse_report.h = 0; - else if (code == KC_MS_WH_RIGHT && mouse_report.h > 0) + else if (code == QK_MOUSE_WHEEL_RIGHT && mouse_report.h > 0) mouse_report.h = 0; else if (IS_MOUSEKEY_BUTTON(code)) - mouse_report.buttons &= ~(1 << (code - KC_MS_BTN1)); + mouse_report.buttons &= ~(1 << (code - QK_MOUSE_BUTTON_1)); # ifdef MK_MOMENTARY_ACCEL - else if (code == KC_MS_ACCEL0) + else if (code == QK_MOUSE_ACCELERATION_0) mk_speed = mkspd_DEFAULT; - else if (code == KC_MS_ACCEL1) + else if (code == QK_MOUSE_ACCELERATION_1) mk_speed = mkspd_DEFAULT; - else if (code == KC_MS_ACCEL2) + else if (code == QK_MOUSE_ACCELERATION_2) mk_speed = mkspd_DEFAULT; if (mk_speed != old_speed) adjust_speed(); # endif diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 4682aceb14..74ce9108a9 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -498,7 +498,7 @@ __attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_m __attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, bool pressed) { if IS_MOUSEKEY_BUTTON (keycode) { - local_mouse_report.buttons = pointing_device_handle_buttons(local_mouse_report.buttons, pressed, keycode - KC_MS_BTN1); + local_mouse_report.buttons = pointing_device_handle_buttons(local_mouse_report.buttons, pressed, keycode - QK_MOUSE_BUTTON_1); pointing_device_send(); } } diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h index a596c065a3..2c0d4d1043 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.h +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -37,7 +37,7 @@ # define AUTO_MOUSE_TIME 650 #endif #ifndef AUTO_MOUSE_DELAY -# define AUTO_MOUSE_DELAY GET_TAPPING_TERM(KC_MS_BTN1, &(keyrecord_t){}) +# define AUTO_MOUSE_DELAY GET_TAPPING_TERM(QK_MOUSE_BUTTON_1, &(keyrecord_t){}) #endif #ifndef AUTO_MOUSE_DEBOUNCE # define AUTO_MOUSE_DEBOUNCE 25 diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 6ea5e13f3a..e1562077e5 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -16,3 +16,42 @@ #define RGB_VAD QK_UNDERGLOW_VALUE_DOWN #define RGB_SPI QK_UNDERGLOW_SPEED_UP #define RGB_SPD QK_UNDERGLOW_SPEED_DOWN + +#define KC_MS_UP QK_MOUSE_CURSOR_UP +#define KC_MS_U QK_MOUSE_CURSOR_UP +#define KC_MS_DOWN QK_MOUSE_CURSOR_DOWN +#define KC_MS_D QK_MOUSE_CURSOR_DOWN +#define KC_MS_LEFT QK_MOUSE_CURSOR_LEFT +#define KC_MS_L QK_MOUSE_CURSOR_LEFT +#define KC_MS_RIGHT QK_MOUSE_CURSOR_RIGHT +#define KC_MS_R QK_MOUSE_CURSOR_RIGHT +#define KC_MS_BTN1 QK_MOUSE_BUTTON_1 +#define KC_BTN1 QK_MOUSE_BUTTON_1 +#define KC_MS_BTN2 QK_MOUSE_BUTTON_2 +#define KC_BTN2 QK_MOUSE_BUTTON_2 +#define KC_MS_BTN3 QK_MOUSE_BUTTON_3 +#define KC_BTN3 QK_MOUSE_BUTTON_3 +#define KC_MS_BTN4 QK_MOUSE_BUTTON_4 +#define KC_BTN4 QK_MOUSE_BUTTON_4 +#define KC_MS_BTN5 QK_MOUSE_BUTTON_5 +#define KC_BTN5 QK_MOUSE_BUTTON_5 +#define KC_MS_BTN6 QK_MOUSE_BUTTON_6 +#define KC_BTN6 QK_MOUSE_BUTTON_6 +#define KC_MS_BTN7 QK_MOUSE_BUTTON_7 +#define KC_BTN7 QK_MOUSE_BUTTON_7 +#define KC_MS_BTN8 QK_MOUSE_BUTTON_8 +#define KC_BTN8 QK_MOUSE_BUTTON_8 +#define KC_MS_WH_UP QK_MOUSE_WHEEL_UP +#define KC_WH_U QK_MOUSE_WHEEL_UP +#define KC_MS_WH_DOWN QK_MOUSE_WHEEL_DOWN +#define KC_WH_D QK_MOUSE_WHEEL_DOWN +#define KC_MS_WH_LEFT QK_MOUSE_WHEEL_LEFT +#define KC_WH_L QK_MOUSE_WHEEL_LEFT +#define KC_MS_WH_RIGHT QK_MOUSE_WHEEL_RIGHT +#define KC_WH_R QK_MOUSE_WHEEL_RIGHT +#define KC_MS_ACCEL0 QK_MOUSE_ACCELERATION_0 +#define KC_ACL0 QK_MOUSE_ACCELERATION_0 +#define KC_MS_ACCEL1 QK_MOUSE_ACCELERATION_1 +#define KC_ACL1 QK_MOUSE_ACCELERATION_1 +#define KC_MS_ACCEL2 QK_MOUSE_ACCELERATION_2 +#define KC_ACL2 QK_MOUSE_ACCELERATION_2 diff --git a/quantum/repeat_key.c b/quantum/repeat_key.c index 4567428723..56f242f8b8 100644 --- a/quantum/repeat_key.c +++ b/quantum/repeat_key.c @@ -220,10 +220,10 @@ uint16_t get_alt_repeat_key_keycode(void) { {KC_BRIU, KC_BRID}, // Brightness Up / Down. #endif // EXTRAKEY_ENABLE #ifdef MOUSEKEY_ENABLE - {KC_MS_L, KC_MS_R}, // Mouse Cursor Left / Right. - {KC_MS_U, KC_MS_D}, // Mouse Cursor Up / Down. - {KC_WH_L, KC_WH_R}, // Mouse Wheel Left / Right. - {KC_WH_U, KC_WH_D}, // Mouse Wheel Up / Down. + {MS_LEFT, MS_RGHT}, // Mouse Cursor Left / Right. + {MS_UP, MS_DOWN}, // Mouse Cursor Up / Down. + {MS_WHLL, MS_WHLR}, // Mouse Wheel Left / Right. + {MS_WHLU, MS_WHLD}, // Mouse Wheel Up / Down. #endif // MOUSEKEY_ENABLE }; // clang-format on diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp index 18dd536027..4c28ab4d20 100644 --- a/tests/test_common/keycode_table.cpp +++ b/tests/test_common/keycode_table.cpp @@ -225,25 +225,25 @@ std::map KEYCODE_ID_TABLE = { {KC_ASSISTANT, "KC_ASSISTANT"}, {KC_MISSION_CONTROL, "KC_MISSION_CONTROL"}, {KC_LAUNCHPAD, "KC_LAUNCHPAD"}, - {KC_MS_UP, "KC_MS_UP"}, - {KC_MS_DOWN, "KC_MS_DOWN"}, - {KC_MS_LEFT, "KC_MS_LEFT"}, - {KC_MS_RIGHT, "KC_MS_RIGHT"}, - {KC_MS_BTN1, "KC_MS_BTN1"}, - {KC_MS_BTN2, "KC_MS_BTN2"}, - {KC_MS_BTN3, "KC_MS_BTN3"}, - {KC_MS_BTN4, "KC_MS_BTN4"}, - {KC_MS_BTN5, "KC_MS_BTN5"}, - {KC_MS_BTN6, "KC_MS_BTN6"}, - {KC_MS_BTN7, "KC_MS_BTN7"}, - {KC_MS_BTN8, "KC_MS_BTN8"}, - {KC_MS_WH_UP, "KC_MS_WH_UP"}, - {KC_MS_WH_DOWN, "KC_MS_WH_DOWN"}, - {KC_MS_WH_LEFT, "KC_MS_WH_LEFT"}, - {KC_MS_WH_RIGHT, "KC_MS_WH_RIGHT"}, - {KC_MS_ACCEL0, "KC_MS_ACCEL0"}, - {KC_MS_ACCEL1, "KC_MS_ACCEL1"}, - {KC_MS_ACCEL2, "KC_MS_ACCEL2"}, + {QK_MOUSE_CURSOR_UP, "QK_MOUSE_CURSOR_UP"}, + {QK_MOUSE_CURSOR_DOWN, "QK_MOUSE_CURSOR_DOWN"}, + {QK_MOUSE_CURSOR_LEFT, "QK_MOUSE_CURSOR_LEFT"}, + {QK_MOUSE_CURSOR_RIGHT, "QK_MOUSE_CURSOR_RIGHT"}, + {QK_MOUSE_BUTTON_1, "QK_MOUSE_BUTTON_1"}, + {QK_MOUSE_BUTTON_2, "QK_MOUSE_BUTTON_2"}, + {QK_MOUSE_BUTTON_3, "QK_MOUSE_BUTTON_3"}, + {QK_MOUSE_BUTTON_4, "QK_MOUSE_BUTTON_4"}, + {QK_MOUSE_BUTTON_5, "QK_MOUSE_BUTTON_5"}, + {QK_MOUSE_BUTTON_6, "QK_MOUSE_BUTTON_6"}, + {QK_MOUSE_BUTTON_7, "QK_MOUSE_BUTTON_7"}, + {QK_MOUSE_BUTTON_8, "QK_MOUSE_BUTTON_8"}, + {QK_MOUSE_WHEEL_UP, "QK_MOUSE_WHEEL_UP"}, + {QK_MOUSE_WHEEL_DOWN, "QK_MOUSE_WHEEL_DOWN"}, + {QK_MOUSE_WHEEL_LEFT, "QK_MOUSE_WHEEL_LEFT"}, + {QK_MOUSE_WHEEL_RIGHT, "QK_MOUSE_WHEEL_RIGHT"}, + {QK_MOUSE_ACCELERATION_0, "QK_MOUSE_ACCELERATION_0"}, + {QK_MOUSE_ACCELERATION_1, "QK_MOUSE_ACCELERATION_1"}, + {QK_MOUSE_ACCELERATION_2, "QK_MOUSE_ACCELERATION_2"}, {KC_LEFT_CTRL, "KC_LEFT_CTRL"}, {KC_LEFT_SHIFT, "KC_LEFT_SHIFT"}, {KC_LEFT_ALT, "KC_LEFT_ALT"}, -- cgit v1.2.3 From f5319d891185d4c8099861a303701d312bfca9d1 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 11 Jul 2024 01:17:08 +0100 Subject: Remove DEFAULT_FOLDER from maple_computing/lets_split_eh (#24054) --- data/mappings/keyboard_aliases.hjson | 5 +- keyboards/maple_computing/lets_split_eh/config.h | 26 +++++ .../maple_computing/lets_split_eh/eh/config.h | 26 ----- keyboards/maple_computing/lets_split_eh/eh/eh.c | 16 --- .../maple_computing/lets_split_eh/eh/keyboard.json | 117 -------------------- .../maple_computing/lets_split_eh/eh/rules.mk | 2 - .../maple_computing/lets_split_eh/keyboard.json | 118 +++++++++++++++++++++ .../maple_computing/lets_split_eh/lets_split_eh.c | 16 +++ keyboards/maple_computing/lets_split_eh/readme.md | 2 +- keyboards/maple_computing/lets_split_eh/rules.mk | 3 +- 10 files changed, 167 insertions(+), 164 deletions(-) create mode 100644 keyboards/maple_computing/lets_split_eh/config.h delete mode 100644 keyboards/maple_computing/lets_split_eh/eh/config.h delete mode 100644 keyboards/maple_computing/lets_split_eh/eh/eh.c delete mode 100644 keyboards/maple_computing/lets_split_eh/eh/keyboard.json delete mode 100644 keyboards/maple_computing/lets_split_eh/eh/rules.mk create mode 100644 keyboards/maple_computing/lets_split_eh/keyboard.json create mode 100644 keyboards/maple_computing/lets_split_eh/lets_split_eh.c (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 57585aae92..14eec52e31 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1060,7 +1060,7 @@ "target": "lyso1/lefishe" }, "lets_split_eh/eh": { - "target": "maple_computing/lets_split_eh/eh" + "target": "maple_computing/lets_split_eh" }, "ls_60": { "target": "weirdo/ls_60" @@ -1080,6 +1080,9 @@ "macro1": { "target": "laneware/macro1" }, + "maple_computing/lets_split_eh/eh": { + "target": "maple_computing/lets_split_eh" + }, "massdrop/thekey": { "target": "drop/thekey/v1" }, diff --git a/keyboards/maple_computing/lets_split_eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h new file mode 100644 index 0000000000..38cf73ae1e --- /dev/null +++ b/keyboards/maple_computing/lets_split_eh/config.h @@ -0,0 +1,26 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 + +/* Split Defines */ +#define SPLIT_HAND_PIN D3 + +// The 'EH' has previously forced use of I2C so this default has been kept +// however users can undef to use serial +#define USE_I2C diff --git a/keyboards/maple_computing/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/eh/config.h deleted file mode 100644 index 38cf73ae1e..0000000000 --- a/keyboards/maple_computing/lets_split_eh/eh/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 - -/* Split Defines */ -#define SPLIT_HAND_PIN D3 - -// The 'EH' has previously forced use of I2C so this default has been kept -// however users can undef to use serial -#define USE_I2C diff --git a/keyboards/maple_computing/lets_split_eh/eh/eh.c b/keyboards/maple_computing/lets_split_eh/eh/eh.c deleted file mode 100644 index 37e8b3ab9b..0000000000 --- a/keyboards/maple_computing/lets_split_eh/eh/eh.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "quantum.h" - -#ifdef SWAP_HANDS_ENABLE -__attribute__ ((weak)) -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - - {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, - {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, - {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, - {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, - {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, - {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, - {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, - {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, -}; -#endif diff --git a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/eh/keyboard.json deleted file mode 100644 index f40b15098f..0000000000 --- a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "keyboard_name": "Lets Split Eh?", - "manufacturer": "That-Canadian", - "url": "", - "maintainer": "qmk", - "usb": { - "vid": "0xFEED", - "pid": "0xE401", - "device_version": "1.0.0" - }, - "matrix_pins": { - "cols": ["F4", "F5", "C6", "B6", "B5", "D5"], - "rows": ["B1", "B3", "D7", "B4"] - }, - "diode_direction": "COL2ROW", - "backlight": { - "pin": "B7" - }, - "rgblight": { - "led_count": 12, - "split_count": [6, 6], - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, - "ws2812": { - "pin": "B2" - }, - "split": { - "enabled": true, - "soft_serial_pin": "D0" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "features": { - "bootmagic": false, - "mousekey": false, - "extrakey": true, - "nkro": true, - "backlight": true, - "rgblight": true - }, - "community_layouts": ["ortho_4x12"], - "layout_aliases": { - "LAYOUT": "LAYOUT_ortho_4x12" - }, - "layouts": { - "LAYOUT_ortho_4x12": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [4, 0], "x": 7, "y": 0}, - {"matrix": [4, 1], "x": 8, "y": 0}, - {"matrix": [4, 2], "x": 9, "y": 0}, - {"matrix": [4, 3], "x": 10, "y": 0}, - {"matrix": [4, 4], "x": 11, "y": 0}, - {"matrix": [4, 5], "x": 12, "y": 0}, - - {"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}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [5, 0], "x": 7, "y": 1}, - {"matrix": [5, 1], "x": 8, "y": 1}, - {"matrix": [5, 2], "x": 9, "y": 1}, - {"matrix": [5, 3], "x": 10, "y": 1}, - {"matrix": [5, 4], "x": 11, "y": 1}, - {"matrix": [5, 5], "x": 12, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [6, 0], "x": 7, "y": 2}, - {"matrix": [6, 1], "x": 8, "y": 2}, - {"matrix": [6, 2], "x": 9, "y": 2}, - {"matrix": [6, 3], "x": 10, "y": 2}, - {"matrix": [6, 4], "x": 11, "y": 2}, - {"matrix": [6, 5], "x": 12, "y": 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": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - - {"matrix": [7, 0], "x": 7, "y": 3}, - {"matrix": [7, 1], "x": 8, "y": 3}, - {"matrix": [7, 2], "x": 9, "y": 3}, - {"matrix": [7, 3], "x": 10, "y": 3}, - {"matrix": [7, 4], "x": 11, "y": 3}, - {"matrix": [7, 5], "x": 12, "y": 3} - ] - } - } -} diff --git a/keyboards/maple_computing/lets_split_eh/eh/rules.mk b/keyboards/maple_computing/lets_split_eh/eh/rules.mk deleted file mode 100644 index 271780b75e..0000000000 --- a/keyboards/maple_computing/lets_split_eh/eh/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Disable unsupported hardware -AUDIO_SUPPORTED = no diff --git a/keyboards/maple_computing/lets_split_eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json new file mode 100644 index 0000000000..62d489d60c --- /dev/null +++ b/keyboards/maple_computing/lets_split_eh/keyboard.json @@ -0,0 +1,118 @@ +{ + "keyboard_name": "Lets Split Eh?", + "manufacturer": "That-Canadian", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0xFEED", + "pid": "0xE401", + "device_version": "1.0.0" + }, + "matrix_pins": { + "cols": ["F4", "F5", "C6", "B6", "B5", "D5"], + "rows": ["B1", "B3", "D7", "B4"] + }, + "diode_direction": "COL2ROW", + "backlight": { + "pin": "B7" + }, + "rgblight": { + "led_count": 12, + "split_count": [6, 6], + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "B2" + }, + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "mousekey": false, + "extrakey": true, + "nkro": true, + "backlight": true, + "rgblight": true + }, + "community_layouts": ["ortho_4x12"], + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_4x12" + }, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [4, 0], "x": 7, "y": 0}, + {"matrix": [4, 1], "x": 8, "y": 0}, + {"matrix": [4, 2], "x": 9, "y": 0}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 4], "x": 11, "y": 0}, + {"matrix": [4, 5], "x": 12, "y": 0}, + + {"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}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + + {"matrix": [5, 0], "x": 7, "y": 1}, + {"matrix": [5, 1], "x": 8, "y": 1}, + {"matrix": [5, 2], "x": 9, "y": 1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 4], "x": 11, "y": 1}, + {"matrix": [5, 5], "x": 12, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + + {"matrix": [6, 0], "x": 7, "y": 2}, + {"matrix": [6, 1], "x": 8, "y": 2}, + {"matrix": [6, 2], "x": 9, "y": 2}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 4], "x": 11, "y": 2}, + {"matrix": [6, 5], "x": 12, "y": 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": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + + {"matrix": [7, 0], "x": 7, "y": 3}, + {"matrix": [7, 1], "x": 8, "y": 3}, + {"matrix": [7, 2], "x": 9, "y": 3}, + {"matrix": [7, 3], "x": 10, "y": 3}, + {"matrix": [7, 4], "x": 11, "y": 3}, + {"matrix": [7, 5], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/maple_computing/lets_split_eh/lets_split_eh.c b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c new file mode 100644 index 0000000000..37e8b3ab9b --- /dev/null +++ b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c @@ -0,0 +1,16 @@ +#include "quantum.h" + +#ifdef SWAP_HANDS_ENABLE +__attribute__ ((weak)) +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, +}; +#endif diff --git a/keyboards/maple_computing/lets_split_eh/readme.md b/keyboards/maple_computing/lets_split_eh/readme.md index 90ae5393d1..dc769b72c4 100644 --- a/keyboards/maple_computing/lets_split_eh/readme.md +++ b/keyboards/maple_computing/lets_split_eh/readme.md @@ -8,6 +8,6 @@ Keyboard Maintainer: [Christopher Poole (That-Canadian)](https://github.com/That Make example for this keyboard (after setting up your build environment): - make maple_computing/lets_split_eh/eh:default + make maple_computing/lets_split_eh:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/maple_computing/lets_split_eh/rules.mk b/keyboards/maple_computing/lets_split_eh/rules.mk index 9bae45fde8..271780b75e 100644 --- a/keyboards/maple_computing/lets_split_eh/rules.mk +++ b/keyboards/maple_computing/lets_split_eh/rules.mk @@ -1 +1,2 @@ -DEFAULT_FOLDER = maple_computing/lets_split_eh/eh +# Disable unsupported hardware +AUDIO_SUPPORTED = no -- cgit v1.2.3 From 2623a258f1cc2a1687ef4529892b8fe6fb9be5f0 Mon Sep 17 00:00:00 2001 From: leyew <102467346+itsme-zeix@users.noreply.github.com> Date: Thu, 11 Jul 2024 21:40:54 +0800 Subject: [Keyboard] Rename dnworks/9973 to dnworks/tkl87 (#23692) --- data/mappings/keyboard_aliases.hjson | 3 + keyboards/dnworks/9973/config.h | 20 - keyboards/dnworks/9973/keyboard.json | 480 ----------------------- keyboards/dnworks/9973/keymaps/default/keymap.c | 27 -- keyboards/dnworks/9973/keymaps/via/keymap.c | 27 -- keyboards/dnworks/9973/keymaps/via/rules.mk | 1 - keyboards/dnworks/9973/readme.md | 27 -- keyboards/dnworks/tkl87/config.h | 20 + keyboards/dnworks/tkl87/keyboard.json | 480 +++++++++++++++++++++++ keyboards/dnworks/tkl87/keymaps/default/keymap.c | 27 ++ keyboards/dnworks/tkl87/keymaps/via/keymap.c | 27 ++ keyboards/dnworks/tkl87/keymaps/via/rules.mk | 1 + keyboards/dnworks/tkl87/readme.md | 27 ++ 13 files changed, 585 insertions(+), 582 deletions(-) delete mode 100644 keyboards/dnworks/9973/config.h delete mode 100644 keyboards/dnworks/9973/keyboard.json delete mode 100644 keyboards/dnworks/9973/keymaps/default/keymap.c delete mode 100644 keyboards/dnworks/9973/keymaps/via/keymap.c delete mode 100644 keyboards/dnworks/9973/keymaps/via/rules.mk delete mode 100644 keyboards/dnworks/9973/readme.md create mode 100644 keyboards/dnworks/tkl87/config.h create mode 100644 keyboards/dnworks/tkl87/keyboard.json create mode 100644 keyboards/dnworks/tkl87/keymaps/default/keymap.c create mode 100644 keyboards/dnworks/tkl87/keymaps/via/keymap.c create mode 100644 keyboards/dnworks/tkl87/keymaps/via/rules.mk create mode 100644 keyboards/dnworks/tkl87/readme.md (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 14eec52e31..174704e99a 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1528,5 +1528,8 @@ }, "kprepublic/jj50": { "target": "kprepublic/jj50/rev1" + }, + "dnworks/9973": { + "target": "dnworks/tkl87" } } diff --git a/keyboards/dnworks/9973/config.h b/keyboards/dnworks/9973/config.h deleted file mode 100644 index 77970ce4d3..0000000000 --- a/keyboards/dnworks/9973/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2023 zeix (@itsme-zeix) - -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 - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/dnworks/9973/keyboard.json b/keyboards/dnworks/9973/keyboard.json deleted file mode 100644 index 6169606026..0000000000 --- a/keyboards/dnworks/9973/keyboard.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "keyboard_name": "DN 997.3", - "maintainer": "itsme-zeix", - "manufacturer": "dnworks", - "processor": "RP2040", - "bootloader": "rp2040", - "usb": { - "vid": "0x4C23", - "pid": "0x2936", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "GP27", - "scroll_lock": "GP1", - "on_state": 1 - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "rows": ["GP2", "GP3", "GP4", "GP29", "GP12", "GP13"], - "cols": ["GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP6", "GP5", "GP0"] - }, - "community_layouts": ["tkl_ansi_tsangan", "tkl_iso_tsangan"], - "layouts": { - "LAYOUT_all": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 11, "y": 0 }, - { "matrix": [0, 11], "x": 12, "y": 0 }, - { "matrix": [0, 12], "x": 13, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.5 }, - { "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "matrix": [1, 2], "x": 2, "y": 1.5 }, - { "matrix": [1, 3], "x": 3, "y": 1.5 }, - { "matrix": [1, 4], "x": 4, "y": 1.5 }, - { "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "matrix": [1, 6], "x": 6, "y": 1.5 }, - { "matrix": [1, 7], "x": 7, "y": 1.5 }, - { "matrix": [1, 8], "x": 8, "y": 1.5 }, - { "matrix": [1, 9], "x": 9, "y": 1.5 }, - { "matrix": [1, 10], "x": 10, "y": 1.5 }, - { "matrix": [1, 11], "x": 11, "y": 1.5 }, - { "matrix": [1, 12], "x": 12, "y": 1.5 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, - { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, - { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, - { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.5 } - ] - }, - "LAYOUT_tkl_ansi_tsangan": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 11, "y": 0 }, - { "matrix": [0, 11], "x": 12, "y": 0 }, - { "matrix": [0, 12], "x": 13, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.5 }, - { "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "matrix": [1, 2], "x": 2, "y": 1.5 }, - { "matrix": [1, 3], "x": 3, "y": 1.5 }, - { "matrix": [1, 4], "x": 4, "y": 1.5 }, - { "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "matrix": [1, 6], "x": 6, "y": 1.5 }, - { "matrix": [1, 7], "x": 7, "y": 1.5 }, - { "matrix": [1, 8], "x": 8, "y": 1.5 }, - { "matrix": [1, 9], "x": 9, "y": 1.5 }, - { "matrix": [1, 10], "x": 10, "y": 1.5 }, - { "matrix": [1, 11], "x": 11, "y": 1.5 }, - { "matrix": [1, 12], "x": 12, "y": 1.5 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, - { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, - { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, - { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.5 } - ] - }, - "LAYOUT_tkl_ansi_wkl": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 11, "y": 0 }, - { "matrix": [0, 11], "x": 12, "y": 0 }, - { "matrix": [0, 12], "x": 13, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.5 }, - { "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "matrix": [1, 2], "x": 2, "y": 1.5 }, - { "matrix": [1, 3], "x": 3, "y": 1.5 }, - { "matrix": [1, 4], "x": 4, "y": 1.5 }, - { "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "matrix": [1, 6], "x": 6, "y": 1.5 }, - { "matrix": [1, 7], "x": 7, "y": 1.5 }, - { "matrix": [1, 8], "x": 8, "y": 1.5 }, - { "matrix": [1, 9], "x": 9, "y": 1.5 }, - { "matrix": [1, 10], "x": 10, "y": 1.5 }, - { "matrix": [1, 11], "x": 11, "y": 1.5 }, - { "matrix": [1, 12], "x": 12, "y": 1.5 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, - { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, - { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.5 } - ] - }, - "LAYOUT_tkl_iso_tsangan": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 11, "y": 0 }, - { "matrix": [0, 11], "x": 12, "y": 0 }, - { "matrix": [0, 12], "x": 13, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.5 }, - { "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "matrix": [1, 2], "x": 2, "y": 1.5 }, - { "matrix": [1, 3], "x": 3, "y": 1.5 }, - { "matrix": [1, 4], "x": 4, "y": 1.5 }, - { "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "matrix": [1, 6], "x": 6, "y": 1.5 }, - { "matrix": [1, 7], "x": 7, "y": 1.5 }, - { "matrix": [1, 8], "x": 8, "y": 1.5 }, - { "matrix": [1, 9], "x": 9, "y": 1.5 }, - { "matrix": [1, 10], "x": 10, "y": 1.5 }, - { "matrix": [1, 11], "x": 11, "y": 1.5 }, - { "matrix": [1, 12], "x": 12, "y": 1.5 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, - { "matrix": [2, 13], "x": 12.75, "y": 3.5 }, - { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, - { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, - { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.5 } - ] - }, - "LAYOUT_tkl_iso_wkl": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 11, "y": 0 }, - { "matrix": [0, 11], "x": 12, "y": 0 }, - { "matrix": [0, 12], "x": 13, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.5 }, - { "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "matrix": [1, 2], "x": 2, "y": 1.5 }, - { "matrix": [1, 3], "x": 3, "y": 1.5 }, - { "matrix": [1, 4], "x": 4, "y": 1.5 }, - { "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "matrix": [1, 6], "x": 6, "y": 1.5 }, - { "matrix": [1, 7], "x": 7, "y": 1.5 }, - { "matrix": [1, 8], "x": 8, "y": 1.5 }, - { "matrix": [1, 9], "x": 9, "y": 1.5 }, - { "matrix": [1, 10], "x": 10, "y": 1.5 }, - { "matrix": [1, 11], "x": 11, "y": 1.5 }, - { "matrix": [1, 12], "x": 12, "y": 1.5 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, - { "matrix": [2, 13], "x": 12.75, "y": 3.5 }, - { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, - { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.5 } - ] - } - } -} diff --git a/keyboards/dnworks/9973/keymaps/default/keymap.c b/keyboards/dnworks/9973/keymaps/default/keymap.c deleted file mode 100644 index 8307bf9e76..0000000000 --- a/keyboards/dnworks/9973/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2023 zeix (@itsme-zeix) - -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] = { - -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) -}; diff --git a/keyboards/dnworks/9973/keymaps/via/keymap.c b/keyboards/dnworks/9973/keymaps/via/keymap.c deleted file mode 100644 index 8307bf9e76..0000000000 --- a/keyboards/dnworks/9973/keymaps/via/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2023 zeix (@itsme-zeix) - -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] = { - -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) -}; diff --git a/keyboards/dnworks/9973/keymaps/via/rules.mk b/keyboards/dnworks/9973/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807c..0000000000 --- a/keyboards/dnworks/9973/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/dnworks/9973/readme.md b/keyboards/dnworks/9973/readme.md deleted file mode 100644 index 790f236cb7..0000000000 --- a/keyboards/dnworks/9973/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# 997.3 TKL - -![997.3 TKL](https://i.imgur.com/iPPLKg1h.jpeg) - -PCB that supports the 997.3 TKL designed by dnworks, including its variants. - -* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) -* Hardware Supported: 997.3 Solder PCB rev1 -* Hardware Availability: dnworks.co - -Make example for this keyboard (after setting up your build environment): - - make dnworks/997pt3:default - -Flashing example for this keyboard: - - make dnworks/997pt3:default:flash - -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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard -* **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dnworks/tkl87/config.h b/keyboards/dnworks/tkl87/config.h new file mode 100644 index 0000000000..77970ce4d3 --- /dev/null +++ b/keyboards/dnworks/tkl87/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +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 + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/dnworks/tkl87/keyboard.json b/keyboards/dnworks/tkl87/keyboard.json new file mode 100644 index 0000000000..6b56435ae3 --- /dev/null +++ b/keyboards/dnworks/tkl87/keyboard.json @@ -0,0 +1,480 @@ +{ + "keyboard_name": "DN TKL F12", + "maintainer": "itsme-zeix", + "manufacturer": "dnworks", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x4C23", + "pid": "0x2936", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP27", + "scroll_lock": "GP1", + "on_state": 1 + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["GP2", "GP3", "GP4", "GP29", "GP12", "GP13"], + "cols": ["GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP6", "GP5", "GP0"] + }, + "community_layouts": ["tkl_ansi_tsangan", "tkl_iso_tsangan"], + "layouts": { + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "matrix": [0, 10], "x": 11, "y": 0 }, + { "matrix": [0, 11], "x": 12, "y": 0 }, + { "matrix": [0, 12], "x": 13, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "matrix": [0, 10], "x": 11, "y": 0 }, + { "matrix": [0, 11], "x": 12, "y": 0 }, + { "matrix": [0, 12], "x": 13, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "matrix": [0, 10], "x": 11, "y": 0 }, + { "matrix": [0, 11], "x": 12, "y": 0 }, + { "matrix": [0, 12], "x": 13, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "matrix": [0, 10], "x": 11, "y": 0 }, + { "matrix": [0, 11], "x": 12, "y": 0 }, + { "matrix": [0, 12], "x": 13, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [2, 13], "x": 12.75, "y": 3.5 }, + { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl_iso_wkl": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "matrix": [0, 10], "x": 11, "y": 0 }, + { "matrix": [0, 11], "x": 12, "y": 0 }, + { "matrix": [0, 12], "x": 13, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [2, 13], "x": 12.75, "y": 3.5 }, + { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.5 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/dnworks/tkl87/keymaps/default/keymap.c b/keyboards/dnworks/tkl87/keymaps/default/keymap.c new file mode 100644 index 0000000000..8307bf9e76 --- /dev/null +++ b/keyboards/dnworks/tkl87/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +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] = { + +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) +}; diff --git a/keyboards/dnworks/tkl87/keymaps/via/keymap.c b/keyboards/dnworks/tkl87/keymaps/via/keymap.c new file mode 100644 index 0000000000..8307bf9e76 --- /dev/null +++ b/keyboards/dnworks/tkl87/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +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] = { + +[0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) +}; diff --git a/keyboards/dnworks/tkl87/keymaps/via/rules.mk b/keyboards/dnworks/tkl87/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/dnworks/tkl87/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dnworks/tkl87/readme.md b/keyboards/dnworks/tkl87/readme.md new file mode 100644 index 0000000000..121cdccddf --- /dev/null +++ b/keyboards/dnworks/tkl87/readme.md @@ -0,0 +1,27 @@ +# dnworks TKL (F12) + +![997.3 TKL](https://i.imgur.com/iPPLKg1h.jpeg) + +PCB that supports the F12 TKLs designed by dnworks. + +* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +* Hardware Supported: 997.3 Solder PCB rev1, 765LT Solder PCB rev1 and Best Friend Solder PCB Rev1. +* Hardware Availability: https://dnworks.co/products + +Make example for this keyboard (after setting up your build environment): + + make dnworks/tkl87:default + +Flashing example for this keyboard: + + make dnworks/tkl87:default:flash + +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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down escape and plug in the keyboard +* **Physical reset button**: Short the 'USB_BOOT' button and plug in keyboard or press the 'RESET' button twice with the keyboard plugged in. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file -- cgit v1.2.3 From 4ab36df48fba751ca88beaf1a7a5dd84ba34a370 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 18 Jul 2024 00:02:53 +0100 Subject: Move split.soft_serial_pin to split.serial.pin (#24127) --- data/mappings/info_config.hjson | 2 +- data/schemas/keyboard.jsonschema | 8 ++++++-- docs/reference_info_json.md | 4 ++-- keyboards/zvecr/zv48/info.json | 10 +++++----- lib/python/qmk/info.py | 9 +++++++++ 5 files changed, 23 insertions(+), 10 deletions(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 4f731b6011..4c895cf5d5 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -176,7 +176,7 @@ "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"}, // Split Keyboard - "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, + "SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"}, "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false}, "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index e758c325c7..7649a8e31b 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -823,7 +823,10 @@ } } }, - "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "soft_serial_pin": { + "$ref": "qmk.definitions.v1#/mcu_pin", + "$comment": "Deprecated: use split.serial.pin instead" + }, "soft_serial_speed": { "type": "integer", "minimum": 0, @@ -836,7 +839,8 @@ "driver": { "type": "string", "enum": ["bitbang", "usart", "vendor"] - } + }, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"} } }, "transport": { diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index a7a6caff79..e658b48b71 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -736,8 +736,8 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `driver` * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. * Default: `"bitbang"` - * `soft_serial_pin` - * The GPIO pin to use (`serial` transport protocol only). + * `pin` + * The GPIO pin to use for transmit and receive. * `soft_serial_speed` * The protocol speed, from `0` to `5` (`serial` transport protocol only). * Default: `1` diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json index 6e4daad312..39a05a61e6 100644 --- a/keyboards/zvecr/zv48/info.json +++ b/keyboards/zvecr/zv48/info.json @@ -50,15 +50,15 @@ }, "split": { "enabled": true, - "handedness": { - "pin": "B9" - }, - "soft_serial_pin": "B6", "bootmagic": { "matrix": [4, 0] }, + "handedness": { + "pin": "B9" + }, "serial": { - "driver": "usart" + "driver": "usart", + "pin": "B6" }, "matrix_pins": { "right": { diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 5b3b249015..5948b66b5e 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -461,6 +461,14 @@ def _extract_split_handedness(info_data, config_c): split['handedness']['matrix_grid'] = split.pop('matrix_grid') +def _extract_split_serial(info_data, config_c): + # Migrate + split = info_data.get('split', {}) + if 'soft_serial_pin' in split: + split['serial'] = split.get('serial', {}) + split['serial']['pin'] = split.pop('soft_serial_pin') + + def _extract_split_transport(info_data, config_c): # Figure out the transport method if config_c.get('USE_I2C') is True: @@ -656,6 +664,7 @@ def _extract_config_h(info_data, config_c): _extract_audio(info_data, config_c) _extract_secure_unlock(info_data, config_c) _extract_split_handedness(info_data, config_c) + _extract_split_serial(info_data, config_c) _extract_split_transport(info_data, config_c) _extract_split_right_pins(info_data, config_c) _extract_encoders(info_data, config_c) -- cgit v1.2.3 From 938837e881cb45fd567dfe8b4a2759c71864ec74 Mon Sep 17 00:00:00 2001 From: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Fri, 26 Jul 2024 22:14:00 -0400 Subject: refactor: keyboard/ncr80/r2 (#22670) Co-authored-by: Duncan Sutherland --- data/mappings/keyboard_aliases.hjson | 6 + keyboards/mt/ncr80/hotswap/keyboard.json | 150 --- .../mt/ncr80/hotswap/keymaps/default/keymap.c | 27 - keyboards/mt/ncr80/hotswap/keymaps/via/keymap.c | 49 - keyboards/mt/ncr80/hotswap/keymaps/via/rules.mk | 2 - keyboards/mt/ncr80/hotswap/readme.md | 31 - keyboards/mt/ncr80/info.json | 8 + keyboards/mt/ncr80/r2/hotswap/keyboard.json | 122 ++ .../mt/ncr80/r2/hotswap/keymaps/default/keymap.c | 27 + keyboards/mt/ncr80/r2/hotswap/keymaps/via/keymap.c | 28 + keyboards/mt/ncr80/r2/hotswap/keymaps/via/rules.mk | 2 + keyboards/mt/ncr80/r2/info.json | 15 + keyboards/mt/ncr80/r2/solder/keyboard.json | 1209 ++++++++++++++++++++ .../mt/ncr80/r2/solder/keymaps/default/keymap.c | 39 + .../r2/solder/keymaps/default_tkl_ansi/keymap.c | 28 + .../r2/solder/keymaps/default_tkl_iso/keymap.c | 28 + keyboards/mt/ncr80/r2/solder/keymaps/via/keymap.c | 39 + keyboards/mt/ncr80/r2/solder/keymaps/via/rules.mk | 2 + keyboards/mt/ncr80/readme.md | 26 +- keyboards/mt/ncr80/rules.mk | 1 - keyboards/mt/ncr80/solder/keyboard.json | 352 ------ keyboards/mt/ncr80/solder/keymaps/default/keymap.c | 39 - .../ncr80/solder/keymaps/default_tkl_ansi/keymap.c | 28 - .../ncr80/solder/keymaps/default_tkl_iso/keymap.c | 28 - keyboards/mt/ncr80/solder/keymaps/via/keymap.c | 57 - keyboards/mt/ncr80/solder/keymaps/via/rules.mk | 2 - keyboards/mt/ncr80/solder/readme.md | 29 - 27 files changed, 1575 insertions(+), 799 deletions(-) delete mode 100644 keyboards/mt/ncr80/hotswap/keyboard.json delete mode 100644 keyboards/mt/ncr80/hotswap/keymaps/default/keymap.c delete mode 100644 keyboards/mt/ncr80/hotswap/keymaps/via/keymap.c delete mode 100644 keyboards/mt/ncr80/hotswap/keymaps/via/rules.mk delete mode 100644 keyboards/mt/ncr80/hotswap/readme.md create mode 100644 keyboards/mt/ncr80/info.json create mode 100644 keyboards/mt/ncr80/r2/hotswap/keyboard.json create mode 100644 keyboards/mt/ncr80/r2/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/mt/ncr80/r2/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/mt/ncr80/r2/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/mt/ncr80/r2/info.json create mode 100644 keyboards/mt/ncr80/r2/solder/keyboard.json create mode 100644 keyboards/mt/ncr80/r2/solder/keymaps/default/keymap.c create mode 100644 keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_ansi/keymap.c create mode 100644 keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_iso/keymap.c create mode 100644 keyboards/mt/ncr80/r2/solder/keymaps/via/keymap.c create mode 100644 keyboards/mt/ncr80/r2/solder/keymaps/via/rules.mk delete mode 100644 keyboards/mt/ncr80/rules.mk delete mode 100644 keyboards/mt/ncr80/solder/keyboard.json delete mode 100644 keyboards/mt/ncr80/solder/keymaps/default/keymap.c delete mode 100644 keyboards/mt/ncr80/solder/keymaps/default_tkl_ansi/keymap.c delete mode 100644 keyboards/mt/ncr80/solder/keymaps/default_tkl_iso/keymap.c delete mode 100644 keyboards/mt/ncr80/solder/keymaps/via/keymap.c delete mode 100644 keyboards/mt/ncr80/solder/keymaps/via/rules.mk delete mode 100644 keyboards/mt/ncr80/solder/readme.md (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 174704e99a..0dcda6f61d 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1140,6 +1140,12 @@ "mt980": { "target": "mt/mt980" }, + "mt/ncr80/hotswap": { + "target": "mt/ncr80/r2/hotswap" + }, + "mt/ncr80/solder": { + "target": "mt/ncr80/r2/solder" + }, "nafuda": { "target": "salicylic_acid3/nafuda" }, diff --git a/keyboards/mt/ncr80/hotswap/keyboard.json b/keyboards/mt/ncr80/hotswap/keyboard.json deleted file mode 100644 index 6f82bb0e78..0000000000 --- a/keyboards/mt/ncr80/hotswap/keyboard.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "keyboard_name": "NCR-80 Hotswap", - "manufacturer": "NCR", - "url": "https://www.aliexpress.com/item/1005003345941543.html", - "maintainer": "qmk", - "usb": { - "vid": "0x4D54", - "pid": "0x2002", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], - "rows": ["E6", "B0", "B1", "B2", "B3", "B7", "F7", "F6", "F5", "F4", "F1"] - }, - "diode_direction": "ROW2COL", - "indicators": { - "caps_lock": "C6", - "num_lock": "B5", - "scroll_lock": "C7", - "on_state": 0 - }, - "ws2812": { - "pin": "E2" - }, - "rgblight": { - "saturation_steps": 8, - "brightness_steps": 8, - "led_count": 81, - "max_brightness": 180, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT": { - "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - {"x": 4, "y": 0, "matrix": [0, 4]}, - {"x": 5, "y": 0, "matrix": [0, 5]}, - - {"x": 6.5, "y": 0, "matrix": [0, 6]}, - {"x": 7.5, "y": 0, "matrix": [0, 7]}, - {"x": 8.5, "y": 0, "matrix": [0, 8]}, - {"x": 9.5, "y": 0, "matrix": [6, 8]}, - - {"x": 11, "y": 0, "matrix": [6, 7]}, - {"x": 12, "y": 0, "matrix": [6, 5]}, - {"x": 13, "y": 0, "matrix": [6, 4]}, - {"x": 14, "y": 0, "matrix": [6, 3]}, - - {"x": 0, "y": 1.5, "matrix": [1, 0]}, - {"x": 1, "y": 1.5, "matrix": [1, 1]}, - {"x": 2, "y": 1.5, "matrix": [1, 2]}, - {"x": 3, "y": 1.5, "matrix": [1, 3]}, - {"x": 4, "y": 1.5, "matrix": [1, 4]}, - {"x": 5, "y": 1.5, "matrix": [1, 5]}, - {"x": 6, "y": 1.5, "matrix": [1, 6]}, - {"x": 7, "y": 1.5, "matrix": [1, 7]}, - {"x": 8, "y": 1.5, "matrix": [1, 8]}, - {"x": 9, "y": 1.5, "matrix": [7, 8]}, - {"x": 10, "y": 1.5, "matrix": [7, 0]}, - {"x": 11, "y": 1.5, "matrix": [7, 7]}, - {"x": 12, "y": 1.5, "matrix": [7, 5]}, - {"x": 13, "y": 1.5, "w": 2, "matrix": [7, 3]}, - - {"x": 15.25, "y": 1.5, "matrix": [7, 6]}, - {"x": 16.25, "y": 1.5, "matrix": [7, 2]}, - {"x": 17.25, "y": 1.5, "matrix": [7, 1]}, - - {"x": 0, "y": 2.5, "w": 1.5, "matrix": [2, 0]}, - {"x": 1.5, "y": 2.5, "matrix": [2, 1]}, - {"x": 2.5, "y": 2.5, "matrix": [2, 2]}, - {"x": 3.5, "y": 2.5, "matrix": [2, 3]}, - {"x": 4.5, "y": 2.5, "matrix": [2, 4]}, - {"x": 5.5, "y": 2.5, "matrix": [2, 5]}, - {"x": 6.5, "y": 2.5, "matrix": [2, 6]}, - {"x": 7.5, "y": 2.5, "matrix": [2, 7]}, - {"x": 8.5, "y": 2.5, "matrix": [2, 8]}, - {"x": 9.5, "y": 2.5, "matrix": [8, 8]}, - {"x": 10.5, "y": 2.5, "matrix": [8, 7]}, - {"x": 11.5, "y": 2.5, "matrix": [8, 5]}, - {"x": 12.5, "y": 2.5, "matrix": [8, 4]}, - {"x": 13.5, "y": 2.5, "w": 1.5, "matrix": [8, 3]}, - - {"x": 15.25, "y": 2.5, "matrix": [8, 6]}, - {"x": 16.25, "y": 2.5, "matrix": [8, 2]}, - {"x": 17.25, "y": 2.5, "matrix": [8, 1]}, - - {"x": 0, "y": 3.5, "w": 1.75, "matrix": [3, 0]}, - {"x": 1.75, "y": 3.5, "matrix": [3, 1]}, - {"x": 2.75, "y": 3.5, "matrix": [3, 2]}, - {"x": 3.75, "y": 3.5, "matrix": [3, 3]}, - {"x": 4.75, "y": 3.5, "matrix": [3, 4]}, - {"x": 5.75, "y": 3.5, "matrix": [3, 5]}, - {"x": 6.75, "y": 3.5, "matrix": [3, 6]}, - {"x": 7.75, "y": 3.5, "matrix": [3, 7]}, - {"x": 8.75, "y": 3.5, "matrix": [3, 8]}, - {"x": 9.75, "y": 3.5, "matrix": [9, 8]}, - {"x": 10.75, "y": 3.5, "matrix": [9, 7]}, - {"x": 11.75, "y": 3.5, "matrix": [9, 5]}, - {"x": 12.75, "y": 3.5, "w": 2.25, "matrix": [9, 3]}, - - {"x": 0, "y": 4.5, "w": 2.25, "matrix": [4, 0]}, - {"x": 2.25, "y": 4.5, "matrix": [4, 2]}, - {"x": 3.25, "y": 4.5, "matrix": [4, 3]}, - {"x": 4.25, "y": 4.5, "matrix": [4, 4]}, - {"x": 5.25, "y": 4.5, "matrix": [4, 5]}, - {"x": 6.25, "y": 4.5, "matrix": [4, 6]}, - {"x": 7.25, "y": 4.5, "matrix": [4, 7]}, - {"x": 8.25, "y": 4.5, "matrix": [4, 8]}, - {"x": 9.25, "y": 4.5, "matrix": [10, 8]}, - {"x": 10.25, "y": 4.5, "matrix": [10, 7]}, - {"x": 11.25, "y": 4.5, "matrix": [10, 5]}, - {"x": 12.25, "y": 4.5, "w": 2.75, "matrix": [10, 4]}, - - {"x": 16.25, "y": 4.5, "matrix": [9, 2]}, - - {"x": 0, "y": 5.5, "w": 1.5, "matrix": [5, 0]}, - {"x": 2.5, "y": 5.5, "w": 1.5, "matrix": [5, 2]}, - {"x": 4, "y": 5.5, "w": 7, "matrix": [5, 6]}, - {"x": 11, "y": 5.5, "w": 1.5, "matrix": [5, 7]}, - {"x": 13.5, "y": 5.5, "w": 1.5, "matrix": [5, 3]}, - - {"x": 15.25, "y": 5.5, "matrix": [10, 6]}, - {"x": 16.25, "y": 5.5, "matrix": [10, 2]}, - {"x": 17.25, "y": 5.5, "matrix": [10, 1]} - ] - } - } -} diff --git a/keyboards/mt/ncr80/hotswap/keymaps/default/keymap.c b/keyboards/mt/ncr80/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 33f98796e3..0000000000 --- a/keyboards/mt/ncr80/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2022 peepeetee - * - * 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] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), -}; diff --git a/keyboards/mt/ncr80/hotswap/keymaps/via/keymap.c b/keyboards/mt/ncr80/hotswap/keymaps/via/keymap.c deleted file mode 100644 index e23de81b78..0000000000 --- a/keyboards/mt/ncr80/hotswap/keymaps/via/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2022 peepeetee - * - * 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] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - -}; diff --git a/keyboards/mt/ncr80/hotswap/keymaps/via/rules.mk b/keyboards/mt/ncr80/hotswap/keymaps/via/rules.mk deleted file mode 100644 index 36b7ba9cbc..0000000000 --- a/keyboards/mt/ncr80/hotswap/keymaps/via/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/mt/ncr80/hotswap/readme.md b/keyboards/mt/ncr80/hotswap/readme.md deleted file mode 100644 index 5f9aa43c3e..0000000000 --- a/keyboards/mt/ncr80/hotswap/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# NCR-80 - -![NCR-80](https://i.imgur.com/kAjbAPLl.jpg) - -> Re-imagination of the classic rebranded Cherry G81-3000 by NCR - -NCR-80 is an affordable keyboard kit inspired by iconic vintage keyboards. - -* Keyboard Maintainer: QMK Community -* Hardware Supported: ATmega32U4 -* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/1005003345941543.html) [Taobao 淘宝](https://item.taobao.com/item.htm?id=657482028672) - -Make example for this keyboard (after setting up your build environment): - - make ncr80/hotswap:default - -Flashing example for this keyboard: - - make ncr80/hotswap:default:flash - -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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `RESET` if it is available - -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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/mt/ncr80/info.json b/keyboards/mt/ncr80/info.json new file mode 100644 index 0000000000..3573e72012 --- /dev/null +++ b/keyboards/mt/ncr80/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "MT", + "keyboard_name": "NCR-80", + "maintainer": "qmk", + "usb": { + "vid": "0x4D54" + } +} diff --git a/keyboards/mt/ncr80/r2/hotswap/keyboard.json b/keyboards/mt/ncr80/r2/hotswap/keyboard.json new file mode 100644 index 0000000000..fbd10e0ee8 --- /dev/null +++ b/keyboards/mt/ncr80/r2/hotswap/keyboard.json @@ -0,0 +1,122 @@ +{ + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 8, + "led_count": 81, + "max_brightness": 180, + "saturation_steps": 8 + }, + "url": "https://www.aliexpress.com/item/1005003345941543.html", + "usb": { + "device_version": "0.0.1", + "pid": "0x2002" + }, + "ws2812": { + "pin": "E2" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 3], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/mt/ncr80/r2/hotswap/keymaps/default/keymap.c b/keyboards/mt/ncr80/r2/hotswap/keymaps/default/keymap.c new file mode 100644 index 0000000000..33f98796e3 --- /dev/null +++ b/keyboards/mt/ncr80/r2/hotswap/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2022 peepeetee + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/mt/ncr80/r2/hotswap/keymaps/via/keymap.c b/keyboards/mt/ncr80/r2/hotswap/keymaps/via/keymap.c new file mode 100644 index 0000000000..91afb7c4f7 --- /dev/null +++ b/keyboards/mt/ncr80/r2/hotswap/keymaps/via/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2022 peepeetee + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/mt/ncr80/r2/hotswap/keymaps/via/rules.mk b/keyboards/mt/ncr80/r2/hotswap/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/mt/ncr80/r2/hotswap/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mt/ncr80/r2/info.json b/keyboards/mt/ncr80/r2/info.json new file mode 100644 index 0000000000..214153235e --- /dev/null +++ b/keyboards/mt/ncr80/r2/info.json @@ -0,0 +1,15 @@ +{ + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "indicators": { + "caps_lock": "C6", + "num_lock": "B5", + "on_state": 0, + "scroll_lock": "C7" + }, + "matrix_pins": { + "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], + "rows": ["E6", "B0", "B1", "B2", "B3", "B7", "F7", "F6", "F5", "F4", "F1"] + }, + "processor": "atmega32u4" +} diff --git a/keyboards/mt/ncr80/r2/solder/keyboard.json b/keyboards/mt/ncr80/r2/solder/keyboard.json new file mode 100644 index 0000000000..8c7265614a --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keyboard.json @@ -0,0 +1,1209 @@ +{ + "backlight": { + "levels": 5, + "pin": "B6" + }, + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "url": "https://www.aliexpress.com/item/1005003364462523.html", + "usb": { + "device_version": "0.0.1", + "pid": "0x2001" + }, + "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift", "tkl_iso_wkl", "tkl_iso_wkl_split_bs_rshift"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [9, 4], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [8, 3], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 4], "x": 12.5, "y": 5.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [6, 8], "x": 9.5, "y": 0}, + {"matrix": [6, 7], "x": 11, "y": 0}, + {"matrix": [6, 5], "x": 12, "y": 0}, + {"matrix": [6, 4], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 6], "x": 15.25, "y": 0}, + {"matrix": [6, 2], "x": 16.25, "y": 0}, + {"matrix": [6, 1], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [7, 8], "x": 9, "y": 1.5}, + {"matrix": [7, 0], "x": 10, "y": 1.5}, + {"matrix": [7, 7], "x": 11, "y": 1.5}, + {"matrix": [7, 5], "x": 12, "y": 1.5}, + {"matrix": [7, 4], "x": 13, "y": 1.5}, + {"matrix": [7, 3], "x": 14, "y": 1.5}, + {"matrix": [7, 6], "x": 15.25, "y": 1.5}, + {"matrix": [7, 2], "x": 16.25, "y": 1.5}, + {"matrix": [7, 1], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [8, 8], "x": 9.5, "y": 2.5}, + {"matrix": [8, 7], "x": 10.5, "y": 2.5}, + {"matrix": [8, 5], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 6], "x": 15.25, "y": 2.5}, + {"matrix": [8, 2], "x": 16.25, "y": 2.5}, + {"matrix": [8, 1], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [9, 8], "x": 9.75, "y": 3.5}, + {"matrix": [9, 7], "x": 10.75, "y": 3.5}, + {"matrix": [9, 5], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5}, + {"matrix": [8, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [10, 8], "x": 9.25, "y": 4.5}, + {"matrix": [10, 7], "x": 10.25, "y": 4.5}, + {"matrix": [10, 5], "x": 11.25, "y": 4.5}, + {"matrix": [10, 4], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [10, 3], "x": 14, "y": 4.5}, + {"matrix": [9, 2], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 3], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [10, 6], "x": 15.25, "y": 5.5}, + {"matrix": [10, 2], "x": 16.25, "y": 5.5}, + {"matrix": [10, 1], "x": 17.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/mt/ncr80/r2/solder/keymaps/default/keymap.c b/keyboards/mt/ncr80/r2/solder/keymaps/default/keymap.c new file mode 100644 index 0000000000..8f9dda7826 --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 Jordan Duabe + * + * 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] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_SPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______ + ), + +}; diff --git a/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_ansi/keymap.c b/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_ansi/keymap.c new file mode 100644 index 0000000000..f5604db5f4 --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_ansi/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2022 peepeetee + * + * 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] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + +}; diff --git a/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_iso/keymap.c b/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_iso/keymap.c new file mode 100644 index 0000000000..b80c0f1d49 --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keymaps/default_tkl_iso/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2022 peepeetee + * + * 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] = { + [0] = LAYOUT_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, + KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + +}; diff --git a/keyboards/mt/ncr80/r2/solder/keymaps/via/keymap.c b/keyboards/mt/ncr80/r2/solder/keymaps/via/keymap.c new file mode 100644 index 0000000000..66cdca8a71 --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 Jordan Duabe + * + * 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] = { + + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_SPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______ + ) + +}; diff --git a/keyboards/mt/ncr80/r2/solder/keymaps/via/rules.mk b/keyboards/mt/ncr80/r2/solder/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/mt/ncr80/r2/solder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mt/ncr80/readme.md b/keyboards/mt/ncr80/readme.md index 210822f28e..1211efa720 100644 --- a/keyboards/mt/ncr80/readme.md +++ b/keyboards/mt/ncr80/readme.md @@ -6,11 +6,29 @@ NCR-80 is an affordable keyboard kit inspired by iconic vintage keyboards. -For more information, read the readme.md in soldered/ or hotswap/, depending on the version you are interested in. +* Keyboard Maintainer: QMK Community +* Hardware Supported: + * NCR-80 R2 PCBs (ATmega32U4, atmel-dfu) +* Hardware Availability: + * R2 Hotswap: [AliExpress](https://www.aliexpress.com/item/1005003345941543.html) [Taobao 淘宝](https://item.taobao.com/item.htm?id=657482028672) + * R2 Solder: [AliExpress](https://www.aliexpress.com/item/1005003364462523.html) [Taobao 淘宝](https://item.taobao.com/item.htm?id=657482028672) Make example for this keyboard (after setting up your build environment): - make ncr80/solder:default - make ncr80/hotswap:default + make mt/ncr80/r2/hotswap:default + make mt/ncr80/r2/solder:default -For more information, read the readme.md in [solder/](solder/) or [hotswap/](hotswap/), depending on the version you are interested in. +Flashing example for this keyboard: + + make mt/ncr80/r2/hotswap:default:flash + make mt/ncr80/r2/solder:default:flash + +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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create. diff --git a/keyboards/mt/ncr80/rules.mk b/keyboards/mt/ncr80/rules.mk deleted file mode 100644 index 5ebd6454f6..0000000000 --- a/keyboards/mt/ncr80/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER = mt/ncr80/hotswap diff --git a/keyboards/mt/ncr80/solder/keyboard.json b/keyboards/mt/ncr80/solder/keyboard.json deleted file mode 100644 index fac59abadd..0000000000 --- a/keyboards/mt/ncr80/solder/keyboard.json +++ /dev/null @@ -1,352 +0,0 @@ -{ - "keyboard_name": "NCR-80", - "manufacturer": "NCR", - "url": "https://www.aliexpress.com/item/1005003364462523.html", - "maintainer": "qmk", - "usb": { - "vid": "0x4D54", - "pid": "0x2001", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "nkro": true, - "backlight": true - }, - "matrix_pins": { - "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], - "rows": ["E6", "B0", "B1", "B2", "B3", "B7", "F7", "F6", "F5", "F4", "F1"] - }, - "diode_direction": "ROW2COL", - "backlight": { - "pin": "B6", - "levels": 5 - }, - "indicators": { - "caps_lock": "C6", - "num_lock": "B5", - "scroll_lock": "C7", - "on_state": 0 - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT_all": { - "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - {"x": 4, "y": 0, "matrix": [0, 4]}, - {"x": 5, "y": 0, "matrix": [0, 5]}, - - {"x": 6.5, "y": 0, "matrix": [0, 6]}, - {"x": 7.5, "y": 0, "matrix": [0, 7]}, - {"x": 8.5, "y": 0, "matrix": [0, 8]}, - {"x": 9.5, "y": 0, "matrix": [6, 8]}, - - {"x": 11, "y": 0, "matrix": [6, 7]}, - {"x": 12, "y": 0, "matrix": [6, 5]}, - {"x": 13, "y": 0, "matrix": [6, 4]}, - {"x": 14, "y": 0, "matrix": [6, 3]}, - - {"x": 15.25, "y": 0, "matrix": [6, 6]}, - {"x": 16.25, "y": 0, "matrix": [6, 2]}, - {"x": 17.25, "y": 0, "matrix": [6, 1]}, - - {"x": 0, "y": 1.5, "matrix": [1, 0]}, - {"x": 1, "y": 1.5, "matrix": [1, 1]}, - {"x": 2, "y": 1.5, "matrix": [1, 2]}, - {"x": 3, "y": 1.5, "matrix": [1, 3]}, - {"x": 4, "y": 1.5, "matrix": [1, 4]}, - {"x": 5, "y": 1.5, "matrix": [1, 5]}, - {"x": 6, "y": 1.5, "matrix": [1, 6]}, - {"x": 7, "y": 1.5, "matrix": [1, 7]}, - {"x": 8, "y": 1.5, "matrix": [1, 8]}, - {"x": 9, "y": 1.5, "matrix": [7, 8]}, - {"x": 10, "y": 1.5, "matrix": [7, 0]}, - {"x": 11, "y": 1.5, "matrix": [7, 7]}, - {"x": 12, "y": 1.5, "matrix": [7, 5]}, - {"x": 13, "y": 1.5, "matrix": [7, 4]}, - {"x": 14, "y": 1.5, "matrix": [7, 3]}, - - {"x": 15.25, "y": 1.5, "matrix": [7, 6]}, - {"x": 16.25, "y": 1.5, "matrix": [7, 2]}, - {"x": 17.25, "y": 1.5, "matrix": [7, 1]}, - - {"x": 0, "y": 2.5, "w": 1.5, "matrix": [2, 0]}, - {"x": 1.5, "y": 2.5, "matrix": [2, 1]}, - {"x": 2.5, "y": 2.5, "matrix": [2, 2]}, - {"x": 3.5, "y": 2.5, "matrix": [2, 3]}, - {"x": 4.5, "y": 2.5, "matrix": [2, 4]}, - {"x": 5.5, "y": 2.5, "matrix": [2, 5]}, - {"x": 6.5, "y": 2.5, "matrix": [2, 6]}, - {"x": 7.5, "y": 2.5, "matrix": [2, 7]}, - {"x": 8.5, "y": 2.5, "matrix": [2, 8]}, - {"x": 9.5, "y": 2.5, "matrix": [8, 8]}, - {"x": 10.5, "y": 2.5, "matrix": [8, 7]}, - {"x": 11.5, "y": 2.5, "matrix": [8, 5]}, - {"x": 12.5, "y": 2.5, "matrix": [8, 4]}, - {"x": 13.5, "y": 2.5, "w": 1.5, "matrix": [9, 4]}, - - {"x": 15.25, "y": 2.5, "matrix": [8, 6]}, - {"x": 16.25, "y": 2.5, "matrix": [8, 2]}, - {"x": 17.25, "y": 2.5, "matrix": [8, 1]}, - - {"x": 0, "y": 3.5, "w": 1.75, "matrix": [3, 0]}, - {"x": 1.75, "y": 3.5, "matrix": [3, 1]}, - {"x": 2.75, "y": 3.5, "matrix": [3, 2]}, - {"x": 3.75, "y": 3.5, "matrix": [3, 3]}, - {"x": 4.75, "y": 3.5, "matrix": [3, 4]}, - {"x": 5.75, "y": 3.5, "matrix": [3, 5]}, - {"x": 6.75, "y": 3.5, "matrix": [3, 6]}, - {"x": 7.75, "y": 3.5, "matrix": [3, 7]}, - {"x": 8.75, "y": 3.5, "matrix": [3, 8]}, - {"x": 9.75, "y": 3.5, "matrix": [9, 8]}, - {"x": 10.75, "y": 3.5, "matrix": [9, 7]}, - {"x": 11.75, "y": 3.5, "matrix": [9, 5]}, - {"x": 12.75, "y": 3.5, "w": 2.25, "matrix": [8, 3]}, - - {"x": 0, "y": 4.5, "w": 1.25, "matrix": [4, 0]}, - {"x": 1.25, "y": 4.5, "matrix": [4, 1]}, - {"x": 2.25, "y": 4.5, "matrix": [4, 2]}, - {"x": 3.25, "y": 4.5, "matrix": [4, 3]}, - {"x": 4.25, "y": 4.5, "matrix": [4, 4]}, - {"x": 5.25, "y": 4.5, "matrix": [4, 5]}, - {"x": 6.25, "y": 4.5, "matrix": [4, 6]}, - {"x": 7.25, "y": 4.5, "matrix": [4, 7]}, - {"x": 8.25, "y": 4.5, "matrix": [4, 8]}, - {"x": 9.25, "y": 4.5, "matrix": [10, 8]}, - {"x": 10.25, "y": 4.5, "matrix": [10, 7]}, - {"x": 11.25, "y": 4.5, "matrix": [10, 5]}, - {"x": 12.25, "y": 4.5, "w": 1.75, "matrix": [10, 4]}, - {"x": 14, "y": 4.5, "matrix": [10, 3]}, - - {"x": 16.25, "y": 4.5, "matrix": [9, 2]}, - - {"x": 0, "y": 5.5, "w": 1.25, "matrix": [5, 0]}, - {"x": 1.25, "y": 5.5, "w": 1.25, "matrix": [5, 1]}, - {"x": 2.5, "y": 5.5, "w": 1.25, "matrix": [5, 2]}, - {"x": 3.75, "y": 5.5, "w": 6.25, "matrix": [5, 6]}, - {"x": 10, "y": 5.5, "w": 1.25, "matrix": [5, 8]}, - {"x": 11.25, "y": 5.5, "w": 1.25, "matrix": [5, 7]}, - {"x": 12.5, "y": 5.5, "w": 1.25, "matrix": [5, 4]}, - {"x": 13.75, "y": 5.5, "w": 1.25, "matrix": [5, 3]}, - - {"x": 15.25, "y": 5.5, "matrix": [10, 6]}, - {"x": 16.25, "y": 5.5, "matrix": [10, 2]}, - {"x": 17.25, "y": 5.5, "matrix": [10, 1]} - ] - }, - "LAYOUT_tkl_ansi": { - "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - {"x": 4, "y": 0, "matrix": [0, 4]}, - {"x": 5, "y": 0, "matrix": [0, 5]}, - - {"x": 6.5, "y": 0, "matrix": [0, 6]}, - {"x": 7.5, "y": 0, "matrix": [0, 7]}, - {"x": 8.5, "y": 0, "matrix": [0, 8]}, - {"x": 9.5, "y": 0, "matrix": [6, 8]}, - - {"x": 11, "y": 0, "matrix": [6, 7]}, - {"x": 12, "y": 0, "matrix": [6, 5]}, - {"x": 13, "y": 0, "matrix": [6, 4]}, - {"x": 14, "y": 0, "matrix": [6, 3]}, - - {"x": 15.25, "y": 0, "matrix": [6, 6]}, - {"x": 16.25, "y": 0, "matrix": [6, 2]}, - {"x": 17.25, "y": 0, "matrix": [6, 1]}, - - {"x": 0, "y": 1.25, "matrix": [1, 0]}, - {"x": 1, "y": 1.25, "matrix": [1, 1]}, - {"x": 2, "y": 1.25, "matrix": [1, 2]}, - {"x": 3, "y": 1.25, "matrix": [1, 3]}, - {"x": 4, "y": 1.25, "matrix": [1, 4]}, - {"x": 5, "y": 1.25, "matrix": [1, 5]}, - {"x": 6, "y": 1.25, "matrix": [1, 6]}, - {"x": 7, "y": 1.25, "matrix": [1, 7]}, - {"x": 8, "y": 1.25, "matrix": [1, 8]}, - {"x": 9, "y": 1.25, "matrix": [7, 8]}, - {"x": 10, "y": 1.25, "matrix": [7, 0]}, - {"x": 11, "y": 1.25, "matrix": [7, 7]}, - {"x": 12, "y": 1.25, "matrix": [7, 5]}, - {"x": 13, "y": 1.25, "w": 2, "matrix": [7, 3]}, - - {"x": 15.25, "y": 1.25, "matrix": [7, 6]}, - {"x": 16.25, "y": 1.25, "matrix": [7, 2]}, - {"x": 17.25, "y": 1.25, "matrix": [7, 1]}, - - {"x": 0, "y": 2.25, "w": 1.5, "matrix": [2, 0]}, - {"x": 1.5, "y": 2.25, "matrix": [2, 1]}, - {"x": 2.5, "y": 2.25, "matrix": [2, 2]}, - {"x": 3.5, "y": 2.25, "matrix": [2, 3]}, - {"x": 4.5, "y": 2.25, "matrix": [2, 4]}, - {"x": 5.5, "y": 2.25, "matrix": [2, 5]}, - {"x": 6.5, "y": 2.25, "matrix": [2, 6]}, - {"x": 7.5, "y": 2.25, "matrix": [2, 7]}, - {"x": 8.5, "y": 2.25, "matrix": [2, 8]}, - {"x": 9.5, "y": 2.25, "matrix": [8, 8]}, - {"x": 10.5, "y": 2.25, "matrix": [8, 7]}, - {"x": 11.5, "y": 2.25, "matrix": [8, 5]}, - {"x": 12.5, "y": 2.25, "matrix": [8, 4]}, - {"x": 13.5, "y": 2.25, "w": 1.5, "matrix": [9, 4]}, - - {"x": 15.25, "y": 2.25, "matrix": [8, 6]}, - {"x": 16.25, "y": 2.25, "matrix": [8, 2]}, - {"x": 17.25, "y": 2.25, "matrix": [8, 1]}, - - {"x": 0, "y": 3.25, "w": 1.75, "matrix": [3, 0]}, - {"x": 1.75, "y": 3.25, "matrix": [3, 1]}, - {"x": 2.75, "y": 3.25, "matrix": [3, 2]}, - {"x": 3.75, "y": 3.25, "matrix": [3, 3]}, - {"x": 4.75, "y": 3.25, "matrix": [3, 4]}, - {"x": 5.75, "y": 3.25, "matrix": [3, 5]}, - {"x": 6.75, "y": 3.25, "matrix": [3, 6]}, - {"x": 7.75, "y": 3.25, "matrix": [3, 7]}, - {"x": 8.75, "y": 3.25, "matrix": [3, 8]}, - {"x": 9.75, "y": 3.25, "matrix": [9, 8]}, - {"x": 10.75, "y": 3.25, "matrix": [9, 7]}, - {"x": 11.75, "y": 3.25, "matrix": [9, 5]}, - {"x": 12.75, "y": 3.25, "w": 2.25, "matrix": [8, 3]}, - - {"x": 0, "y": 4.25, "w": 2.25, "matrix": [4, 0]}, - {"x": 2.25, "y": 4.25, "matrix": [4, 2]}, - {"x": 3.25, "y": 4.25, "matrix": [4, 3]}, - {"x": 4.25, "y": 4.25, "matrix": [4, 4]}, - {"x": 5.25, "y": 4.25, "matrix": [4, 5]}, - {"x": 6.25, "y": 4.25, "matrix": [4, 6]}, - {"x": 7.25, "y": 4.25, "matrix": [4, 7]}, - {"x": 8.25, "y": 4.25, "matrix": [4, 8]}, - {"x": 9.25, "y": 4.25, "matrix": [10, 8]}, - {"x": 10.25, "y": 4.25, "matrix": [10, 7]}, - {"x": 11.25, "y": 4.25, "matrix": [10, 5]}, - {"x": 12.25, "y": 4.25, "w": 2.75, "matrix": [10, 4]}, - - {"x": 16.25, "y": 4.25, "matrix": [9, 2]}, - - {"x": 0, "y": 5.25, "w": 1.25, "matrix": [5, 0]}, - {"x": 1.25, "y": 5.25, "w": 1.25, "matrix": [5, 1]}, - {"x": 2.5, "y": 5.25, "w": 1.25, "matrix": [5, 2]}, - {"x": 3.75, "y": 5.25, "w": 6.25, "matrix": [5, 6]}, - {"x": 10, "y": 5.25, "w": 1.25, "matrix": [5, 8]}, - {"x": 11.25, "y": 5.25, "w": 1.25, "matrix": [5, 7]}, - {"x": 12.5, "y": 5.25, "w": 1.25, "matrix": [5, 4]}, - {"x": 13.75, "y": 5.25, "w": 1.25, "matrix": [5, 3]}, - {"x": 15.25, "y": 5.25, "matrix": [10, 6]}, - {"x": 16.25, "y": 5.25, "matrix": [10, 2]}, - {"x": 17.25, "y": 5.25, "matrix": [10, 1]} - ] - }, - "LAYOUT_tkl_iso": { - "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - {"x": 4, "y": 0, "matrix": [0, 4]}, - {"x": 5, "y": 0, "matrix": [0, 5]}, - - {"x": 6.5, "y": 0, "matrix": [0, 6]}, - {"x": 7.5, "y": 0, "matrix": [0, 7]}, - {"x": 8.5, "y": 0, "matrix": [0, 8]}, - {"x": 9.5, "y": 0, "matrix": [6, 8]}, - - {"x": 11, "y": 0, "matrix": [6, 7]}, - {"x": 12, "y": 0, "matrix": [6, 5]}, - {"x": 13, "y": 0, "matrix": [6, 4]}, - {"x": 14, "y": 0, "matrix": [6, 3]}, - - {"x": 15.25, "y": 0, "matrix": [6, 6]}, - {"x": 16.25, "y": 0, "matrix": [6, 2]}, - {"x": 17.25, "y": 0, "matrix": [6, 1]}, - - {"x": 0, "y": 1.25, "matrix": [1, 0]}, - {"x": 1, "y": 1.25, "matrix": [1, 1]}, - {"x": 2, "y": 1.25, "matrix": [1, 2]}, - {"x": 3, "y": 1.25, "matrix": [1, 3]}, - {"x": 4, "y": 1.25, "matrix": [1, 4]}, - {"x": 5, "y": 1.25, "matrix": [1, 5]}, - {"x": 6, "y": 1.25, "matrix": [1, 6]}, - {"x": 7, "y": 1.25, "matrix": [1, 7]}, - {"x": 8, "y": 1.25, "matrix": [1, 8]}, - {"x": 9, "y": 1.25, "matrix": [7, 8]}, - {"x": 10, "y": 1.25, "matrix": [7, 0]}, - {"x": 11, "y": 1.25, "matrix": [7, 7]}, - {"x": 12, "y": 1.25, "matrix": [7, 5]}, - {"x": 13, "y": 1.25, "w": 2, "matrix": [7, 3]}, - - {"x": 15.25, "y": 1.25, "matrix": [7, 6]}, - {"x": 16.25, "y": 1.25, "matrix": [7, 2]}, - {"x": 17.25, "y": 1.25, "matrix": [7, 1]}, - - {"x": 0, "y": 2.25, "w": 1.5, "matrix": [2, 0]}, - {"x": 1.5, "y": 2.25, "matrix": [2, 1]}, - {"x": 2.5, "y": 2.25, "matrix": [2, 2]}, - {"x": 3.5, "y": 2.25, "matrix": [2, 3]}, - {"x": 4.5, "y": 2.25, "matrix": [2, 4]}, - {"x": 5.5, "y": 2.25, "matrix": [2, 5]}, - {"x": 6.5, "y": 2.25, "matrix": [2, 6]}, - {"x": 7.5, "y": 2.25, "matrix": [2, 7]}, - {"x": 8.5, "y": 2.25, "matrix": [2, 8]}, - {"x": 9.5, "y": 2.25, "matrix": [8, 8]}, - {"x": 10.5, "y": 2.25, "matrix": [8, 7]}, - {"x": 11.5, "y": 2.25, "matrix": [8, 5]}, - {"x": 12.5, "y": 2.25, "matrix": [8, 4]}, - - {"x": 15.25, "y": 2.25, "matrix": [8, 6]}, - {"x": 16.25, "y": 2.25, "matrix": [8, 2]}, - {"x": 17.25, "y": 2.25, "matrix": [8, 1]}, - - {"x": 0, "y": 3.25, "w": 1.75, "matrix": [3, 0]}, - {"x": 1.75, "y": 3.25, "matrix": [3, 1]}, - {"x": 2.75, "y": 3.25, "matrix": [3, 2]}, - {"x": 3.75, "y": 3.25, "matrix": [3, 3]}, - {"x": 4.75, "y": 3.25, "matrix": [3, 4]}, - {"x": 5.75, "y": 3.25, "matrix": [3, 5]}, - {"x": 6.75, "y": 3.25, "matrix": [3, 6]}, - {"x": 7.75, "y": 3.25, "matrix": [3, 7]}, - {"x": 8.75, "y": 3.25, "matrix": [3, 8]}, - {"x": 9.75, "y": 3.25, "matrix": [9, 8]}, - {"x": 10.75, "y": 3.25, "matrix": [9, 7]}, - {"x": 11.75, "y": 3.25, "matrix": [9, 5]}, - {"x": 12.75, "y": 3.25, "matrix": [9, 4]}, - {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2, "matrix": [8, 3]}, - - {"x": 0, "y": 4.25, "w": 1.25, "matrix": [4, 0]}, - {"x": 1.25, "y": 4.25, "matrix": [4, 1]}, - {"x": 2.25, "y": 4.25, "matrix": [4, 2]}, - {"x": 3.25, "y": 4.25, "matrix": [4, 3]}, - {"x": 4.25, "y": 4.25, "matrix": [4, 4]}, - {"x": 5.25, "y": 4.25, "matrix": [4, 5]}, - {"x": 6.25, "y": 4.25, "matrix": [4, 6]}, - {"x": 7.25, "y": 4.25, "matrix": [4, 7]}, - {"x": 8.25, "y": 4.25, "matrix": [4, 8]}, - {"x": 9.25, "y": 4.25, "matrix": [10, 8]}, - {"x": 10.25, "y": 4.25, "matrix": [10, 7]}, - {"x": 11.25, "y": 4.25, "matrix": [10, 5]}, - {"x": 12.25, "y": 4.25, "w": 2.75, "matrix": [10, 4]}, - - {"x": 16.25, "y": 4.25, "matrix": [9, 2]}, - - {"x": 0, "y": 5.25, "w": 1.25, "matrix": [5, 0]}, - {"x": 1.25, "y": 5.25, "w": 1.25, "matrix": [5, 1]}, - {"x": 2.5, "y": 5.25, "w": 1.25, "matrix": [5, 2]}, - {"x": 3.75, "y": 5.25, "w": 6.25, "matrix": [5, 6]}, - {"x": 10, "y": 5.25, "w": 1.25, "matrix": [5, 8]}, - {"x": 11.25, "y": 5.25, "w": 1.25, "matrix": [5, 7]}, - {"x": 12.5, "y": 5.25, "w": 1.25, "matrix": [5, 4]}, - {"x": 13.75, "y": 5.25, "w": 1.25, "matrix": [5, 3]}, - - {"x": 15.25, "y": 5.25, "matrix": [10, 6]}, - {"x": 16.25, "y": 5.25, "matrix": [10, 2]}, - {"x": 17.25, "y": 5.25, "matrix": [10, 1]} - ] - } - } -} diff --git a/keyboards/mt/ncr80/solder/keymaps/default/keymap.c b/keyboards/mt/ncr80/solder/keymaps/default/keymap.c deleted file mode 100644 index 8f9dda7826..0000000000 --- a/keyboards/mt/ncr80/solder/keymaps/default/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2022 Jordan Duabe - * - * 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] = { - - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_SPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______ - ), - -}; diff --git a/keyboards/mt/ncr80/solder/keymaps/default_tkl_ansi/keymap.c b/keyboards/mt/ncr80/solder/keymaps/default_tkl_ansi/keymap.c deleted file mode 100644 index f5604db5f4..0000000000 --- a/keyboards/mt/ncr80/solder/keymaps/default_tkl_ansi/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2022 peepeetee - * - * 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] = { - [0] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - -}; diff --git a/keyboards/mt/ncr80/solder/keymaps/default_tkl_iso/keymap.c b/keyboards/mt/ncr80/solder/keymaps/default_tkl_iso/keymap.c deleted file mode 100644 index b80c0f1d49..0000000000 --- a/keyboards/mt/ncr80/solder/keymaps/default_tkl_iso/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2022 peepeetee - * - * 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] = { - [0] = LAYOUT_tkl_iso( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - -}; diff --git a/keyboards/mt/ncr80/solder/keymaps/via/keymap.c b/keyboards/mt/ncr80/solder/keymaps/via/keymap.c deleted file mode 100644 index 493165c22f..0000000000 --- a/keyboards/mt/ncr80/solder/keymaps/via/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2022 Jordan Duabe - * - * 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] = { - - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_SPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______ - ), - - [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; diff --git a/keyboards/mt/ncr80/solder/keymaps/via/rules.mk b/keyboards/mt/ncr80/solder/keymaps/via/rules.mk deleted file mode 100644 index 36b7ba9cbc..0000000000 --- a/keyboards/mt/ncr80/solder/keymaps/via/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/mt/ncr80/solder/readme.md b/keyboards/mt/ncr80/solder/readme.md deleted file mode 100644 index 9333c57ac1..0000000000 --- a/keyboards/mt/ncr80/solder/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# NCR-80 - -![NCR-80](https://i.imgur.com/kAjbAPLl.jpg) - -> Re-imagination of the classic rebranded Cherry G81-3000 by NCR - -NCR-80 is an affordable keyboard kit inspired by iconic vintage keyboards. - -* Keyboard Maintainer: QMK Community -* Hardware Supported: ATmega32U4 -* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/1005003364462523.html) [Taobao 淘宝](https://item.taobao.com/item.htm?id=657482028672) - -Make example for this keyboard (after setting up your build environment): - - make ncr80/solder:default - -Flashing example for this keyboard: - - make ncr80/solder:default:flash - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `RESET` if it is available - -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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file -- cgit v1.2.3 From 2d2eed9594bb62b79d1eaffe25775d56adcd537f Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 14 Aug 2024 06:27:37 -0700 Subject: [Keyboard] Move Planck EZ to ZSA vendor folder (#23917) --- data/mappings/keyboard_aliases.hjson | 9 + keyboards/planck/ez/base/keyboard.json | 6 - keyboards/planck/ez/config.h | 62 ---- keyboards/planck/ez/ez.c | 369 --------------------- keyboards/planck/ez/ez.h | 47 --- keyboards/planck/ez/glow/keyboard.json | 9 - keyboards/planck/ez/halconf.h | 23 -- keyboards/planck/ez/info.json | 207 ------------ keyboards/planck/ez/mcuconf.h | 41 --- keyboards/planck/ez/readme.md | 64 ---- keyboards/planck/ez/rules.mk | 4 - keyboards/zsa/planck_ez/base/keyboard.json | 6 + keyboards/zsa/planck_ez/config.h | 26 ++ keyboards/zsa/planck_ez/glow/glow.c | 75 +++++ keyboards/zsa/planck_ez/glow/keyboard.json | 109 ++++++ keyboards/zsa/planck_ez/halconf.h | 23 ++ keyboards/zsa/planck_ez/info.json | 157 +++++++++ .../zsa/planck_ez/keymaps/default/keymap.json | 17 + keyboards/zsa/planck_ez/mcuconf.h | 37 +++ keyboards/zsa/planck_ez/planck_ez.c | 286 ++++++++++++++++ keyboards/zsa/planck_ez/planck_ez.h | 47 +++ keyboards/zsa/planck_ez/readme.md | 64 ++++ keyboards/zsa/planck_ez/rules.mk | 4 + 23 files changed, 860 insertions(+), 832 deletions(-) delete mode 100644 keyboards/planck/ez/base/keyboard.json delete mode 100644 keyboards/planck/ez/config.h delete mode 100644 keyboards/planck/ez/ez.c delete mode 100644 keyboards/planck/ez/ez.h delete mode 100644 keyboards/planck/ez/glow/keyboard.json delete mode 100644 keyboards/planck/ez/halconf.h delete mode 100644 keyboards/planck/ez/info.json delete mode 100644 keyboards/planck/ez/mcuconf.h delete mode 100644 keyboards/planck/ez/readme.md delete mode 100644 keyboards/planck/ez/rules.mk create mode 100644 keyboards/zsa/planck_ez/base/keyboard.json create mode 100644 keyboards/zsa/planck_ez/config.h create mode 100644 keyboards/zsa/planck_ez/glow/glow.c create mode 100644 keyboards/zsa/planck_ez/glow/keyboard.json create mode 100644 keyboards/zsa/planck_ez/halconf.h create mode 100644 keyboards/zsa/planck_ez/info.json create mode 100644 keyboards/zsa/planck_ez/keymaps/default/keymap.json create mode 100644 keyboards/zsa/planck_ez/mcuconf.h create mode 100644 keyboards/zsa/planck_ez/planck_ez.c create mode 100644 keyboards/zsa/planck_ez/planck_ez.h create mode 100644 keyboards/zsa/planck_ez/readme.md create mode 100644 keyboards/zsa/planck_ez/rules.mk (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 0dcda6f61d..bca1865fc9 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -563,6 +563,15 @@ "plain60": { "target": "evyd13/plain60" }, + "planck/ez": { + "target": "zsa/planck_ez/base" + }, + "planck/ez/base": { + "target": "zsa/planck_ez/base" + }, + "planck/ez/glow": { + "target": "zsa/planck_ez/glow" + }, "ploopyco/trackball": { "target": "ploopyco/trackball/rev1_005" }, diff --git a/keyboards/planck/ez/base/keyboard.json b/keyboards/planck/ez/base/keyboard.json deleted file mode 100644 index 07167a8c2a..0000000000 --- a/keyboards/planck/ez/base/keyboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "keyboard_name": "Planck EZ", - "usb": { - "pid": "0xC6CE" - } -} diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h deleted file mode 100644 index e4fa0924d3..0000000000 --- a/keyboards/planck/ez/config.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2018 Jack Humbert - * Copyright 2015 ZSA Technology Labs Inc (@zsa) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 - -#define MUSIC_MAP -#undef AUDIO_VOICES -#undef AUDIO_PIN -#define AUDIO_PIN A5 -#define AUDIO_PIN_ALT A4 -#define AUDIO_PIN_ALT_AS_NEGATIVE - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -// #define WS2812_LED_N 2 -// #define WS2812_TIM_N 2 -// #define WS2812_TIM_CH 2 -// #define PORT_WS2812 GPIOA -// #define PIN_WS2812 1 -// #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection) -//#define WS2812_PWM_DMA_CHANNEL 7 // DMA channel for TIMx_UP -//#define WS2812_EXTERNAL_PULLUP - -#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_WHEEL_DELAY 400 -#define MOUSEKEY_WHEEL_INTERVAL MOUSEKEY_INTERVAL -#define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED -#define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c deleted file mode 100644 index 522fd70033..0000000000 --- a/keyboards/planck/ez/ez.c +++ /dev/null @@ -1,369 +0,0 @@ -/* Copyright 2018 Jack Humbert - * Copyright 2015 ZSA Technology Labs Inc (@zsa) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 "ez.h" -#include -#include - -keyboard_config_t keyboard_config; -#ifdef RGB_MATRIX_ENABLE -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, SW2_CS12, SW1_CS12, SW3_CS12}, - {0, SW2_CS11, SW1_CS11, SW3_CS11}, - {0, SW2_CS10, SW1_CS10, SW3_CS10}, - {0, SW2_CS9, SW1_CS9, SW3_CS9}, - {0, SW2_CS8, SW1_CS8, SW3_CS8}, - {0, SW2_CS7, SW1_CS7, SW3_CS7}, - - {0, SW8_CS12, SW7_CS12, SW9_CS12}, - {0, SW8_CS11, SW7_CS11, SW9_CS11}, - {0, SW8_CS10, SW7_CS10, SW9_CS10}, - {0, SW8_CS9, SW7_CS9, SW9_CS9}, - {0, SW8_CS8, SW7_CS8, SW9_CS8}, - {0, SW8_CS7, SW7_CS7, SW9_CS7}, - - {0, SW2_CS6, SW1_CS6, SW3_CS6}, - {0, SW2_CS5, SW1_CS5, SW3_CS5}, - {0, SW2_CS4, SW1_CS4, SW3_CS4}, - {0, SW2_CS3, SW1_CS3, SW3_CS3}, - {0, SW2_CS2, SW1_CS2, SW3_CS2}, - {0, SW2_CS1, SW1_CS1, SW3_CS1}, - - {0, SW8_CS6, SW7_CS6, SW9_CS6}, - {0, SW8_CS5, SW7_CS5, SW9_CS5}, - {0, SW8_CS4, SW7_CS4, SW9_CS4}, - {0, SW8_CS3, SW7_CS3, SW9_CS3}, - {0, SW8_CS2, SW7_CS2, SW9_CS2}, - {0, SW8_CS1, SW7_CS1, SW9_CS1}, - - {0, SW5_CS12, SW4_CS12, SW6_CS12}, - {0, SW5_CS11, SW4_CS11, SW6_CS11}, - {0, SW5_CS10, SW4_CS10, SW6_CS10}, - {0, SW5_CS9, SW4_CS9, SW6_CS9}, - {0, SW5_CS8, SW4_CS8, SW6_CS8}, - {0, SW5_CS7, SW4_CS7, SW6_CS7}, - - {0, SW11_CS12, SW10_CS12, SW12_CS12}, - {0, SW11_CS11, SW10_CS11, SW12_CS11}, - {0, SW11_CS10, SW10_CS10, SW12_CS10}, - {0, SW11_CS9, SW10_CS9, SW12_CS9}, - {0, SW11_CS8, SW10_CS8, SW12_CS8}, - {0, SW11_CS7, SW10_CS7, SW12_CS7}, - - {0, SW5_CS6, SW4_CS6, SW6_CS6}, - {0, SW5_CS5, SW4_CS5, SW6_CS5}, - {0, SW5_CS4, SW4_CS4, SW6_CS4}, - {0, SW5_CS3, SW4_CS3, SW6_CS3}, - {0, SW5_CS2, SW4_CS2, SW6_CS2}, - {0, SW5_CS1, SW4_CS1, SW6_CS1}, - - {0, SW11_CS6, SW10_CS6, SW12_CS6}, - {0, SW11_CS5, SW10_CS5, SW12_CS5}, - {0, SW11_CS4, SW10_CS4, SW12_CS4}, - {0, SW11_CS3, SW10_CS3, SW12_CS3}, - {0, SW11_CS2, SW10_CS2, SW12_CS2}, - -}; - -led_config_t g_led_config = { { - { 0, 1, 2, 3, 4, 5 }, - { 12, 13, 14, 15, 16, 17 }, - { 24, 25, 26, 27, 28, 29 }, - { 36, 37, 38, 45, 46, NO_LED }, - { 6, 7, 8, 9, 10, 11 }, - { 18, 19, 20, 21, 22, 23 }, - { 30, 31, 32, 33, 34, 35 }, - { 42, 43, 44, 39, 40, 41 } -}, { - { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 }, - { 0, 21 }, { 20, 21 }, { 40, 21 }, { 61, 21 }, { 81, 21 }, { 101, 21 }, { 122, 21 }, { 142, 21 }, { 162, 21 }, { 183, 21 }, { 203, 21 }, { 223, 21 }, - { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 }, - { 0, 63 }, { 20, 63 }, { 40, 63 }, { 61, 63 }, { 81, 63 }, { 111, 63 }, { 142, 63 }, { 162, 63 }, { 183, 63 }, { 203, 63 }, { 223, 63 } -}, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1 -} }; - -#endif - -/* Left B9 Right B8 */ - -// See http://jared.geek.nz/2013/feb/linear-led-pwm -static uint16_t cie_lightness(uint16_t v) { - if (v <= 5243) // if below 8% of max - return v / 9; // same as dividing by 900% - else { - uint32_t y = (((uint32_t) v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare - // to get a useful result with integer division, we shift left in the expression above - // and revert what we've done again after squaring. - y = y * y * y >> 8; - if (y > 0xFFFFUL) // prevent overflow - return 0xFFFFU; - else - return (uint16_t) y; - } -} - -static PWMConfig pwmCFG = { - 0xFFFF,/* PWM clock frequency */ - 256,/* initial PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */ - NULL, - { - {PWM_OUTPUT_DISABLED, NULL}, /* channel 0 -> TIM1-CH1 = PA8 */ - {PWM_OUTPUT_DISABLED, NULL}, /* channel 1 -> TIM1-CH2 = PA9 */ - {PWM_OUTPUT_ACTIVE_HIGH, NULL}, - {PWM_OUTPUT_ACTIVE_HIGH, NULL} - }, - 0, /* HW dependent part.*/ - 0 -}; - -static uint32_t planck_ez_right_led_duty; -static uint32_t planck_ez_left_led_duty; - -void planck_ez_right_led_level(uint8_t level) { - planck_ez_right_led_duty = (uint32_t)(cie_lightness(0xFFFF * (uint32_t) level / 255)); - if (level == 0) { - // Turn backlight off - pwmDisableChannel(&PWMD4, 2); - } else { - // Turn backlight on - pwmEnableChannel(&PWMD4, 2, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_right_led_duty)); - } -} - - -void planck_ez_right_led_on(void){ - pwmEnableChannel(&PWMD4, 2, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_right_led_duty)); -} - -void planck_ez_right_led_off(void){ - pwmDisableChannel(&PWMD4, 2); -} - -void planck_ez_left_led_level(uint8_t level) { - planck_ez_left_led_duty = (uint32_t)(cie_lightness(0xFFFF * (uint32_t) level / 255)); - if (level == 0) { - // Turn backlight off - pwmDisableChannel(&PWMD4, 3); - } else { - // Turn backlight on - pwmEnableChannel(&PWMD4, 3, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_left_led_duty)); - } -} - -void planck_ez_left_led_on(void){ - pwmEnableChannel(&PWMD4, 3, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_left_led_duty)); -} - -void planck_ez_left_led_off(void){ - pwmDisableChannel(&PWMD4, 3); -} - - -void led_initialize_hardware(void) { - pwmStart(&PWMD4, &pwmCFG); - - // set up defaults - planck_ez_right_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); - palSetPadMode(GPIOB, 8, PAL_MODE_ALTERNATE(2)); - planck_ez_left_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); - palSetPadMode(GPIOB, 9, PAL_MODE_ALTERNATE(2)); - - - // turn LEDs off by default - planck_ez_left_led_off(); - planck_ez_right_led_off(); -} - -void keyboard_pre_init_kb(void) { - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - // read kb settings from eeprom - keyboard_config.raw = eeconfig_read_kb(); -#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) - if (keyboard_config.rgb_matrix_enable) { - rgb_matrix_set_flags(LED_FLAG_ALL); - } else { - rgb_matrix_set_flags(LED_FLAG_NONE); - } -#endif - led_initialize_hardware(); - keyboard_pre_init_user(); -} - -#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) -void keyboard_post_init_kb(void) { - rgb_matrix_enable_noeeprom(); - keyboard_post_init_user(); -} -#endif - -void eeconfig_init_kb(void) { // EEPROM is getting reset! - keyboard_config.raw = 0; - keyboard_config.rgb_matrix_enable = true; - keyboard_config.led_level = 4; - eeconfig_update_kb(keyboard_config.raw); - eeconfig_init_user(); -} - - -#ifdef ORYX_CONFIGURATOR - -#ifndef PLANCK_EZ_USER_LEDS - -#ifndef PLANCK_EZ_LED_LOWER -# define PLANCK_EZ_LED_LOWER 3 -#endif -#ifndef PLANCK_EZ_LED_RAISE -# define PLANCK_EZ_LED_RAISE 4 -#endif -#ifndef PLANCK_EZ_LED_ADJUST -# define PLANCK_EZ_LED_ADJUST 6 -#endif - -layer_state_t layer_state_set_kb(layer_state_t state) { - planck_ez_left_led_off(); - planck_ez_right_led_off(); - state = layer_state_set_user(state); - uint8_t layer = get_highest_layer(state); - switch (layer) { - case PLANCK_EZ_LED_LOWER: - planck_ez_left_led_on(); - break; - case PLANCK_EZ_LED_RAISE: - planck_ez_right_led_on(); - break; - case PLANCK_EZ_LED_ADJUST: - planck_ez_right_led_on(); - planck_ez_left_led_on(); - break; - default: - break; - } - return state; -} -#endif - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LED_LEVEL: - if (record->event.pressed) { - keyboard_config.led_level++; - if (keyboard_config.led_level > 4) { - keyboard_config.led_level = 0; - } - planck_ez_right_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); - planck_ez_left_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); - eeconfig_update_kb(keyboard_config.raw); - layer_state_set_kb(layer_state); - } - break; -#ifdef RGB_MATRIX_ENABLE - case TOGGLE_LAYER_COLOR: - if (record->event.pressed) { - keyboard_config.disable_layer_led ^= 1; - if (keyboard_config.disable_layer_led) - rgb_matrix_set_color_all(0, 0, 0); - eeconfig_update_kb(keyboard_config.raw); - } - break; - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - keyboard_config.rgb_matrix_enable = false; - rgb_matrix_set_color_all(0, 0, 0); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - keyboard_config.rgb_matrix_enable = true; - } - break; - } - eeconfig_update_kb(keyboard_config.raw); - } - return false; -#endif - } - return process_record_user(keycode, record); -} -#endif - -#ifdef AUDIO_ENABLE -bool music_mask_kb(uint16_t keycode) { - switch (keycode) { - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - case QK_TO ... QK_TO_MAX: - case QK_MOMENTARY ... QK_MOMENTARY_MAX: - case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: - case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: - case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: - case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case AU_ON ... AU_PREV: - case QK_BOOT: - case QK_CLEAR_EEPROM: - return false; - default: - return music_mask_user(keycode); - } -} -#endif - -#ifdef SWAP_HANDS_ENABLE -__attribute__ ((weak)) -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, - {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, - {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, - {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, - - {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, - {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, - {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, - {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, -}; - -# ifdef ENCODER_MAP_ENABLE -const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0}; -# endif -#endif - -const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = { - {36, 37, 38, 39, 40, 41}, - {24, 25, 26, 27, 28, 29}, - {12, 13, 14, 15, 16, 17}, - { 0, 1, 2, 10, 11, 6}, - {42, 43, 44, 45, 46, 47}, - {30, 31, 32, 33, 34, 35}, - {18, 19, 20, 21, 22, 23}, - { 7, 8, 9, 3, 4, 5} -}; diff --git a/keyboards/planck/ez/ez.h b/keyboards/planck/ez/ez.h deleted file mode 100644 index 695b14d9ad..0000000000 --- a/keyboards/planck/ez/ez.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2018 Jack Humbert - * Copyright 2015 ZSA Technology Labs Inc (@zsa) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 - -#include "quantum.h" - -void planck_ez_right_led_on(void); -void planck_ez_right_led_off(void); -void planck_ez_right_led_level(uint8_t level); -void planck_ez_left_led_on(void); -void planck_ez_left_led_off(void); -void planck_ez_left_led_level(uint8_t level); - -enum planck_ez_keycodes { - LED_LEVEL = QK_KB_0, - TOGGLE_LAYER_COLOR, -}; - -#ifndef WEBUSB_ENABLE -# define WEBUSB_PAIR KC_NO -#endif - -typedef union { - uint32_t raw; - struct { - uint8_t led_level :3; - bool disable_layer_led :1; - bool rgb_matrix_enable :1; - }; -} keyboard_config_t; - -extern keyboard_config_t keyboard_config; diff --git a/keyboards/planck/ez/glow/keyboard.json b/keyboards/planck/ez/glow/keyboard.json deleted file mode 100644 index 6c957b165b..0000000000 --- a/keyboards/planck/ez/glow/keyboard.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "keyboard_name": "Planck EZ Glow", - "usb": { - "pid": "0xC6CF" - }, - "features": { - "rgb_matrix": true - } -} diff --git a/keyboards/planck/ez/halconf.h b/keyboards/planck/ez/halconf.h deleted file mode 100644 index f1044867f7..0000000000 --- a/keyboards/planck/ez/halconf.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 QMK - * - * 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 3 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 - -#define HAL_USE_I2C TRUE -#define HAL_USE_GPT TRUE -#define HAL_USE_DAC TRUE -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json deleted file mode 100644 index f7b2a8f8a1..0000000000 --- a/keyboards/planck/ez/info.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "manufacturer": "ZSA Technology Labs", - "url": "https://ergodox-ez.com/pages/planck", - "maintainer": "jackhumbert", - "usb": { - "vid": "0x3297", - "device_version": "0.0.1", - "shared_endpoint": { - "mouse": false - } - }, - "features": { - "audio": true, - "bootmagic": true, - "command": true, - "console": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "driver": "is31fl3737", - "led_process_limit": 5, - "led_flush_limit": 26, - "sleep": true - }, - "matrix_pins": { - "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], - "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"] - }, - "diode_direction": "COL2ROW", - "audio": { - "driver": "dac_additive" - }, - "encoder": { - "rotary": [ - {"pin_a": "B12", "pin_b": "B13"} - ] - }, - "processor": "STM32F303", - "bootloader": "stm32-dfu", - "tapping": { - "toggle": 1 - }, - "community_layouts": ["ortho_4x12", "planck_mit"], - "layout_aliases": { - "LAYOUT_planck_grid": "LAYOUT_ortho_4x12", - "LAYOUT_planck_mit": "LAYOUT_planck_1x2uC" - }, - "layouts": { - "LAYOUT_planck_1x2uC": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [4, 0], "x": 6, "y": 0}, - {"matrix": [4, 1], "x": 7, "y": 0}, - {"matrix": [4, 2], "x": 8, "y": 0}, - {"matrix": [4, 3], "x": 9, "y": 0}, - {"matrix": [4, 4], "x": 10, "y": 0}, - {"matrix": [4, 5], "x": 11, "y": 0}, - - {"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}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [5, 0], "x": 6, "y": 1}, - {"matrix": [5, 1], "x": 7, "y": 1}, - {"matrix": [5, 2], "x": 8, "y": 1}, - {"matrix": [5, 3], "x": 9, "y": 1}, - {"matrix": [5, 4], "x": 10, "y": 1}, - {"matrix": [5, 5], "x": 11, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [6, 0], "x": 6, "y": 2}, - {"matrix": [6, 1], "x": 7, "y": 2}, - {"matrix": [6, 2], "x": 8, "y": 2}, - {"matrix": [6, 3], "x": 9, "y": 2}, - {"matrix": [6, 4], "x": 10, "y": 2}, - {"matrix": [6, 5], "x": 11, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [7, 3], "x": 3, "y": 3}, - {"matrix": [7, 4], "x": 4, "y": 3}, - {"matrix": [7, 5], "x": 5, "y": 3, "w": 2}, - {"matrix": [7, 0], "x": 7, "y": 3}, - {"matrix": [7, 1], "x": 8, "y": 3}, - {"matrix": [7, 2], "x": 9, "y": 3}, - {"matrix": [3, 3], "x": 10, "y": 3}, - {"matrix": [3, 4], "x": 11, "y": 3} - ] - }, - "LAYOUT_ortho_4x12": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [4, 0], "x": 6, "y": 0}, - {"matrix": [4, 1], "x": 7, "y": 0}, - {"matrix": [4, 2], "x": 8, "y": 0}, - {"matrix": [4, 3], "x": 9, "y": 0}, - {"matrix": [4, 4], "x": 10, "y": 0}, - {"matrix": [4, 5], "x": 11, "y": 0}, - - {"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}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [5, 0], "x": 6, "y": 1}, - {"matrix": [5, 1], "x": 7, "y": 1}, - {"matrix": [5, 2], "x": 8, "y": 1}, - {"matrix": [5, 3], "x": 9, "y": 1}, - {"matrix": [5, 4], "x": 10, "y": 1}, - {"matrix": [5, 5], "x": 11, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [6, 0], "x": 6, "y": 2}, - {"matrix": [6, 1], "x": 7, "y": 2}, - {"matrix": [6, 2], "x": 8, "y": 2}, - {"matrix": [6, 3], "x": 9, "y": 2}, - {"matrix": [6, 4], "x": 10, "y": 2}, - {"matrix": [6, 5], "x": 11, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [7, 3], "x": 3, "y": 3}, - {"matrix": [7, 4], "x": 4, "y": 3}, - {"matrix": [7, 5], "x": 5, "y": 3}, - {"matrix": [3, 5], "x": 6, "y": 3}, - {"matrix": [7, 0], "x": 7, "y": 3}, - {"matrix": [7, 1], "x": 8, "y": 3}, - {"matrix": [7, 2], "x": 9, "y": 3}, - {"matrix": [3, 3], "x": 10, "y": 3}, - {"matrix": [3, 4], "x": 11, "y": 3} - ] - } - } -} diff --git a/keyboards/planck/ez/mcuconf.h b/keyboards/planck/ez/mcuconf.h deleted file mode 100644 index 7475b0990c..0000000000 --- a/keyboards/planck/ez/mcuconf.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2021 QMK - * - * 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 3 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 - -#include_next - -// for i2c expander, and ISSI -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE - -// for indicator LEDs -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE -#undef STM32_PWM_USE_TIM4 -#define STM32_PWM_USE_TIM4 TRUE - -// for audio -#undef STM32_DAC_USE_DAC1_CH1 -#define STM32_DAC_USE_DAC1_CH1 TRUE -#undef STM32_DAC_USE_DAC1_CH2 -#define STM32_DAC_USE_DAC1_CH2 TRUE -#undef STM32_GPT_USE_TIM6 -#define STM32_GPT_USE_TIM6 TRUE -#undef STM32_GPT_USE_TIM7 -#define STM32_GPT_USE_TIM7 TRUE -#undef STM32_GPT_USE_TIM8 -#define STM32_GPT_USE_TIM8 TRUE diff --git a/keyboards/planck/ez/readme.md b/keyboards/planck/ez/readme.md deleted file mode 100644 index f85ab59693..0000000000 --- a/keyboards/planck/ez/readme.md +++ /dev/null @@ -1,64 +0,0 @@ -# Planck EZ - -![Planck EZ](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/planck/ez/neat-planck-banner.png) - -A variant of the Planck featuring a 2u spacebar and per-key RGB backlighting. - -Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert), [Drashna Jael're](https://github.com/drashna) -Hardware Supported: Planck EZ -Hardware Availability: [ZSA](https://www.zsa.io/planck/) - -Make example for this keyboard (after setting up your build environment): - - make planck/ez:oryx - -For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example: - - make planck/ez/glow:oryx - -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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Planck EZ Configuration (from Oryx) - -To enable the features from Oryx (ZSA's Configurator), either compile the the `oryx` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file. - -This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR`, and `LED_LEVEL` keycodes. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. The `LED_LEVEL` cycles through the brightness levels for the front "teeth" LEDs. - -### Indicator LEDs - -The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage) - -Alternatively, you can set the brightness by calling the following functions: - -```c -void planck_ez_right_led_level(uint8_t level); -void planck_ez_left_led_level(uint8_t level); -``` - -These settings are not persistent, so you'd need to reset it every time the board starts. - -These are on a 0-255 scale - -#### Layer indication - -By default, the indicator lights are used for layer indication, expecting the specific layers used in the default keymap. However, this may not work for you. And if that is the case, you can add `#define PLANCK_EZ_USER_LEDS` to your `config.h` file. - -This will remove the default behavior for changing the LEDs based on layer, and allow you to control them manually. - -Alternatively, you can use the following defines in your keymap's `config.h` to control which layers are used, as long as you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h` file, as well. - -```c -#define PLANCK_EZ_LED_LOWER 3 -#define PLANCK_EZ_LED_RAISE 4 -#define PLANCK_EZ_LED_ADJUST 6 -``` - -This will allow you to change the layers that are used, without having to add anything code to your `keymap.c` - -### RGB Matrix Features - -If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. - -This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. - -Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk deleted file mode 100644 index ef20f95b65..0000000000 --- a/keyboards/planck/ez/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGBLIGHT_SUPPORTED = no -BAKCLIGHT_SUPPORTED = no - -DEFAULT_FOLDER = planck/ez/base diff --git a/keyboards/zsa/planck_ez/base/keyboard.json b/keyboards/zsa/planck_ez/base/keyboard.json new file mode 100644 index 0000000000..07167a8c2a --- /dev/null +++ b/keyboards/zsa/planck_ez/base/keyboard.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Planck EZ", + "usb": { + "pid": "0xC6CE" + } +} diff --git a/keyboards/zsa/planck_ez/config.h b/keyboards/zsa/planck_ez/config.h new file mode 100644 index 0000000000..1145df9ef9 --- /dev/null +++ b/keyboards/zsa/planck_ez/config.h @@ -0,0 +1,26 @@ +/* Copyright 2018 Jack Humbert + * Copyright 2015 ZSA Technology Labs Inc (@zsa) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 + +#define MUSIC_MAP +#define AUDIO_PIN A5 +#define AUDIO_PIN_ALT A4 +#define AUDIO_PIN_ALT_AS_NEGATIVE + +#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND diff --git a/keyboards/zsa/planck_ez/glow/glow.c b/keyboards/zsa/planck_ez/glow/glow.c new file mode 100644 index 0000000000..2c11c2351e --- /dev/null +++ b/keyboards/zsa/planck_ez/glow/glow.c @@ -0,0 +1,75 @@ +/* Copyright 2018 Jack Humbert + * Copyright 2015 ZSA Technology Labs Inc (@zsa) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "planck_ez.h" + +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { + {0, SW2_CS12, SW1_CS12, SW3_CS12}, + {0, SW2_CS11, SW1_CS11, SW3_CS11}, + {0, SW2_CS10, SW1_CS10, SW3_CS10}, + {0, SW2_CS9, SW1_CS9, SW3_CS9}, + {0, SW2_CS8, SW1_CS8, SW3_CS8}, + {0, SW2_CS7, SW1_CS7, SW3_CS7}, + + {0, SW8_CS12, SW7_CS12, SW9_CS12}, + {0, SW8_CS11, SW7_CS11, SW9_CS11}, + {0, SW8_CS10, SW7_CS10, SW9_CS10}, + {0, SW8_CS9, SW7_CS9, SW9_CS9}, + {0, SW8_CS8, SW7_CS8, SW9_CS8}, + {0, SW8_CS7, SW7_CS7, SW9_CS7}, + + {0, SW2_CS6, SW1_CS6, SW3_CS6}, + {0, SW2_CS5, SW1_CS5, SW3_CS5}, + {0, SW2_CS4, SW1_CS4, SW3_CS4}, + {0, SW2_CS3, SW1_CS3, SW3_CS3}, + {0, SW2_CS2, SW1_CS2, SW3_CS2}, + {0, SW2_CS1, SW1_CS1, SW3_CS1}, + + {0, SW8_CS6, SW7_CS6, SW9_CS6}, + {0, SW8_CS5, SW7_CS5, SW9_CS5}, + {0, SW8_CS4, SW7_CS4, SW9_CS4}, + {0, SW8_CS3, SW7_CS3, SW9_CS3}, + {0, SW8_CS2, SW7_CS2, SW9_CS2}, + {0, SW8_CS1, SW7_CS1, SW9_CS1}, + + {0, SW5_CS12, SW4_CS12, SW6_CS12}, + {0, SW5_CS11, SW4_CS11, SW6_CS11}, + {0, SW5_CS10, SW4_CS10, SW6_CS10}, + {0, SW5_CS9, SW4_CS9, SW6_CS9}, + {0, SW5_CS8, SW4_CS8, SW6_CS8}, + {0, SW5_CS7, SW4_CS7, SW6_CS7}, + + {0, SW11_CS12, SW10_CS12, SW12_CS12}, + {0, SW11_CS11, SW10_CS11, SW12_CS11}, + {0, SW11_CS10, SW10_CS10, SW12_CS10}, + {0, SW11_CS9, SW10_CS9, SW12_CS9}, + {0, SW11_CS8, SW10_CS8, SW12_CS8}, + {0, SW11_CS7, SW10_CS7, SW12_CS7}, + + {0, SW5_CS6, SW4_CS6, SW6_CS6}, + {0, SW5_CS5, SW4_CS5, SW6_CS5}, + {0, SW5_CS4, SW4_CS4, SW6_CS4}, + {0, SW5_CS3, SW4_CS3, SW6_CS3}, + {0, SW5_CS2, SW4_CS2, SW6_CS2}, + {0, SW5_CS1, SW4_CS1, SW6_CS1}, + + {0, SW11_CS6, SW10_CS6, SW12_CS6}, + {0, SW11_CS5, SW10_CS5, SW12_CS5}, + {0, SW11_CS4, SW10_CS4, SW12_CS4}, + {0, SW11_CS3, SW10_CS3, SW12_CS3}, + {0, SW11_CS2, SW10_CS2, SW12_CS2}, +}; diff --git a/keyboards/zsa/planck_ez/glow/keyboard.json b/keyboards/zsa/planck_ez/glow/keyboard.json new file mode 100644 index 0000000000..fa83190a79 --- /dev/null +++ b/keyboards/zsa/planck_ez/glow/keyboard.json @@ -0,0 +1,109 @@ +{ + "keyboard_name": "Planck EZ Glow", + "usb": { + "pid": "0xC6CF" + }, + "features": { + "rgb_matrix": true + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true, + "pixel_fractal": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "is31fl3737", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, + {"matrix": [4, 0], "x": 122, "y": 0, "flags": 4}, + {"matrix": [4, 1], "x": 142, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 162, "y": 0, "flags": 4}, + {"matrix": [4, 3], "x": 183, "y": 0, "flags": 4}, + {"matrix": [4, 4], "x": 203, "y": 0, "flags": 4}, + {"matrix": [4, 5], "x": 223, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, + {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, + {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, + {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, + {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, + {"matrix": [5, 0], "x": 122, "y": 21, "flags": 4}, + {"matrix": [5, 1], "x": 142, "y": 21, "flags": 4}, + {"matrix": [5, 2], "x": 162, "y": 21, "flags": 4}, + {"matrix": [5, 3], "x": 183, "y": 21, "flags": 4}, + {"matrix": [5, 4], "x": 203, "y": 21, "flags": 4}, + {"matrix": [5, 5], "x": 223, "y": 21, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, + {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, + {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, + {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, + {"matrix": [6, 0], "x": 122, "y": 42, "flags": 4}, + {"matrix": [6, 1], "x": 142, "y": 42, "flags": 4}, + {"matrix": [6, 2], "x": 162, "y": 42, "flags": 4}, + {"matrix": [6, 3], "x": 183, "y": 42, "flags": 4}, + {"matrix": [6, 4], "x": 203, "y": 42, "flags": 4}, + {"matrix": [6, 5], "x": 223, "y": 42, "flags": 1}, + {"matrix": [3, 0], "x": 0, "y": 63, "flags": 1}, + {"matrix": [3, 1], "x": 20, "y": 63, "flags": 1}, + {"matrix": [3, 2], "x": 40, "y": 63, "flags": 1}, + {"matrix": [7, 3], "x": 61, "y": 63, "flags": 1}, + {"matrix": [7, 4], "x": 81, "y": 63, "flags": 1}, + {"matrix": [7, 5], "x": 111, "y": 63, "flags": 4}, + {"matrix": [7, 0], "x": 142, "y": 63, "flags": 1}, + {"matrix": [7, 1], "x": 162, "y": 63, "flags": 1}, + {"matrix": [7, 2], "x": 183, "y": 63, "flags": 1}, + {"matrix": [3, 3], "x": 203, "y": 63, "flags": 1}, + {"matrix": [3, 4], "x": 223, "y": 63, "flags": 1} + ], + "led_flush_limit": 26, + "led_process_limit": 5, + "sleep": true + } +} diff --git a/keyboards/zsa/planck_ez/halconf.h b/keyboards/zsa/planck_ez/halconf.h new file mode 100644 index 0000000000..f1044867f7 --- /dev/null +++ b/keyboards/zsa/planck_ez/halconf.h @@ -0,0 +1,23 @@ +/* Copyright 2021 QMK + * + * 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 3 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 + +#define HAL_USE_I2C TRUE +#define HAL_USE_GPT TRUE +#define HAL_USE_DAC TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/zsa/planck_ez/info.json b/keyboards/zsa/planck_ez/info.json new file mode 100644 index 0000000000..eda13449b5 --- /dev/null +++ b/keyboards/zsa/planck_ez/info.json @@ -0,0 +1,157 @@ +{ + "manufacturer": "ZSA Technology Labs", + "maintainer": "drashna", + "audio": { + "driver": "dac_additive" + }, + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B12", "pin_b": "B13"} + ] + }, + "features": { + "audio": true, + "bootmagic": true, + "command": true, + "console": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], + "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"] + }, + "mousekey": { + "delay": 0, + "interval": 20, + "max_speed": 7, + "time_to_max": 60, + "wheel_delay": 400 + }, + "processor": "STM32F303", + "tapping": { + "toggle": 1 + }, + "url": "https://blog.zsa.io/2307-goodbye-planck-ez/", + "usb": { + "device_version": "0.0.1", + "shared_endpoint": { + "mouse": false + }, + "vid": "0x3297" + }, + "community_layouts": ["ortho_4x12", "planck_mit"], + "layout_aliases": { + "LAYOUT_planck_grid": "LAYOUT_ortho_4x12", + "LAYOUT_planck_mit": "LAYOUT_planck_1x2uC" + }, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [4, 0], "x": 6, "y": 0}, + {"matrix": [4, 1], "x": 7, "y": 0}, + {"matrix": [4, 2], "x": 8, "y": 0}, + {"matrix": [4, 3], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 5], "x": 11, "y": 0}, + {"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}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [5, 0], "x": 6, "y": 1}, + {"matrix": [5, 1], "x": 7, "y": 1}, + {"matrix": [5, 2], "x": 8, "y": 1}, + {"matrix": [5, 3], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 5], "x": 11, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [6, 0], "x": 6, "y": 2}, + {"matrix": [6, 1], "x": 7, "y": 2}, + {"matrix": [6, 2], "x": 8, "y": 2}, + {"matrix": [6, 3], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 5], "x": 11, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [7, 3], "x": 3, "y": 3}, + {"matrix": [7, 4], "x": 4, "y": 3}, + {"matrix": [7, 5], "x": 5, "y": 3}, + {"matrix": [3, 5], "x": 6, "y": 3}, + {"matrix": [7, 0], "x": 7, "y": 3}, + {"matrix": [7, 1], "x": 8, "y": 3}, + {"matrix": [7, 2], "x": 9, "y": 3}, + {"matrix": [3, 3], "x": 10, "y": 3}, + {"matrix": [3, 4], "x": 11, "y": 3} + ] + }, + "LAYOUT_planck_1x2uC": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [4, 0], "x": 6, "y": 0}, + {"matrix": [4, 1], "x": 7, "y": 0}, + {"matrix": [4, 2], "x": 8, "y": 0}, + {"matrix": [4, 3], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 5], "x": 11, "y": 0}, + {"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}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [5, 0], "x": 6, "y": 1}, + {"matrix": [5, 1], "x": 7, "y": 1}, + {"matrix": [5, 2], "x": 8, "y": 1}, + {"matrix": [5, 3], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 5], "x": 11, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [6, 0], "x": 6, "y": 2}, + {"matrix": [6, 1], "x": 7, "y": 2}, + {"matrix": [6, 2], "x": 8, "y": 2}, + {"matrix": [6, 3], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 5], "x": 11, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [7, 3], "x": 3, "y": 3}, + {"matrix": [7, 4], "x": 4, "y": 3}, + {"matrix": [7, 5], "x": 5, "y": 3, "w": 2}, + {"matrix": [7, 0], "x": 7, "y": 3}, + {"matrix": [7, 1], "x": 8, "y": 3}, + {"matrix": [7, 2], "x": 9, "y": 3}, + {"matrix": [3, 3], "x": 10, "y": 3}, + {"matrix": [3, 4], "x": 11, "y": 3} + ] + } + } +} diff --git a/keyboards/zsa/planck_ez/keymaps/default/keymap.json b/keyboards/zsa/planck_ez/keymaps/default/keymap.json new file mode 100644 index 0000000000..4b27cc2970 --- /dev/null +++ b/keyboards/zsa/planck_ez/keymaps/default/keymap.json @@ -0,0 +1,17 @@ +{ + "keyboard": "zsa/planck_ez/base", + "keymap": "default", + "layers": [ + ["KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", "KC_ESC", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ENT", "CW_TOGG", "KC_LCTL", "KC_LALT", "KC_LGUI", "TL_LOWR", "KC_SPC", "TL_UPPR", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT"], + ["KC_TILD", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_BSPC", "KC_DEL", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_TRNS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "S(KC_NUHS)", "S(KC_NUBS)", "KC_HOME", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY"], + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_DEL", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_TRNS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NUHS", "KC_NUBS", "KC_PGUP", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY"], + ["KC_TRNS", "QK_BOOT", "DB_TOGG", "RGB_TOG", "RGB_MOD", "RGB_HUI", "RGB_HUD", "RGB_SAI", "RGB_SAD", "RGB_VAI", "RGB_VAD", "KC_DEL", "KC_TRNS", "KC_TRNS", "MU_NEXT", "AU_ON", "AU_OFF", "AG_NORM", "AG_SWAP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "AU_PREV", "AU_NEXT", "MU_ON", "MU_OFF", "MI_ON", "MI_OFF", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"] + ], + "layout": "LAYOUT_planck_1x2uC", + "config": { + "features": { + "tri_layer": true, + "caps_word": true + } + } +} diff --git a/keyboards/zsa/planck_ez/mcuconf.h b/keyboards/zsa/planck_ez/mcuconf.h new file mode 100644 index 0000000000..e29f64dd72 --- /dev/null +++ b/keyboards/zsa/planck_ez/mcuconf.h @@ -0,0 +1,37 @@ +/* Copyright 2021 QMK + * + * 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 3 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 + +#include_next + +// for i2c expander, and ISSI +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +// for indicator LEDs +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +// for audio +#undef STM32_DAC_USE_DAC1_CH1 +#define STM32_DAC_USE_DAC1_CH1 TRUE +#undef STM32_DAC_USE_DAC1_CH2 +#define STM32_DAC_USE_DAC1_CH2 TRUE +#undef STM32_GPT_USE_TIM6 +#define STM32_GPT_USE_TIM6 TRUE diff --git a/keyboards/zsa/planck_ez/planck_ez.c b/keyboards/zsa/planck_ez/planck_ez.c new file mode 100644 index 0000000000..9c0e911654 --- /dev/null +++ b/keyboards/zsa/planck_ez/planck_ez.c @@ -0,0 +1,286 @@ +/* Copyright 2018 Jack Humbert + * Copyright 2015 ZSA Technology Labs Inc (@zsa) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "planck_ez.h" +#include +#include +#include "keycodes.h" + +keyboard_config_t keyboard_config; + + +/* Left B9 Right B8 */ + +// See http://jared.geek.nz/2013/feb/linear-led-pwm +static uint16_t cie_lightness(uint16_t v) { + if (v <= 5243) // if below 8% of max + return v / 9; // same as dividing by 900% + else { + uint32_t y = (((uint32_t) v + 10486) << 8) / (10486 + 0xFFFFUL); // add 16% of max and compare + // to get a useful result with integer division, we shift left in the expression above + // and revert what we've done again after squaring. + y = y * y * y >> 8; + if (y > 0xFFFFUL) // prevent overflow + return 0xFFFFU; + else + return (uint16_t) y; + } +} + +static PWMConfig pwmCFG = { + 0xFFFF,/* PWM clock frequency */ + 256,/* initial PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */ + NULL, + { + {PWM_OUTPUT_DISABLED, NULL}, /* channel 0 -> TIM1-CH1 = PA8 */ + {PWM_OUTPUT_DISABLED, NULL}, /* channel 1 -> TIM1-CH2 = PA9 */ + {PWM_OUTPUT_ACTIVE_HIGH, NULL}, + {PWM_OUTPUT_ACTIVE_HIGH, NULL} + }, + 0, /* HW dependent part.*/ + 0 +}; + +static uint32_t planck_ez_right_led_duty; +static uint32_t planck_ez_left_led_duty; + +void planck_ez_right_led_level(uint8_t level) { + planck_ez_right_led_duty = (uint32_t)(cie_lightness(0xFFFF * (uint32_t) level / 255)); + if (level == 0) { + // Turn backlight off + pwmDisableChannel(&PWMD4, 2); + } else { + // Turn backlight on + pwmEnableChannel(&PWMD4, 2, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_right_led_duty)); + } +} + + +void planck_ez_right_led_on(void){ + pwmEnableChannel(&PWMD4, 2, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_right_led_duty)); +} + +void planck_ez_right_led_off(void){ + pwmDisableChannel(&PWMD4, 2); +} + +void planck_ez_left_led_level(uint8_t level) { + planck_ez_left_led_duty = (uint32_t)(cie_lightness(0xFFFF * (uint32_t) level / 255)); + if (level == 0) { + // Turn backlight off + pwmDisableChannel(&PWMD4, 3); + } else { + // Turn backlight on + pwmEnableChannel(&PWMD4, 3, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_left_led_duty)); + } +} + +void planck_ez_left_led_on(void){ + pwmEnableChannel(&PWMD4, 3, PWM_FRACTION_TO_WIDTH(&PWMD4,0xFFFF,planck_ez_left_led_duty)); +} + +void planck_ez_left_led_off(void){ + pwmDisableChannel(&PWMD4, 3); +} + + +void led_initialize_hardware(void) { + pwmStart(&PWMD4, &pwmCFG); + + // set up defaults + planck_ez_right_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); + palSetPadMode(GPIOB, 8, PAL_MODE_ALTERNATE(2)); + planck_ez_left_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); + palSetPadMode(GPIOB, 9, PAL_MODE_ALTERNATE(2)); + + + // turn LEDs off by default + planck_ez_left_led_off(); + planck_ez_right_led_off(); +} + +void keyboard_pre_init_kb(void) { + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + // read kb settings from eeprom + keyboard_config.raw = eeconfig_read_kb(); +#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) + if (keyboard_config.rgb_matrix_enable) { + rgb_matrix_set_flags(LED_FLAG_ALL); + } else { + rgb_matrix_set_flags(LED_FLAG_NONE); + } +#endif + led_initialize_hardware(); + keyboard_pre_init_user(); +} + +#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) +void keyboard_post_init_kb(void) { + rgb_matrix_enable_noeeprom(); + keyboard_post_init_user(); +} +#endif + +void eeconfig_init_kb(void) { // EEPROM is getting reset! + keyboard_config.raw = 0; + keyboard_config.rgb_matrix_enable = true; + keyboard_config.led_level = 4; + eeconfig_update_kb(keyboard_config.raw); + eeconfig_init_user(); +} + + +#ifdef ORYX_CONFIGURATOR + +#ifndef PLANCK_EZ_USER_LEDS + +#ifndef PLANCK_EZ_LED_LOWER +# define PLANCK_EZ_LED_LOWER 1 +#endif +#ifndef PLANCK_EZ_LED_RAISE +# define PLANCK_EZ_LED_RAISE 2 +#endif +#ifndef PLANCK_EZ_LED_ADJUST +# define PLANCK_EZ_LED_ADJUST 3 +#endif + +layer_state_t layer_state_set_kb(layer_state_t state) { + planck_ez_left_led_off(); + planck_ez_right_led_off(); + state = layer_state_set_user(state); + uint8_t layer = get_highest_layer(state); + switch (layer) { + case PLANCK_EZ_LED_LOWER: + planck_ez_left_led_on(); + break; + case PLANCK_EZ_LED_RAISE: + planck_ez_right_led_on(); + break; + case PLANCK_EZ_LED_ADJUST: + planck_ez_right_led_on(); + planck_ez_left_led_on(); + break; + default: + break; + } + return state; +} +#endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_LEVEL: + if (record->event.pressed) { + keyboard_config.led_level++; + if (keyboard_config.led_level > 4) { + keyboard_config.led_level = 0; + } + planck_ez_right_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); + planck_ez_left_led_level((uint8_t)keyboard_config.led_level * 255 / 4 ); + eeconfig_update_kb(keyboard_config.raw); + layer_state_set_kb(layer_state); + } + break; +#ifdef RGB_MATRIX_ENABLE + case TOGGLE_LAYER_COLOR: + if (record->event.pressed) { + keyboard_config.disable_layer_led ^= 1; + if (keyboard_config.disable_layer_led) + rgb_matrix_set_color_all(0, 0, 0); + eeconfig_update_kb(keyboard_config.raw); + } + break; + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } + break; + } + eeconfig_update_kb(keyboard_config.raw); + } + return false; +#endif + } + return process_record_user(keycode, record); +} +#endif + +#ifdef AUDIO_ENABLE +bool music_mask_kb(uint16_t keycode) { + switch (keycode) { + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + case QK_TO ... QK_TO_MAX: + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: + case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case AU_ON ... AU_PREV: + case QK_BOOT: + case QK_CLEAR_EEPROM: + case QK_TRI_LAYER_LOWER: + case QK_TRI_LAYER_UPPER: + return false; + default: + return music_mask_user(keycode); + } +} +#endif + +#ifdef SWAP_HANDS_ENABLE +__attribute__ ((weak)) +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, + {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, + {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, + {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, + + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, + {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, + {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, + {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, +}; + +# ifdef ENCODER_MAP_ENABLE +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0}; +# endif +#endif + +const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = { + {36, 37, 38, 39, 40, 41}, + {24, 25, 26, 27, 28, 29}, + {12, 13, 14, 15, 16, 17}, + { 0, 1, 2, 10, 11, 6}, + {42, 43, 44, 45, 46, 47}, + {30, 31, 32, 33, 34, 35}, + {18, 19, 20, 21, 22, 23}, + { 7, 8, 9, 3, 4, 5} +}; diff --git a/keyboards/zsa/planck_ez/planck_ez.h b/keyboards/zsa/planck_ez/planck_ez.h new file mode 100644 index 0000000000..695b14d9ad --- /dev/null +++ b/keyboards/zsa/planck_ez/planck_ez.h @@ -0,0 +1,47 @@ +/* Copyright 2018 Jack Humbert + * Copyright 2015 ZSA Technology Labs Inc (@zsa) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 + +#include "quantum.h" + +void planck_ez_right_led_on(void); +void planck_ez_right_led_off(void); +void planck_ez_right_led_level(uint8_t level); +void planck_ez_left_led_on(void); +void planck_ez_left_led_off(void); +void planck_ez_left_led_level(uint8_t level); + +enum planck_ez_keycodes { + LED_LEVEL = QK_KB_0, + TOGGLE_LAYER_COLOR, +}; + +#ifndef WEBUSB_ENABLE +# define WEBUSB_PAIR KC_NO +#endif + +typedef union { + uint32_t raw; + struct { + uint8_t led_level :3; + bool disable_layer_led :1; + bool rgb_matrix_enable :1; + }; +} keyboard_config_t; + +extern keyboard_config_t keyboard_config; diff --git a/keyboards/zsa/planck_ez/readme.md b/keyboards/zsa/planck_ez/readme.md new file mode 100644 index 0000000000..d76a01cb25 --- /dev/null +++ b/keyboards/zsa/planck_ez/readme.md @@ -0,0 +1,64 @@ +# Planck EZ + +![Planck EZ](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/planck/ez/neat-planck-banner.png) + +A variant of the Planck featuring a 2u spacebar and per-key RGB backlighting. + +Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert), [Drashna Jael're](https://github.com/drashna) +Hardware Supported: Planck EZ +Hardware Availability: [ZSA](https://www.zsa.io/planck/) (discontinued) + +Make example for this keyboard (after setting up your build environment): + + make zsa/planck_ez/base:default + +For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example: + + make zsa/planck_ez/glow:default + +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 our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Planck EZ Configuration (from Oryx) + +To enable the features from Oryx (ZSA's Configurator), either compile the the `oryx` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file. + +This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR`, and `LED_LEVEL` keycodes. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. The `LED_LEVEL` cycles through the brightness levels for the front "teeth" LEDs. + +### Indicator LEDs + +The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage) + +Alternatively, you can set the brightness by calling the following functions: + +```c +void planck_ez_right_led_level(uint8_t level); +void planck_ez_left_led_level(uint8_t level); +``` + +These settings are not persistent, so you'd need to reset it every time the board starts. + +These are on a 0-255 scale + +#### Layer indication + +By default, the indicator lights are used for layer indication, expecting the specific layers used in the default keymap. However, this may not work for you. And if that is the case, you can add `#define PLANCK_EZ_USER_LEDS` to your `config.h` file. + +This will remove the default behavior for changing the LEDs based on layer, and allow you to control them manually. + +Alternatively, you can use the following defines in your keymap's `config.h` to control which layers are used, as long as you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h` file, as well. + +```c +#define PLANCK_EZ_LED_LOWER 3 +#define PLANCK_EZ_LED_RAISE 4 +#define PLANCK_EZ_LED_ADJUST 6 +``` + +This will allow you to change the layers that are used, without having to add anything code to your `keymap.c` + +### RGB Matrix Features + +If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. + +This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. + +Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. diff --git a/keyboards/zsa/planck_ez/rules.mk b/keyboards/zsa/planck_ez/rules.mk new file mode 100644 index 0000000000..67921c96ed --- /dev/null +++ b/keyboards/zsa/planck_ez/rules.mk @@ -0,0 +1,4 @@ +RGBLIGHT_SUPPORTED = no +BAKCLIGHT_SUPPORTED = no + +DEFAULT_FOLDER = zsa/planck_ez/base -- cgit v1.2.3