cb9b81cc103f801febd67dcaf0c86322a2bfddc8
- Author
- sh-xguitar <ibanez_shine@yahoo.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
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+
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