191172aa4e03081ec36cc918a6ac7ffe289162d6

Author
Sắn <59417802+MaiTheSan@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

[Keyboard] Add NCR80 ALPS SKFL/FR (#24625)

* ADD NCR80 ALPS SKFL/FR

* fix

* Update config.h

* Update config.h

* Update keyboards/salane/ncr80alpsskfl/keyboard.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/salane/ncr80alpsskfl/keymaps/default/keymap.c

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/salane/ncr80alpsskfl/keymaps/default/keymap.c

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/salane/ncr80alpsskfl/keyboard.json

Co-authored-by: jack <jack@pngu.org>

* Update keyboards/salane/ncr80alpsskfl/readme.md

Co-authored-by: jack <jack@pngu.org>

---------

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <jack@pngu.org>

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/salane/ncr80alpsskfl/config.h b/keyboards/salane/ncr80alpsskfl/config.h
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..cc6fb298f4197a2f839054381140eb37c678f5c0
  4--- /dev/null
  5+++ b/keyboards/salane/ncr80alpsskfl/config.h
  6@@ -0,0 +1,17 @@
  7+/*
  8+Copyright 2024 Salane
  9+This program is free software: you can redistribute it and/or modify
 10+it under the terms of the GNU General Public License as published by
 11+the Free Software Foundation, either version 2 of the License, or
 12+(at your option) any later version.
 13+This program is distributed in the hope that it will be useful,
 14+but WITHOUT ANY WARRANTY; without even the implied warranty of
 15+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 16+GNU General Public License for more details.
 17+You should have received a copy of the GNU General Public License
 18+along with this program.  If not, see <http://www.gnu.org/licenses/>.
 19+*/
 20+
 21+#pragma once
 22+
 23+#define RP2040_FLASH_GENERIC_03H
 24diff --git a/keyboards/salane/ncr80alpsskfl/keyboard.json b/keyboards/salane/ncr80alpsskfl/keyboard.json
 25new file mode 100644
 26index 0000000000000000000000000000000000000000..512593d351e1c48043cb6b3df0ff59376cd22fe4
 27--- /dev/null
 28+++ b/keyboards/salane/ncr80alpsskfl/keyboard.json
 29@@ -0,0 +1,124 @@
 30+{
 31+    "keyboard_name": "NCR80 ALPS SKFL",
 32+    "manufacturer": "Salane",
 33+    "url": "",
 34+    "maintainer": "Mai The San",
 35+    "processor": "RP2040",
 36+    "bootloader": "rp2040",
 37+    "usb": {
 38+        "vid": "0x534C",
 39+        "pid": "0x087A",
 40+        "device_version": "0.0.1"
 41+    },
 42+    "matrix_pins": {
 43+        "rows": ["GP24", "GP9", "GP10", "GP13", "GP12", "GP11"],
 44+        "cols": ["GP16", "GP17", "GP18", "GP19", "GP20", "GP21", "GP22", "GP23", "GP25", "GP26", "GP27", "GP28", "GP29", "GP6", "GP5", "GP4", "GP3"]
 45+    },
 46+    "diode_direction": "COL2ROW",
 47+    "features": {
 48+        "bootmagic": true,
 49+        "mousekey": true,
 50+        "extrakey": true
 51+    },
 52+    "indicators": {
 53+        "num_lock": "GP0",
 54+        "caps_lock": "GP1",
 55+        "scroll_lock": "GP2"
 56+    },
 57+    "layouts": {
 58+        "LAYOUT_all": {
 59+            "layout": [
 60+                {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0},
 61+                {"label": "K01", "matrix": [0, 1], "x": 2, "y": 0},
 62+                {"label": "K02", "matrix": [0, 2], "x": 3, "y": 0},
 63+                {"label": "K03", "matrix": [0, 3], "x": 4, "y": 0},
 64+                {"label": "K04", "matrix": [0, 4], "x": 5, "y": 0},
 65+                {"label": "K05", "matrix": [0, 5], "x": 6.5, "y": 0},
 66+                {"label": "K06", "matrix": [0, 6], "x": 7.5, "y": 0},
 67+                {"label": "K07", "matrix": [0, 7], "x": 8.5, "y": 0},
 68+                {"label": "K08", "matrix": [0, 8], "x": 9.5, "y": 0},
 69+                {"label": "K09", "matrix": [0, 9], "x": 11, "y": 0},
 70+                {"label": "K0A", "matrix": [0, 10], "x": 12, "y": 0},
 71+                {"label": "K0B", "matrix": [0, 11], "x": 13, "y": 0},
 72+                {"label": "K0C", "matrix": [0, 12], "x": 14, "y": 0},
 73+
 74+                {"label": "K10", "matrix": [1, 0], "x": 0, "y": 2},
 75+                {"label": "K11", "matrix": [1, 1], "x": 1, "y": 2},
 76+                {"label": "K12", "matrix": [1, 2], "x": 2, "y": 2},
 77+                {"label": "K13", "matrix": [1, 3], "x": 3, "y": 2},
 78+                {"label": "K14", "matrix": [1, 4], "x": 4, "y": 2},
 79+                {"label": "K15", "matrix": [1, 5], "x": 5, "y": 2},
 80+                {"label": "K16", "matrix": [1, 6], "x": 6, "y": 2},
 81+                {"label": "K17", "matrix": [1, 7], "x": 7, "y": 2},
 82+                {"label": "K18", "matrix": [1, 8], "x": 8, "y": 2},
 83+                {"label": "K19", "matrix": [1, 9], "x": 9, "y": 2},
 84+                {"label": "K1A", "matrix": [1, 10], "x": 10, "y": 2},
 85+                {"label": "K1B", "matrix": [1, 11], "x": 11, "y": 2},
 86+                {"label": "K1C", "matrix": [1, 12], "x": 12, "y": 2},
 87+                {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 2},
 88+                {"label": "K1D", "matrix": [1, 13], "x": 14, "y": 2},
 89+                {"label": "K1E", "matrix": [1, 14], "x": 15.25, "y": 2},
 90+                {"label": "K1F", "matrix": [1, 15], "x": 16.25, "y": 2},
 91+                {"label": "K1G", "matrix": [1, 16], "x": 17.25, "y": 2},
 92+
 93+                {"label": "K20", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
 94+                {"label": "K21", "matrix": [2, 1], "x": 1.5, "y": 3},
 95+                {"label": "K22", "matrix": [2, 2], "x": 2.5, "y": 3},
 96+                {"label": "K23", "matrix": [2, 3], "x": 3.5, "y": 3},
 97+                {"label": "K24", "matrix": [2, 4], "x": 4.5, "y": 3},
 98+                {"label": "K25", "matrix": [2, 5], "x": 5.5, "y": 3},
 99+                {"label": "K26", "matrix": [2, 6], "x": 6.5, "y": 3},
100+                {"label": "K27", "matrix": [2, 7], "x": 7.5, "y": 3},
101+                {"label": "K28", "matrix": [2, 8], "x": 8.5, "y": 3},
102+                {"label": "K29", "matrix": [2, 9], "x": 9.5, "y": 3},
103+                {"label": "K2A", "matrix": [2, 10], "x": 10.5, "y": 3},
104+                {"label": "K2B", "matrix": [2, 11], "x": 11.5, "y": 3},
105+                {"label": "K2C", "matrix": [2, 12], "x": 12.5, "y": 3},
106+                {"label": "K2D", "matrix": [2, 13], "x": 13.5, "y": 3, "w": 1.5},
107+                {"label": "K2E", "matrix": [2, 14], "x": 15.25, "y": 3},
108+                {"label": "K2F", "matrix": [2, 15], "x": 16.25, "y": 3},
109+                {"label": "K2G", "matrix": [2, 16], "x": 17.25, "y": 3},
110+
111+                {"label": "K30", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
112+                {"label": "K31", "matrix": [3, 1], "x": 1.75, "y": 4},
113+                {"label": "K32", "matrix": [3, 2], "x": 2.75, "y": 4},
114+                {"label": "K33", "matrix": [3, 3], "x": 3.75, "y": 4},
115+                {"label": "K34", "matrix": [3, 4], "x": 4.75, "y": 4},
116+                {"label": "K35", "matrix": [3, 5], "x": 5.75, "y": 4},
117+                {"label": "K36", "matrix": [3, 6], "x": 6.75, "y": 4},
118+                {"label": "K37", "matrix": [3, 7], "x": 7.75, "y": 4},
119+                {"label": "K38", "matrix": [3, 8], "x": 8.75, "y": 4},
120+                {"label": "K39", "matrix": [3, 9], "x": 9.75, "y": 4},
121+                {"label": "K3A", "matrix": [3, 10], "x": 10.75, "y": 4},
122+                {"label": "K3B", "matrix": [3, 11], "x": 11.75, "y": 4},
123+                {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 4, "w": 2.25},
124+
125+                {"label": "K40", "matrix": [4, 0], "x": 0, "y": 5, "w": 2.25},
126+                {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 5},
127+                {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 5},
128+                {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 5},
129diff --git a/keyboards/salane/ncr80alpsskfl/keymaps/default/keymap.c b/keyboards/salane/ncr80alpsskfl/keymaps/default/keymap.c
130new file mode 100644
131index 0000000000000000000000000000000000000000..e0db926341715ffd946d6a4f2e4c7b6d383e39ad
132--- /dev/null
133+++ b/keyboards/salane/ncr80alpsskfl/keymaps/default/keymap.c
134@@ -0,0 +1,28 @@
135+/* Copyright 2023 SawnsProjects
136+ *
137+ * This program is free software: you can redistribute it and/or modify
138+ * it under the terms of the GNU General Public License as published by
139+ * the Free Software Foundation, either version 2 of the License, or
140+ * (at your option) any later version.
141+ *
142+ * This program is distributed in the hope that it will be useful,
143+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
144+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
145+ * GNU General Public License for more details.
146+ *
147+ * You should have received a copy of the GNU General Public License
148+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
149+ */
150+#include QMK_KEYBOARD_H
151+
152+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
153+    [0] = LAYOUT_all(
154+        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,
155+
156+        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_BSPC,     KC_INS,  KC_HOME, KC_PGUP,
157+        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,               KC_DEL,  KC_END,  KC_PGDN,
158+        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,
159+        KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_LSFT, KC_SLSH,                        KC_UP,
160+        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RGUI, KC_MENU, KC_RCTL,               KC_LEFT, KC_DOWN, KC_RGHT
161+        )
162+};
163diff --git a/keyboards/salane/ncr80alpsskfl/readme.md b/keyboards/salane/ncr80alpsskfl/readme.md
164new file mode 100644
165index 0000000000000000000000000000000000000000..a8e0c0725ac8abcce32e67b2820a7ff062380a4e
166--- /dev/null
167+++ b/keyboards/salane/ncr80alpsskfl/readme.md
168@@ -0,0 +1,29 @@
169+# NCR80 ALPS SKFL
170+
171+![NCR80 ALPS SKFL](https://i.imgur.com/X964J2P.jpeg)
172+
173+ PCB Replace for NCR80 with ALPS SKFL switch.
174+
175+ **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board.
176+
177+* Keyboard Maintainer: [Mai The San](https://github.com/MaiTheSan) 
178+* Hardware Supported: NCR80 
179+* Hardware Availability: [Github](https://github.com/MaiTheSan/NCR80-ALPS-SKFL)
180+
181+Make examples for this keyboard (after setting up your build environment):
182+
183+    make salane/ncr80alpsskfl:default
184+
185+Flashing example for this keyboard:
186+
187+    make salane/ncr80alpsskfl:default:flash
188+
189+## Bootloader
190+
191+Enter the bootloader in 3 ways:
192+
193+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
194+* **Physical reset button**: short 2 pin in the back of pcb and plug the usb in
195+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
196+