diff options
Diffstat (limited to 'keyboards/ymdk/melody96/soldered')
17 files changed, 1548 insertions, 0 deletions
diff --git a/keyboards/ymdk/melody96/soldered/config.h b/keyboards/ymdk/melody96/soldered/config.h new file mode 100644 index 0000000000..5f36081323 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/config.h @@ -0,0 +1,7 @@ +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/ymdk/melody96/soldered/info.json b/keyboards/ymdk/melody96/soldered/info.json new file mode 100644 index 0000000000..f941c65970 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/info.json @@ -0,0 +1,1039 @@ +{ + "keyboard_name": "Melody96 Soldered", + "manufacturer": "YMDK", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0x594D", + "pid": "0x4D96", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], + "rows": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "F6", "F7"] + }, + "diode_direction": "ROW2COL", + "backlight": { + "pin": "B6", + "levels": 5 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "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": "E2" + }, + "indicators": { + "caps_lock": "C7", + "num_lock": "C6", + "scroll_lock": "B5", + "on_state": 0 + }, + "bootmagic": { + "matrix": [5, 0] + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": ["96_ansi", "96_iso"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 3], "x": 13, "y": 1}, + {"matrix": [10, 6], "x": 14, "y": 1}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [9, 0], "x": 18, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + {"matrix": [8, 0], "x": 18, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 4}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [7, 0], "x": 18, "y": 4}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5}, + {"matrix": [6, 0], "x": 18, "y": 5} + ] + }, + "LAYOUT_96_ansi": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_ansi_splitbs": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 3], "x": 13, "y": 1}, + {"matrix": [10, 6], "x": 14, "y": 1}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [8, 4], "x": 12.75, "y": 3}, + {"matrix": [9, 3], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 4}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso_splitbs": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 3], "x": 13, "y": 1}, + {"matrix": [10, 6], "x": 14, "y": 1}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [8, 4], "x": 12.75, "y": 3}, + {"matrix": [9, 3], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 4}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_with60": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [0, 7], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [0, 4], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [0, 3], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [6, 2], "x": 15, "y": 5, "w": 2}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_with60_splitbs": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 3], "x": 13, "y": 1}, + {"matrix": [10, 6], "x": 14, "y": 1}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [0, 7], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [0, 4], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [0, 3], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [6, 2], "x": 15, "y": 5, "w": 2}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_with60_split_num0": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [0, 7], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [0, 4], "x": 12.5, "y": 5, "w": 1.25}, + {"matrix": [0, 3], "x": 13.75, "y": 5, "w": 1.25}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + }, + "LAYOUT_hotswap": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] + } + } +} diff --git a/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c new file mode 100644 index 0000000000..e5eff6ee9d --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/crilith/keymap.c @@ -0,0 +1,38 @@ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + DYNAMIC_MACRO_RANGE, +}; + +#include "dynamic_macro.h" + +#define KC_REC DM_REC1 +#define KC_DONE DM_RSTP +#define KC_PLAY DM_PLY1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + 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_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + 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_BSLS, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TT(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + + LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_TAB, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TAB, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_PLAY, _______, KC_REC, KC_DONE, _______, _______, _______, _______, _______, _______), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/ymdk/melody96/soldered/keymaps/default/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/default/keymap.c new file mode 100644 index 0000000000..cc5a7cc0e5 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +#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_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + 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_BSLS, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ymdk/melody96/soldered/keymaps/default_96_with60_split_num0/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/default_96_with60_split_num0/keymap.c new file mode 100644 index 0000000000..6e4af827d6 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/default_96_with60_split_num0/keymap.c @@ -0,0 +1,36 @@ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_P00 = SAFE_RANGE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_96_with60_split_num0( + 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_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT + ), + [1] = LAYOUT_96_with60_split_num0( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_P00: + if (record->event.pressed) { + tap_code(KC_P0); + tap_code(KC_P0); + } + return false; + } + return true; +} diff --git a/keyboards/ymdk/melody96/soldered/keymaps/dvz/config.h b/keyboards/ymdk/melody96/soldered/keymaps/dvz/config.h new file mode 100644 index 0000000000..380e11a3a1 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/dvz/config.h @@ -0,0 +1,36 @@ + /* Copyright 2021 Milan Düwel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define COMBO_TERM 100 + +//#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE + +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYER_BLINK + +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_TWINKLE + +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST diff --git a/keyboards/ymdk/melody96/soldered/keymaps/dvz/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/dvz/keymap.c new file mode 100644 index 0000000000..20d4d1e510 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/dvz/keymap.c @@ -0,0 +1,161 @@ + /* Copyright 2021 Milan Düwel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + + /* This keymap is designed for use with a German keyboard layout. + * It is essentially the same as the default via keymap but adds combo functionality to type umlauts as well as lighting layers for various actions. + * Toggling the combo feature also disables KC_LGUI so both can be turned off for gaming. If you want to get rid of it without reflashing new firmware, use KC_RGUI instead. + * Layers 2 and 3 are currently unused but are configurable within via. + */ + +enum combos { + UML_AE, + UML_OE, + UML_UE, + UML_SZ +}; + +const uint16_t PROGMEM ae_combo[] = {KC_A, KC_E, COMBO_END}; +const uint16_t PROGMEM oe_combo[] = {KC_O, KC_E, COMBO_END}; +const uint16_t PROGMEM ue_combo[] = {KC_U, KC_E, COMBO_END}; +const uint16_t PROGMEM sz_combo[] = {KC_S, KC_Y, COMBO_END}; + +combo_t key_combos[] = { + [UML_AE] = COMBO(ae_combo, KC_QUOT), + [UML_OE] = COMBO(oe_combo, KC_SCLN), + [UML_UE] = COMBO(ue_combo, KC_LBRC), + [UML_SZ] = COMBO(sz_combo, KC_MINS) +}; + +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_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + 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_BSLS, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + + [1] = LAYOUT( + QK_BOOT, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, + KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, + BL_TOGG, 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_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CM_TOGG, BL_TOGG, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_MUTE), + + [2] = LAYOUT( + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [3] = LAYOUT( + 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, 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; + +/* The lighting layers feature a caps indicator as well as layer blinks for mute and the function layer (blink only to allow unhindered adjustment of the RGB backlight settings). + Sadly these colours can not be customized within VIA. +*/ + +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_RED}, + {15, 17, HSV_RED} +); + +const rgblight_segment_t PROGMEM my_function_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {10, 12, HSV_YELLOW} +); + +const rgblight_segment_t PROGMEM my_f2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 17, HSV_CYAN} +); + +const rgblight_segment_t PROGMEM my_f3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 17, HSV_PURPLE} +); + +const rgblight_segment_t PROGMEM my_flash_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 17, HSV_RED} +); + +// Now define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer, + my_function_layer, // Overrides caps lock layer + my_f2_layer, + my_f3_layer, + my_flash_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +}; + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + //rgblight_set_layer_state(1, layer_state_cmp(state, 1)); + rgblight_set_layer_state(2, layer_state_cmp(state, 2)); + rgblight_set_layer_state(3, layer_state_cmp(state, 3)); + return state; +}; + +// Note we user post_process_record_user because we want the state +// after the flag has been flipped... +void post_process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_CAPS: + case KC_MUTE: + case QK_COMBO_TOGGLE: + if (record->event.pressed) { + rgblight_blink_layer(4, 250); + } + break; + case MO(1): + if (record->event.pressed) { + rgblight_blink_layer(1, 250); + } + break; + } +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LGUI: //use combo toggle to disable the win key while gaming + if (record->event.pressed) { + if (is_combo_enabled()==false) { + return false; + } + } + return true; // Let QMK send the enter press/release events + default: + return true; // Process all other keycodes normally + } +}; diff --git a/keyboards/ymdk/melody96/soldered/keymaps/dvz/readme.md b/keyboards/ymdk/melody96/soldered/keymaps/dvz/readme.md new file mode 100644 index 0000000000..d82055244e --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/dvz/readme.md @@ -0,0 +1,3 @@ +# DvZ's VIA compatible keymap with rolling umlauts for german typists + +Added by: [devilzmods](https://github.com/devilzmods) diff --git a/keyboards/ymdk/melody96/soldered/keymaps/dvz/rules.mk b/keyboards/ymdk/melody96/soldered/keymaps/dvz/rules.mk new file mode 100644 index 0000000000..a1e85f13f4 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/dvz/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes # reduce firmware size +COMBO_ENABLE = yes +#UNICODE_ENABLE = yes +BOOTLOADER = caterina diff --git a/keyboards/ymdk/melody96/soldered/keymaps/konstantin/config.h b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/config.h new file mode 100644 index 0000000000..4b511eb848 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/config.h @@ -0,0 +1,3 @@ +#pragma once + +#define LAYER_FN diff --git a/keyboards/ymdk/melody96/soldered/keymaps/konstantin/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/keymap.c new file mode 100644 index 0000000000..5dff7a249a --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/keymap.c @@ -0,0 +1,77 @@ +#include QMK_KEYBOARD_H +#include "konstantin.h" + +static const HSV *colors[] = { &godspeed_blue, &godspeed_yellow }; +static const size_t cnum = ARRAY_SIZE(colors); +static size_t cidx = 0; + +enum keycodes_keymap { + RGB_SET = RANGE_KEYMAP, +}; + +void eeconfig_init_keymap(void) { + rgblight_sethsv(colors[cidx]->h, colors[cidx]->s, colors[cidx]->v); +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_SET: + if (record->event.pressed) { + cidx = (cidx + 1) % cnum; + rgblight_sethsv(colors[cidx]->h, colors[cidx]->s, colors[cidx]->v); + } + break; + } + + return true; +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Ins│Hom│End│PgU│PgD│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Del│NLk│P/ │P* │P- │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │P7 │P8 │P9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤P+ │ + * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │P4 │P5 │P6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ + * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │P1 │P2 │P3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┤PEn│ + * │LCtl│LGui│LAlt│ Space │RAlGu│FnFLk│ ← │ ↓ │ → │P0 │P. │ │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘ + */ + [L_BASE] = 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_PSCR, KC_INS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + 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_BSLS, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_BSPC, KC_P7, KC_P8, KC_P9, XXXXXXX, + FN_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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, RAL_RGU, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSF_RCT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RAL_RGU, XXXXXXX, FN_FNLK, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + /* Fn layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │Sys│SLk│Pau│Brk│Top│Btm│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │RTg│ ÷ │ × │ − │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ + * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │UCM│ │Stp│Ply│Prv│Nxt│Clear│RH+│RS+│RV+│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤RSt│ + * │ │M← │M↓ │M→ │MW↑│ │ │ │ │ │ │ │ │RH-│RS-│RV-│ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ + * │ │ │MA0│MA2│MW←│MW→│ │ │App│Vo-│Vo+│Mut│ │PgU│RMR│RMS│RMB│ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┤RMP│ + * │ │DtPR│DtNA│ MW↓ │ │ │ │Hom│PgD│End│RM-│RM+│ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + [L_FN] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SYSRQ, KC_SCRL, KC_PAUS, BREAK, TOP, BOTTOM, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, DIVIDE, TIMES, MINUS, + KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, + _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SET, + _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, RGB_M_R, RGB_M_SN,RGB_M_B, XXXXXXX, + _______, DST_P_R, DST_N_A, KC_WH_D, _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END, RGB_RMOD,RGB_MOD, RGB_M_P + ), +}; diff --git a/keyboards/ymdk/melody96/soldered/keymaps/konstantin/rules.mk b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/rules.mk new file mode 100644 index 0000000000..b315c8e6b9 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/konstantin/rules.mk @@ -0,0 +1,19 @@ +# Generic features +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +COMMAND_ENABLE = yes +CONSOLE_ENABLE = yes +EXTRAKEY_ENABLE = yes +MOUSEKEY_ENABLE = yes +NKRO_ENABLE = yes +TAP_DANCE_ENABLE = yes +UNICODEMAP_ENABLE = yes + +# Keyboard-specific features +BACKLIGHT_ENABLE = no +RGBLIGHT_ENABLE = yes +VIA_ENABLE = yes + +# Firmware size reduction +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no +SPACE_CADET_ENABLE = no diff --git a/keyboards/ymdk/melody96/soldered/keymaps/via/keymap.c b/keyboards/ymdk/melody96/soldered/keymaps/via/keymap.c new file mode 100644 index 0000000000..897d86acb7 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +#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_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, + 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_BSLS, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/ymdk/melody96/soldered/keymaps/via/rules.mk b/keyboards/ymdk/melody96/soldered/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/ymdk/melody96/soldered/matrix_diagram.md b/keyboards/ymdk/melody96/soldered/matrix_diagram.md new file mode 100644 index 0000000000..af8ba0ec81 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/matrix_diagram.md @@ -0,0 +1,35 @@ +# Matrix Diagram for YMDK Melody96 Soldered + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ +│40 │41 │42 │43 │44 │45 │56 │47 │48 │A8 │A7 │A5 │A4 │A3 │A6 │A2 │A1 │A0 │64 │ │A6 │ 2u Backpsace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │84 │96 │92 │91 │90 │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐93 │ ISO Enter │80 │ Numpad "+" 2u +│20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │93 │86 │82 │81 │80 │ │84 │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │70 │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │60 │ Numpad Enter 2U +│00 │01 │02 │06 │08 │07 │05 │04 │03 │66 │62 │61 │60 │ Numpad 0 2u │62 │ │ │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───────┘ └───┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │74 │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│00 │01 │02 │06 │08 │07 │04 │03 │ 4x1.25u Right Mod +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐ +│00 │01 │06 │08 │07 │05 │04 │03 │ 2x1.5u Left Mod +└─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐ +│00 │01 │02 │06 │08 │05 │04 │03 │ Tsangan Left Mod, 2x1.5u-2x1u Right Mod +└─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│00 │01 │02 │06 │07 │04 │03 │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐ +│00 │01 │02 │06 │07 │05 │04 │03 │ 4x1u Right Mod +└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ +``` diff --git a/keyboards/ymdk/melody96/soldered/readme.md b/keyboards/ymdk/melody96/soldered/readme.md new file mode 100644 index 0000000000..8cd3889a6c --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/readme.md @@ -0,0 +1,19 @@ +# YMDK Melody96 Soldered + +![melody96](https://i.imgur.com/9o0a6XFh.png) + +96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96. + +* Keyboard Maintainer: [superuser41](https://github.com/kaylanm) +* Hardware Supported: Melody96 Soldered PCBs +* Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open) + +Make example for this keyboard (after setting up your build environment): + + make ymdk/melody96/soldered:default + +Flashing example for this keyboard: + + make ymdk/melody96/soldered: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). diff --git a/keyboards/ymdk/melody96/soldered/rules.mk b/keyboards/ymdk/melody96/soldered/rules.mk new file mode 100644 index 0000000000..3d5cb57ad5 --- /dev/null +++ b/keyboards/ymdk/melody96/soldered/rules.mk @@ -0,0 +1,12 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output |