diff options
| author | QMK Bot <hello@qmk.fm> | 2023-02-08 04:43:26 +0000 |
|---|---|---|
| committer | QMK Bot <hello@qmk.fm> | 2023-02-08 04:43:26 +0000 |
| commit | 6dfaedb0d4671b033711f42de4ebf487bb7d85d2 (patch) | |
| tree | 4778ae6e5e21674619838f549ba11ae708781e0a | |
| parent | 650864c27d2477f3506912063c7d8adf5b4e6a28 (diff) | |
| parent | aa3b64db2bd8776f0b452bc3106c6ee663b3cce4 (diff) | |
Merge remote-tracking branch 'origin/master' into develop
| -rw-r--r-- | keyboards/lw75/config.h | 26 | ||||
| -rw-r--r-- | keyboards/lw75/info.json | 30 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/ansi_split_backspace/keymap.c | 16 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/default/keymap.c | 15 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/iso/keymap.c | 16 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/iso_split_backspace/keymap.c | 17 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/via/keymap.c | 47 | ||||
| -rw-r--r-- | keyboards/lw75/keymaps/via/rules.mk | 2 | ||||
| -rw-r--r-- | keyboards/lw75/lw75.c | 19 | ||||
| -rw-r--r-- | keyboards/lw75/lw75.h | 138 | ||||
| -rw-r--r-- | keyboards/lw75/readme.md | 25 | ||||
| -rw-r--r-- | keyboards/lw75/rules.mk | 13 |
12 files changed, 364 insertions, 0 deletions
diff --git a/keyboards/lw75/config.h b/keyboards/lw75/config.h new file mode 100644 index 0000000000..eb2d9efc26 --- /dev/null +++ b/keyboards/lw75/config.h | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include "config_common.h" | ||
| 7 | |||
| 8 | /* key matrix pins */ | ||
| 9 | #define MATRIX_ROW_PINS { E6, B7, D0, D1, D2, B1 } | ||
| 10 | #define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, B0, B2 } | ||
| 11 | |||
| 12 | /*ENCODER*/ | ||
| 13 | #define ENCODERS_PAD_A { F0 } | ||
| 14 | #define ENCODERS_PAD_B { F1 } | ||
| 15 | |||
| 16 | /* COL2ROW or ROW2COL */ | ||
| 17 | #define DIODE_DIRECTION COL2ROW | ||
| 18 | |||
| 19 | /* Set 0 if debouncing isn't needed */ | ||
| 20 | #define DEBOUNCE 5 | ||
| 21 | |||
| 22 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 23 | #define LOCKING_SUPPORT_ENABLE | ||
| 24 | |||
| 25 | /* Locking resynchronize hack */ | ||
| 26 | #define LOCKING_RESYNC_ENABLE | ||
diff --git a/keyboards/lw75/info.json b/keyboards/lw75/info.json new file mode 100644 index 0000000000..ef55732d23 --- /dev/null +++ b/keyboards/lw75/info.json | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "LW-75", | ||
| 3 | "manufacturer": "Laneware Peripherals", | ||
| 4 | "url": "", | ||
| 5 | "maintainer": "qmk", | ||
| 6 | "usb": { | ||
| 7 | "vid": "0x4C50", | ||
| 8 | "pid": "0x1111", | ||
| 9 | "device_version": "0.0.1" | ||
| 10 | }, | ||
| 11 | "processor": "atmega32u4", | ||
| 12 | "bootloader": "atmel-dfu", | ||
| 13 | "layouts":{ | ||
| 14 | "LAYOUT_ansi":{ | ||
| 15 | "layout": [{"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":6.75, "y":0}, {"label":"F6", "x":7.75, "y":0}, {"label":"F7", "x":8.75, "y":0}, {"label":"F8", "x":9.75, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"F13", "x":15.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":15.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"PgDn", "x":15.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Insert", "x":15.5, "y":4.25}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25}, {"label":"Win", "x":11, "y":5.25}, {"label":"Ctrl", "x":12, "y":5.25}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}] | ||
| 16 | }, | ||
| 17 | |||
| 18 | "LAYOUT_ansi_splitbs": { | ||
| 19 | "layout": [{"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":6.75, "y":0}, {"label":"F6", "x":7.75, "y":0}, {"label":"F7", "x":8.75, "y":0}, {"label":"F8", "x":9.75, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"F13", "x":15.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25}, {"label":"Fn", "x":14, "y":1.25}, {"label":"Delete", "x":15.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"PgUp", "x":15.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"PgDn", "x":15.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Insert", "x":15.5, "y":4.25}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25}, {"label":"Win", "x":11, "y":5.25}, {"label":"Ctrl", "x":12, "y":5.25}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}] | ||
| 20 | }, | ||
| 21 | |||
| 22 | "LAYOUT_iso": { | ||
| 23 | "layout": [{"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":6.75, "y":0}, {"label":"F6", "x":7.75, "y":0}, {"label":"F7", "x":8.75, "y":0}, {"label":"F8", "x":9.75, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"F13", "x":15.5, "y":0}, {"label":"\u00ac", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"\"", "x":2, "y":1.25}, {"label":"\u00a3", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":15.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"PgUp", "x":15.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"@", "x":11.75, "y":3.25}, {"label":"~", "x":12.75, "y":3.25}, {"label":"PgDn", "x":15.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Insert", "x":15.5, "y":4.25}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"AltGr", "x":10, "y":5.25}, {"label":"Win", "x":11, "y":5.25}, {"label":"Ctrl", "x":12, "y":5.25}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}] | ||
| 24 | }, | ||
| 25 | |||
| 26 | "LAYOUT_iso_splitbs": { | ||
| 27 | "layout": [{"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":6.75, "y":0}, {"label":"F6", "x":7.75, "y":0}, {"label":"F7", "x":8.75, "y":0}, {"label":"F8", "x":9.75, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"F13", "x":15.5, "y":0}, {"label":"\u00ac", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"\"", "x":2, "y":1.25}, {"label":"\u00a3", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25}, {"label":"Fn", "x":14, "y":1.25}, {"label":"Delete", "x":15.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"PgUp", "x":15.5, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"@", "x":11.75, "y":3.25}, {"label":"~", "x":12.75, "y":3.25}, {"label":"PgDn", "x":15.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"Insert", "x":15.5, "y":4.25}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"AltGr", "x":10, "y":5.25}, {"label":"Win", "x":11, "y":5.25}, {"label":"Ctrl", "x":12, "y":5.25}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}] | ||
| 28 | } | ||
| 29 | } | ||
| 30 | } | ||
diff --git a/keyboards/lw75/keymaps/ansi_split_backspace/keymap.c b/keyboards/lw75/keymaps/ansi_split_backspace/keymap.c new file mode 100644 index 0000000000..6f8a8b03ca --- /dev/null +++ b/keyboards/lw75/keymaps/ansi_split_backspace/keymap.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | |||
| 8 | [0] = LAYOUT_ansi_splitbs( | ||
| 9 | KC_MUTE, 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_F13, | ||
| 10 | 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_MPLY, KC_DEL, | ||
| 11 | 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, | ||
| 12 | 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_PGUP, | ||
| 13 | 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_PGDN, | ||
| 14 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) | ||
| 15 | }; | ||
| 16 | |||
diff --git a/keyboards/lw75/keymaps/default/keymap.c b/keyboards/lw75/keymaps/default/keymap.c new file mode 100644 index 0000000000..b66e50460d --- /dev/null +++ b/keyboards/lw75/keymaps/default/keymap.c | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | |||
| 8 | [0] = LAYOUT_ansi( | ||
| 9 | KC_MUTE, 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_F13, | ||
| 10 | 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, | ||
| 11 | 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, | ||
| 12 | 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_PGUP, | ||
| 13 | 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_PGDN, | ||
| 14 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) | ||
| 15 | }; | ||
diff --git a/keyboards/lw75/keymaps/iso/keymap.c b/keyboards/lw75/keymaps/iso/keymap.c new file mode 100644 index 0000000000..b6cba59175 --- /dev/null +++ b/keyboards/lw75/keymaps/iso/keymap.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | |||
| 8 | [0] = LAYOUT_iso( | ||
| 9 | KC_MUTE, 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_F13, | ||
| 10 | 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, | ||
| 11 | 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_INS, | ||
| 12 | 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_PGUP, | ||
| 13 | KC_LSFT, KC_BSLS, 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_PGDN, | ||
| 14 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) | ||
| 15 | }; | ||
| 16 | |||
diff --git a/keyboards/lw75/keymaps/iso_split_backspace/keymap.c b/keyboards/lw75/keymaps/iso_split_backspace/keymap.c new file mode 100644 index 0000000000..d8b3b551ef --- /dev/null +++ b/keyboards/lw75/keymaps/iso_split_backspace/keymap.c | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | |||
| 8 | [0] = LAYOUT_iso_splitbs( | ||
| 9 | KC_MUTE, 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_F13, | ||
| 10 | 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_MPLY, KC_DEL, | ||
| 11 | 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_INS, | ||
| 12 | 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_PGUP, | ||
| 13 | KC_LSFT, KC_BSLS, 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_PGDN, | ||
| 14 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) | ||
| 15 | }; | ||
| 16 | |||
| 17 | |||
diff --git a/keyboards/lw75/keymaps/via/keymap.c b/keyboards/lw75/keymaps/via/keymap.c new file mode 100644 index 0000000000..1fa513d12f --- /dev/null +++ b/keyboards/lw75/keymaps/via/keymap.c | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | |||
| 8 | [0] = LAYOUT_iso_splitbs( | ||
| 9 | KC_MUTE, 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_F13, | ||
| 10 | 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_MPLY, KC_DEL, | ||
| 11 | 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_INS, | ||
| 12 | 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_PGUP, | ||
| 13 | KC_LSFT, KC_BSLS, 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_PGDN, | ||
| 14 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), | ||
| 15 | |||
| 16 | [1] = LAYOUT_iso_splitbs( | ||
| 17 | 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, | ||
| 18 | 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, | ||
| 19 | 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, | ||
| 20 | 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, | ||
| 21 | 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, | ||
| 22 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 23 | |||
| 24 | [2] = LAYOUT_iso_splitbs( | ||
| 25 | 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, | ||
| 26 | 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, | ||
| 27 | 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, | ||
| 28 | 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, | ||
| 29 | 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, | ||
| 30 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 31 | |||
| 32 | [3] = LAYOUT_iso_splitbs( | ||
| 33 | 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, | ||
| 34 | 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, | ||
| 35 | 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, | ||
| 36 | 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, | ||
| 37 | 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, | ||
| 38 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),}; | ||
| 39 | |||
| 40 | #if defined(ENCODER_MAP_ENABLE) | ||
| 41 | const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { | ||
| 42 | [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, | ||
| 43 | [1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, | ||
| 44 | [2] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, | ||
| 45 | [3] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, | ||
| 46 | }; | ||
| 47 | #endif | ||
diff --git a/keyboards/lw75/keymaps/via/rules.mk b/keyboards/lw75/keymaps/via/rules.mk new file mode 100644 index 0000000000..f1adcab005 --- /dev/null +++ b/keyboards/lw75/keymaps/via/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | VIA_ENABLE = yes | ||
| 2 | ENCODER_MAP_ENABLE = yes | ||
diff --git a/keyboards/lw75/lw75.c b/keyboards/lw75/lw75.c new file mode 100644 index 0000000000..110a26ce1a --- /dev/null +++ b/keyboards/lw75/lw75.c | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include "lw75.h" | ||
| 5 | |||
| 6 | #ifdef ENCODER_ENABLE | ||
| 7 | bool encoder_update_kb(uint8_t index, bool clockwise) { | ||
| 8 | if (!encoder_update_user(index, clockwise)) return false; | ||
| 9 | if (index == 0) { /* First encoder */ | ||
| 10 | if (clockwise) { | ||
| 11 | tap_code(KC_VOLU); | ||
| 12 | } else { | ||
| 13 | tap_code(KC_VOLD); | ||
| 14 | } | ||
| 15 | } | ||
| 16 | return true; | ||
| 17 | } | ||
| 18 | #endif | ||
| 19 | |||
diff --git a/keyboards/lw75/lw75.h b/keyboards/lw75/lw75.h new file mode 100644 index 0000000000..cfbaf81467 --- /dev/null +++ b/keyboards/lw75/lw75.h | |||
| @@ -0,0 +1,138 @@ | |||
| 1 | // Copyright 2023 Laneware Peripherals | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include "quantum.h" | ||
| 7 | |||
| 8 | /* ┌───┐┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐ | ||
| 9 | * │000││001││002│003│004│005││006│007│008│009││010│011│012│013│ │014│ | ||
| 10 | * └───┘└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘ | ||
| 11 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┐ | ||
| 12 | * │100│101│102│103│104│105│106│107│108│109│110│111│112│ 113 │ │115│ | ||
| 13 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤ | ||
| 14 | * │ 200 │201│202│203│204│205│206│207│208│209│210│211│212│ 213 │ │214│ | ||
| 15 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ | ||
| 16 | * │ 300 │301│302│303│304│305│306│307│308│309│310│311│ 313 │ │314│ | ||
| 17 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤ | ||
| 18 | * │ 400 │402│403│404│405│406│407│408│409│410│411│ 412 │┌───┐│414│ | ||
| 19 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│413│└───┘ | ||
| 20 | * │ 500│ 501│ 502│ 503 │504│505│506│┌───┼───┼───┐ | ||
| 21 | * └────┴────┴────┴────────────────────────┴───┴───┴───┘│507│508│509│ | ||
| 22 | * └───┴───┴───┘ | ||
| 23 | */ | ||
| 24 | |||
| 25 | #define LAYOUT_ansi( \ | ||
| 26 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||
| 27 | K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \ | ||
| 28 | K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ | ||
| 29 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ | ||
| 30 | K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||
| 31 | K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 \ | ||
| 32 | ) { \ | ||
| 33 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014}, \ | ||
| 34 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO, K115 }, \ | ||
| 35 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214}, \ | ||
| 36 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314}, \ | ||
| 37 | { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414}, \ | ||
| 38 | { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509} \ | ||
| 39 | } | ||
| 40 | |||
| 41 | /* ┌───┐┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐ | ||
| 42 | * │000││001││002│003│004│005││006│007│008│009││010│011│012│013│ │014│ | ||
| 43 | * └───┘└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘ | ||
| 44 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ | ||
| 45 | * │100│101│102│103│104│105│106│107│108│109│110│111│112│113│114│ │115│ | ||
| 46 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ | ||
| 47 | * │ 200 │201│202│203│204│205│206│207│208│209│210│211│212│ 213 │ │214│ | ||
| 48 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ | ||
| 49 | * │ 300 │301│302│303│304│305│306│307│308│309│310│311│ 313 │ │314│ | ||
| 50 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤ | ||
| 51 | * │ 400 │402│403│404│405│406│407│408│409│410│411│ 412 │┌───┐│414│ | ||
| 52 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│413│└───┘ | ||
| 53 | * │ 500│ 501│ 502│ 503 │504│505│506│┌───┼───┼───┐ | ||
| 54 | * └────┴────┴────┴────────────────────────┴───┴───┴───┘│507│508│509│ | ||
| 55 | * └───┴───┴───┘ | ||
| 56 | */ | ||
| 57 | |||
| 58 | #define LAYOUT_ansi_splitbs( \ | ||
| 59 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||
| 60 | K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ | ||
| 61 | K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ | ||
| 62 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ | ||
| 63 | K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||
| 64 | K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 \ | ||
| 65 | ) { \ | ||
| 66 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014}, \ | ||
| 67 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ | ||
| 68 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214}, \ | ||
| 69 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314}, \ | ||
| 70 | { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414}, \ | ||
| 71 | { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509} \ | ||
| 72 | } | ||
| 73 | |||
| 74 | /* ┌───┐┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐ | ||
| 75 | * │000││001││002│003│004│005││006│007│008│009││010│011│012│013│ │014│ | ||
| 76 | * └───┘└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘ | ||
| 77 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┐ | ||
| 78 | * │100│101│102│103│104│105│106│107│108│109│110│111│112│ 113 │ │115│ | ||
| 79 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┤ | ||
| 80 | * │ 200 │201│202│203│204│205│206│207│208│209│210│211│212│ 313 │ │214│ | ||
| 81 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ ├───┤ | ||
| 82 | * │ 300 │301│302│303│304│305│306│307│308│309│310│311│312│ │ │314│ | ||
| 83 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┘ ├───┤ | ||
| 84 | * │ 400│401│402│403│404│405│406│407│408│409│410│411│ 412 │┌───┐│414│ | ||
| 85 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│413│└───┘ | ||
| 86 | * │ 500│ 501│ 502│ 503 │504│505│506│┌───┼───┼───┐ | ||
| 87 | * └────┴────┴────┴────────────────────────┴───┴───┴───┘│507│508│509│ | ||
| 88 | * └───┴───┴───┘ | ||
| 89 | */ | ||
| 90 | |||
| 91 | #define LAYOUT_iso( \ | ||
| 92 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||
| 93 | K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \ | ||
| 94 | K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214,\ | ||
| 95 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ | ||
| 96 | K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||
| 97 | K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 \ | ||
| 98 | ) { \ | ||
| 99 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014}, \ | ||
| 100 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO, K115 }, \ | ||
| 101 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214}, \ | ||
| 102 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314}, \ | ||
| 103 | { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414}, \ | ||
| 104 | { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509} \ | ||
| 105 | } | ||
| 106 | |||
| 107 | /* ┌───┐┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐ | ||
| 108 | * │000││001││002│003│004│005││006│007│008│009││010│011│012│013│ │014│ | ||
| 109 | * └───┘└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘ | ||
| 110 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ | ||
| 111 | * │100│101│102│103│104│105│106│107│108│109│110│111│112│113│114│ │115│ | ||
| 112 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ | ||
| 113 | * │ 200 │201│202│203│204│205│206│207│208│209│210│211│212│ 313 │ │214│ | ||
| 114 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ ├───┤ | ||
| 115 | * │ 300 │301│302│303│304│305│306│307│308│309│310│311│312│ │ │314│ | ||
| 116 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┘ ├───┤ | ||
| 117 | * │ 400│401│402│403│404│405│406│407│408│409│410│411│ 412 │┌───┐│414│ | ||
| 118 | * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│413│└───┘ | ||
| 119 | * │ 500│ 501│ 502│ 503 │504│505│506│┌───┼───┼───┐ | ||
| 120 | * └────┴────┴────┴────────────────────────┴───┴───┴───┘│507│508│509│ | ||
| 121 | * └───┴───┴───┘ | ||
| 122 | */ | ||
| 123 | |||
| 124 | #define LAYOUT_iso_splitbs( \ | ||
| 125 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||
| 126 | K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ | ||
| 127 | K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214,\ | ||
| 128 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ | ||
| 129 | K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||
| 130 | K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 \ | ||
| 131 | ) { \ | ||
| 132 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014}, \ | ||
| 133 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ | ||
| 134 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214}, \ | ||
| 135 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314}, \ | ||
| 136 | { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414}, \ | ||
| 137 | { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509} \ | ||
| 138 | } | ||
diff --git a/keyboards/lw75/readme.md b/keyboards/lw75/readme.md new file mode 100644 index 0000000000..9f64108fa5 --- /dev/null +++ b/keyboards/lw75/readme.md | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | # LW-75 | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | A 75% Keyboard with a LHS rotary encoder, made and sold by Laneware Peripherals. | ||
| 6 | |||
| 7 | * Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware) | ||
| 8 | * Hardware Supported: LW-75 | ||
| 9 | * Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/), | ||
| 10 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make lw75:default | ||
| 14 | |||
| 15 | Flashing example for this keyboard: | ||
| 16 | make lw75:default:flash | ||
| 17 | |||
| 18 | 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). | ||
| 19 | |||
| 20 | ## Bootloader | ||
| 21 | |||
| 22 | Enter the bootloader in 2 ways: | ||
| 23 | |||
| 24 | * **Bootmagic reset**: Hold down the encoder and plug in the keyboard | ||
| 25 | * **Physical reset button**: Briefly press the button on the back of the PCB | ||
diff --git a/keyboards/lw75/rules.mk b/keyboards/lw75/rules.mk new file mode 100644 index 0000000000..131aa72aeb --- /dev/null +++ b/keyboards/lw75/rules.mk | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | # Build Options | ||
| 2 | # change yes to no to disable | ||
| 3 | # | ||
| 4 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
| 5 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 6 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 7 | CONSOLE_ENABLE = no # Console for debug | ||
| 8 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 9 | NKRO_ENABLE = yes # Enable N-Key Rollover | ||
| 10 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 11 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 12 | AUDIO_ENABLE = no # Audio output | ||
| 13 | ENCODER_ENABLE = yes | ||
