cb9b81cc103f801febd67dcaf0c86322a2bfddc8

Author
sh-xguitar <ibanez_shine@yahoo.com>
Committer
GitHub <noreply@github.com>
Date

Message

[Keyboard] added ASH-XIIX keyboard (#9833)

* Create readme.md

* Update readme.md

* Update readme.md

* Create ash_xiix.c

* Create ash_xiix.h

* Create info.json

* Create config.h

* Create rules.mk

* Create keymap.c

* Update keyboards/ash_xiix/rules.mk

* Update keyboards/ash_xiix/config.h

* Update keyboards/ash_xiix/config.h

* Update keyboards/ash_xiix/config.h

* Update keyboards/ash_xiix/info.json

* Update keyboards/ash_xiix/info.json

* Update keyboards/ash_xiix/readme.md

* Update readme.md

* Update readme.md

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/ash_xiix/ash_xiix.c b/keyboards/ash_xiix/ash_xiix.c
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..56e6f48d032d185568cae0867b6e10b8d032f936
  4--- /dev/null
  5+++ b/keyboards/ash_xiix/ash_xiix.c
  6@@ -0,0 +1,25 @@
  7+/* Copyright 2020 sh_xguitar
  8+ *
  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+ *
 14+ * This program is distributed in the hope that it will be useful,
 15+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 16+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 17+ * GNU General Public License for more details.
 18+ *
 19+ * You should have received a copy of the GNU General Public License
 20+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 21+ */
 22+#include "ash_xiix.h"
 23+
 24+bool led_update_kb(led_t led_state) {
 25+    if (led_update_user(led_state)) {
 26+        writePin(NUM_LOCK_LED_PIN, led_state.num_lock);
 27+        writePin(CAPS_LOCK_LED_PIN, led_state.caps_lock);
 28+        writePin(SCROLL_LOCK_LED_PIN, led_state.scroll_lock);
 29+    }
 30+    return true;
 31+}
 32diff --git a/keyboards/ash_xiix/ash_xiix.h b/keyboards/ash_xiix/ash_xiix.h
 33new file mode 100644
 34index 0000000000000000000000000000000000000000..48f9a31a267f61a16dffeb6e30c3cd63c89e116c
 35--- /dev/null
 36+++ b/keyboards/ash_xiix/ash_xiix.h
 37@@ -0,0 +1,51 @@
 38+/* Copyright 2020 sh_xguitar
 39+ *
 40+ * This program is free software: you can redistribute it and/or modify
 41+ * it under the terms of the GNU General Public License as published by
 42+ * the Free Software Foundation, either version 2 of the License, or
 43+ * (at your option) any later version.
 44+ *
 45+ * This program is distributed in the hope that it will be useful,
 46+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 47+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 48+ * GNU General Public License for more details.
 49+ *
 50+ * You should have received a copy of the GNU General Public License
 51+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 52+ */
 53+#pragma once
 54+
 55+#include "quantum.h"
 56+
 57+/* This a shortcut to help you visually see your layout.
 58+ *
 59+ * The first section contains all of the arguments representing the physical
 60+ * layout of the board and position of the keys.
 61+ *
 62+ * The second converts the arguments into a two-dimensional array which
 63+ * represents the switch matrix.
 64+ */
 65+#define LAYOUT_all( \
 66+    k00, k01, k02, k03, k60, k61, k62, k63, k04, k05, k06, k07, k08, k54, k55, k56, k57, \
 67+                                                                     k64, k65, k66, k67, \
 68+    k10, k11, k12, k13, k70, k71, k72, k73, k14, k15, k16, k17, k18, k19, k74, k75, k76, k77, \
 69+    k20, k21, k22, k23, k80, k81, k82, k83, k24, k25, k26, k27, k28, k29, k84, k85, k86, k87, \
 70+    k30, k31, k32, k33, k90, k91, k92, k93, k34, k35, k36, k37, k38,      k94, k95, k96, k97, \
 71+    k40, k41, k42, k43, ka0, ka1, ka2, ka3, k44, k45, k46, k47, k48, ka9, ka4, ka5, ka6, ka7, \
 72+    k50, k51, k52,                  k53,              kb4, kb7, ka8, kb8, kb9, kb5, kb6 \
 73+) \
 74+{ \
 75+    { k00,   k01,   k02,   k03,   k04,   k05,   k06,   k07,   k08,   KC_NO }, \
 76+    { k10,   k11,   k12,   k13,   k14,   k15,   k16,   k17,   k18,   k19   }, \
 77+    { k20,   k21,   k22,   k23,   k24,   k25,   k26,   k27,   k28,   k29   }, \
 78+    { k30,   k31,   k32,   k33,   k34,   k35,   k36,   k37,   k38,   KC_NO }, \
 79+    { k40,   k41,   k42,   k43,   k44,   k45,   k46,   k47,   k48,   KC_NO }, \
 80+    { k50,   k51,   k52,   k53,   k54,   k55,   k56,   k57,   KC_NO, KC_NO }, \
 81+    { k60,   k61,   k62,   k63,   k64,   k65,   k66,   k67,   KC_NO, KC_NO }, \
 82+    { k70,   k71,   k72,   k73,   k74,   k75,   k76,   k77,   KC_NO, KC_NO }, \
 83+    { k80,   k81,   k82,   k83,   k84,   k85,   k86,   k87,   KC_NO, KC_NO }, \
 84+    { k90,   k91,   k92,   k93,   k94,   k95,   k96,   k97,   KC_NO, KC_NO }, \
 85+    { ka0,   ka1,   ka2,   ka3,   ka4,   ka5,   ka6,   ka7,   ka8,   ka9   }, \
 86+    { KC_NO, KC_NO, KC_NO, KC_NO, kb4,   kb5,   kb6,   kb7,   kb8,   kb9   } \
 87+}  
 88+      
 89diff --git a/keyboards/ash_xiix/config.h b/keyboards/ash_xiix/config.h
 90new file mode 100644
 91index 0000000000000000000000000000000000000000..bcfdaeef7c48739b96772251fd1243308f1ab18a
 92--- /dev/null
 93+++ b/keyboards/ash_xiix/config.h
 94@@ -0,0 +1,56 @@
 95+/*
 96+Copyright 2020 sh_xguitar
 97+This program is free software: you can redistribute it and/or modify
 98+it under the terms of the GNU General Public License as published by
 99+the Free Software Foundation, either version 2 of the License, or
100+(at your option) any later version.
101+This program is distributed in the hope that it will be useful,
102+but WITHOUT ANY WARRANTY; without even the implied warranty of
103+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
104+GNU General Public License for more details.
105+You should have received a copy of the GNU General Public License
106+along with this program.  If not, see <http://www.gnu.org/licenses/>.
107+*/
108+
109+#pragma once
110+
111+#include "config_common.h"
112+
113+/* USB Device descriptor parameter */
114+#define VENDOR_ID    0xFEED
115+#define PRODUCT_ID   0x14BC
116+#define DEVICE_VER   0x0001
117+#define MANUFACTURER ASH
118+#define PRODUCT      XIIX
119+
120+/* key matrix size */
121+#define MATRIX_ROWS 12
122+#define MATRIX_COLS 10
123+
124+/*
125+ * Keyboard Matrix Assignments
126+ *
127+ * Change this to how you wired your keyboard
128+ * COLS: AVR pins used for columns, left to right
129+ * ROWS: AVR pins used for rows, top to bottom
130+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
131+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
132+ *
133+ */
134+#define MATRIX_ROW_PINS { C6, B6, B5, B4, D7, D0, D1, D2, D3, D5, D4, D6 }
135+#define MATRIX_COL_PINS { F1, F4, F5, F6, B0, B2, B1, B3, B7, C7 }
136+#define UNUSED_PINS
137+
138+#define NUM_LOCK_LED_PIN E6
139+#define CAPS_LOCK_LED_PIN F0
140+#define SCROLL_LOCK_LED_PIN F7
141+
142+/* COL2ROW, ROW2COL*/
143+#define DIODE_DIRECTION COL2ROW
144+
145+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
146+#define DEBOUNCE 5
147+
148+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
149+#define LOCKING_SUPPORT_ENABLE
150+#define LOCKING_RESYNC_ENABLE
151diff --git a/keyboards/ash_xiix/info.json b/keyboards/ash_xiix/info.json
152new file mode 100644
153index 0000000000000000000000000000000000000000..c81eb0a6bb01b8a1a55f4443d90bcddead8e1ab5
154--- /dev/null
155+++ b/keyboards/ash_xiix/info.json
156@@ -0,0 +1,540 @@
157+{
158+    "keyboard_name": "ASH-XIIX",
159+    "url": "config.qmk.fm",
160+    "maintainer": "qmk",
161+    "width": 19.5,
162+    "height": 7.25,
163+    "layouts": {
164+        "LAYOUT_all": {
165+            "layout": [
166+                {
167+                    "label": "Esc",
168+                    "x": 0,
169+                    "y": 0
170+                },
171+                {
172+                    "label": "F1",
173+                    "x": 1.25,
174+                    "y": 0
175+                },
176+                {
177+                    "label": "F2",
178+                    "x": 2.25,
179+                    "y": 0
180+                },
181+                {
182+                    "label": "F3",
183+                    "x": 3.25,
184+                    "y": 0
185+                },
186+                {
187+                    "label": "F4",
188+                    "x": 4.25,
189+                    "y": 0
190+                },
191+                {
192+                    "label": "F5",
193+                    "x": 5.5,
194+                    "y": 0
195+                },
196+                {
197+                    "label": "F6",
198+                    "x": 6.5,
199+                    "y": 0
200+                },
201+                {
202+                    "label": "F7",
203+                    "x": 7.5,
204+                    "y": 0
205+                },
206+                {
207+                    "label": "F8",
208+                    "x": 8.5,
209+                    "y": 0
210+                },
211+                {
212+                    "label": "F9",
213+                    "x": 9.75,
214+                    "y": 0
215+                },
216+                {
217+                    "label": "F10",
218+                    "x": 10.75,
219+                    "y": 0
220+                },
221+                {
222+                    "label": "F11",
223+                    "x": 11.75,
224+                    "y": 0
225+                },
226+                {
227+                    "label": "F12",
228+                    "x": 12.75,
229+                    "y": 0
230+                },
231+                {
232+                    "label": "Insert",
233+                    "x": 15.5,
234+                    "y": 0
235+                },
236+                {
237+                    "label": "Home",
238+                    "x": 16.5,
239+                    "y": 0
240+                },
241+                {
242+                    "label": "PgUp",
243+                    "x": 17.5,
244+                    "y": 0
245+                },
246+                {
247+                    "label": "PrtSc",
248+                    "x": 18.5,
249+                    "y": 0
250+                },
251+                {
252+                    "label": "Del",
253+                    "x": 15.5,
254+                    "y": 1
255+                },
256diff --git a/keyboards/ash_xiix/keymaps/default/keymap.c b/keyboards/ash_xiix/keymaps/default/keymap.c
257new file mode 100644
258index 0000000000000000000000000000000000000000..2127dc59020a8f4a4d0e2ed047de6c21da4d11cb
259--- /dev/null
260+++ b/keyboards/ash_xiix/keymaps/default/keymap.c
261@@ -0,0 +1,37 @@
262+/* Copyright 2020 sh_xguitar
263+ *
264+ * This program is free software: you can redistribute it and/or modify
265+ * it under the terms of the GNU General Public License as published by
266+ * the Free Software Foundation, either version 2 of the License, or
267+ * (at your option) any later version.
268+ *
269+ * This program is distributed in the hope that it will be useful,
270+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
271+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
272+ * GNU General Public License for more details.
273+ *
274+ * You should have received a copy of the GNU General Public License
275+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
276+ */
277+#include QMK_KEYBOARD_H
278+
279+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
280+    [0] = LAYOUT_all ( /* Base */
281+        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_INS, KC_HOME, KC_PGUP, KC_PSCR,
282+                                                                                                       KC_DEL, KC_END, KC_PGDN, KC_SLCK,
283+        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_NLCK, KC_PSLS, KC_PAST, MO(1),
284+        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,
285+        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,
286+        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_P1, KC_P2, KC_P3, KC_PENT,
287+        KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                  KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT
288+    ),
289+    [1] = LAYOUT_all (
290+        RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______, _______,
291+                                                                                                                                      _______, KC_MUTE, _______, _______,
292+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______,
293+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
294+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______,
295+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
296+        _______, _______, _______,                   KC_MPLY,                                     _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______
297+    ),
298+};
299diff --git a/keyboards/ash_xiix/readme.md b/keyboards/ash_xiix/readme.md
300new file mode 100644
301index 0000000000000000000000000000000000000000..1fbecfaac8a9f18c31ebfad12c97183d54a0e822
302--- /dev/null
303+++ b/keyboards/ash_xiix/readme.md
304@@ -0,0 +1,15 @@
305+# ASH-XIIX
306+
307+![ASH-XIIX](https://i.imgur.com/KJk9dDol.jpg)
308+
309+In mission to fill my Cherry 1800 case. So I continue developing 1800 PCB (ASH-1800) to fit G80-1800 case. It has some update to make ASH-XIIX more user friendly.
310+
311+* Keyboard Maintainer: [sh_xguitar](https://github.com/sh-xguitar)
312+* Keyboard Specification: ATmega32u4, 5P TH MINI USB, JST-PH 5P, Larger ISP Header.
313+* Hardware Availability: Sold in Indonesia only
314+
315+Make example for this keyboard (after setting up your build environment):
316+
317+    make ash_xiix:default
318+
319diff --git a/keyboards/ash_xiix/rules.mk b/keyboards/ash_xiix/rules.mk
320new file mode 100644
321index 0000000000000000000000000000000000000000..32981133b2eb32a12b73c3fc2c78d97c401c24db
322--- /dev/null
323+++ b/keyboards/ash_xiix/rules.mk
324@@ -0,0 +1,22 @@
325+# MCU name
326+MCU = atmega32u4
327+
328+# Bootloader selection
329+BOOTLOADER = atmel-dfu
330+
331+# Build Options
332+#   change yes to no to disable
333+#
334+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
335+MOUSEKEY_ENABLE = yes       # Mouse keys
336+EXTRAKEY_ENABLE = yes       # Audio control and System control
337+CONSOLE_ENABLE = no         # Console for debug
338+COMMAND_ENABLE = no         # Commands for debug and configuration
339+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
340+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
341+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
342+NKRO_ENABLE = yes           # USB Nkey Rollover
343+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
344+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
345+BLUETOOTH_ENABLE = no       # Enable Bluetooth
346+AUDIO_ENABLE = no           # Audio output