bccf2cba6aa4bcbed7041ee499ac312b42d0d563

Author
yiancar <yiangosyiangou@cytanet.com.cy>
Committer
GitHub <noreply@github.com>
Date

Message

[Keyboard] Add alas keyboard (#19717)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: yiancar <yiancar@gmail.com>

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/alas/alas.c b/keyboards/alas/alas.c
  2new file mode 100755
  3index 0000000000000000000000000000000000000000..2932aedb0323bde35ec2cf7d614811c1649238c6
  4--- /dev/null
  5+++ b/keyboards/alas/alas.c
  6@@ -0,0 +1,21 @@
  7+/* Copyright 2023 Yiancar-Designs
  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 "alas.h"
 23+
 24+void led_init_ports(void) {
 25+    // Set our LED pins as open drain outputs
 26+    palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
 27+}
 28diff --git a/keyboards/alas/alas.h b/keyboards/alas/alas.h
 29new file mode 100644
 30index 0000000000000000000000000000000000000000..47314c8ce888a0ae43da8f9beca37086c987fdb7
 31--- /dev/null
 32+++ b/keyboards/alas/alas.h
 33@@ -0,0 +1,132 @@
 34+/* Copyright 2023 Yiancar-Designs
 35+ *
 36+ * This program is free software: you can redistribute it and/or modify
 37+ * it under the terms of the GNU General Public License as published by
 38+ * the Free Software Foundation, either version 2 of the License, or
 39+ * (at your option) any later version.
 40+ *
 41+ * This program is distributed in the hope that it will be useful,
 42+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 43+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 44+ * GNU General Public License for more details.
 45+ *
 46+ * You should have received a copy of the GNU General Public License
 47+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 48+ */
 49+#pragma once
 50+
 51+#define XXX KC_NO
 52+
 53+#include "quantum.h"
 54+
 55+#define LAYOUT_all( \
 56+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \
 57+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 58+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,      \
 59+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      \
 60+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D       \
 61+) { \
 62+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 63+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 64+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 65+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 66+    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }  \
 67+}
 68+
 69+#define LAYOUT_60_ansi( \
 70+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 71+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 72+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 73+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
 74+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D  \
 75+) { \
 76+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 77+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 78+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 79+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
 80+    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }  \
 81+}
 82+
 83+#define LAYOUT_60_ansi_split_bs_rshift( \
 84+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \
 85+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 86+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,      \
 87+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      \
 88+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D       \
 89+) { \
 90+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 91+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 92+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 93+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 94+    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }  \
 95+}
 96+
 97+#define LAYOUT_60_ansi_tsangan( \
 98+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 99+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
100+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
101+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
102+    K40, K41, K42,                K46,                     K4B, K4C, K4D  \
103+) { \
104+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
105+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
106+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
107+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
108+    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D }  \
109+}
110+
111+#define LAYOUT_60_iso( \
112+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
113+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \
114+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2D, \
115+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
116+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D  \
117+) { \
118+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
119+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
120+    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
121+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
122+    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }  \
123+}
124+
125+#define LAYOUT_60_iso_split_bs_rshift( \
126+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \
127+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,           \
128+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2D,      \
129+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      \
130+    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D       \
131+) { \
132+    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
133diff --git a/keyboards/alas/config.h b/keyboards/alas/config.h
134new file mode 100755
135index 0000000000000000000000000000000000000000..95a8e7bcdb11fdf4afe4c5e5a50921c25c9d0b2a
136--- /dev/null
137+++ b/keyboards/alas/config.h
138@@ -0,0 +1,31 @@
139+/*
140+Copyright 2023 Yiancar-Designs
141+
142+This program is free software: you can redistribute it and/or modify
143+it under the terms of the GNU General Public License as published byß
144+the Free Software Foundation, either version 2 of the License, or
145+(at your option) any later version.
146+
147+This program is distributed in the hope that it will be useful,
148+but WITHOUT ANY WARRANTY; without even the implied warranty of
149+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
150+GNU General Public License for more details.
151+
152+You should have received a copy of the GNU General Public License
153+along with this program.  If not, see <http://www.gnu.org/licenses/>.
154+*/
155+
156+#pragma once
157+
158+#define MATRIX_ROW_PINS { A2, B9, B8, B5, B4 }
159+#define MATRIX_COL_PINS { A1, B1, B0, A7, A6, A5, A4, A3, B2, B10, B11, B12, B13, B14 }
160+
161+/* COL2ROW, ROW2COL*/
162+#define DIODE_DIRECTION COL2ROW
163+
164+/* Ensure we jump to bootloader if the RESET keycode was pressed */
165+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
166+
167+/* Indicator LEDs */
168+#define LED_CAPS_LOCK_PIN B6
169+#define LED_PIN_ON_STATE 0
170diff --git a/keyboards/alas/info.json b/keyboards/alas/info.json
171new file mode 100755
172index 0000000000000000000000000000000000000000..aa87efaae34eb74c2ebf47ad7c9281b00573d3ee
173--- /dev/null
174+++ b/keyboards/alas/info.json
175@@ -0,0 +1,39 @@
176+{
177+    "keyboard_name": "Alas",
178+    "manufacturer": "Yiancar-Designs",
179+    "url": "https://yiancar-designs.com",
180+    "maintainer": "Yiancar-Designs",
181+    "usb": {
182+        "vid": "0x8968",
183+        "pid": "0x414C",
184+        "device_version": "0.0.1"
185+    },
186+    "processor": "STM32F072",
187+    "bootloader": "stm32-dfu",
188+    "layouts": {
189+        "LAYOUT_all": {
190diff --git a/keyboards/alas/keymaps/default/keymap.c b/keyboards/alas/keymaps/default/keymap.c
191new file mode 100644
192index 0000000000000000000000000000000000000000..66d86148377c7556be8aaa32f727d692f3bc3ad3
193--- /dev/null
194+++ b/keyboards/alas/keymaps/default/keymap.c
195@@ -0,0 +1,32 @@
196+/* Copyright 2023 Yiancar-Designs
197+ *
198+ * This program is free software: you can redistribute it and/or modify
199+ * it under the terms of the GNU General Public License as published by
200+ * the Free Software Foundation, either version 2 of the License, or
201+ * (at your option) any later version.
202+ *
203+ * This program is distributed in the hope that it will be useful,
204+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
205+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
206+ * GNU General Public License for more details.
207+ *
208+ * You should have received a copy of the GNU General Public License
209+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
210+ */
211+#include QMK_KEYBOARD_H
212+
213+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
214+[0] = LAYOUT_all( /* Base */
215+    QK_GESC,  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,
216+    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,
217+    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,
218+    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, MO(1),
219+    KC_LCTL,  KC_LGUI,  KC_LALT,                       KC_SPC,                          KC_RALT,  MO(1),    KC_APP,  KC_RCTL),
220+
221+[1] = LAYOUT_all( /* FN */
222+    KC_GRV,   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_DEL,  KC_TRNS,
223+    KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_SCRL,  KC_PAUS,  KC_UP,    KC_TRNS,  KC_TRNS,
224+    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,            KC_TRNS,
225+    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_TRNS,  KC_TRNS,
226+    KC_VOLU,  KC_VOLD,  KC_MUTE,                                KC_TRNS,                                KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS)
227+};
228diff --git a/keyboards/alas/keymaps/via/keymap.c b/keyboards/alas/keymaps/via/keymap.c
229new file mode 100644
230index 0000000000000000000000000000000000000000..3f84154ca400d7ad3a1179f2631cb1a3348179b3
231--- /dev/null
232+++ b/keyboards/alas/keymaps/via/keymap.c
233@@ -0,0 +1,46 @@
234+/* Copyright 2023 Yiancar-Designs
235+ *
236+ * This program is free software: you can redistribute it and/or modify
237+ * it under the terms of the GNU General Public License as published by
238+ * the Free Software Foundation, either version 2 of the License, or
239+ * (at your option) any later version.
240+ *
241+ * This program is distributed in the hope that it will be useful,
242+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
243+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
244+ * GNU General Public License for more details.
245+ *
246+ * You should have received a copy of the GNU General Public License
247+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
248+ */
249+#include QMK_KEYBOARD_H
250+
251+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
252+[0] = LAYOUT_all( /* Base */
253+    QK_GESC,  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,
254+    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,
255+    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,
256+    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, MO(1),
257+    KC_LCTL,  KC_LGUI,  KC_LALT,                       KC_SPC,                          KC_RALT,  MO(1),    KC_APP,  KC_RCTL),
258+
259+[1] = LAYOUT_all( /* FN */
260+    KC_GRV,   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_DEL,  KC_TRNS,
261+    KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_SCRL,  KC_PAUS,  KC_UP,    KC_TRNS,  KC_TRNS,
262+    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,            KC_TRNS,
263+    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_TRNS,  KC_TRNS,
264+    KC_VOLU,  KC_VOLD,  KC_MUTE,                                KC_TRNS,                                KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS),
265+
266+[2] = LAYOUT_all( /* Empty for dynamic keymaps */
267+    KC_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,
268+    KC_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,
269+    KC_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,
270+    KC_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,
271+    KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
272+
273+[3] = LAYOUT_all( /* Empty for dynamic keymaps */
274+    KC_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,
275+    KC_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,
276+    KC_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,
277+    KC_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,
278+    KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
279+};
280diff --git a/keyboards/alas/keymaps/via/rules.mk b/keyboards/alas/keymaps/via/rules.mk
281new file mode 100755
282index 0000000000000000000000000000000000000000..1e5b99807cb7a90b282a3001a38bf303774544ba
283--- /dev/null
284+++ b/keyboards/alas/keymaps/via/rules.mk
285@@ -0,0 +1 @@
286+VIA_ENABLE = yes
287diff --git a/keyboards/alas/readme.md b/keyboards/alas/readme.md
288new file mode 100755
289index 0000000000000000000000000000000000000000..35d891464eeb79c8c896467f63ac9771225d1eef
290--- /dev/null
291+++ b/keyboards/alas/readme.md
292@@ -0,0 +1,39 @@
293+# Alas
294+
295+This is a standard 60% layout PCB. It supports VIA.
296+
297+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
298+* Hardware Supported: A 60% keyboard with STM32F072CB
299+* Hardware Availability: https://geekhack.org/index.php?topic=119025.0 
300+
301+![Layer 0](https://i.imgur.com/LL5mZXAh.png)
302+![Layer 1](https://i.imgur.com/RJDVmtyh.png)
303+
304+## Instructions
305+
306+### Build
307+
308+Make example for this keyboard (after setting up your build environment):
309+
310+    make alas:default
311+
312+Flashing example for this keyboard:
313+
314+    make alas:default:flash
315+
316diff --git a/keyboards/alas/rules.mk b/keyboards/alas/rules.mk
317new file mode 100755
318index 0000000000000000000000000000000000000000..4b25596ba2b0fc1753c8b32025d25a882f9d63df
319--- /dev/null
320+++ b/keyboards/alas/rules.mk
321@@ -0,0 +1,22 @@
322+# Wildcard to allow APM32 MCU
323+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
324+
325+# Do not put the microcontroller into power saving mode
326+# when we get USB suspend event. We want it to keep updating
327+# backlight effects.
328+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
329+
330+# Build Options
331+#   change yes to no to disable
332+#
333+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
334+MOUSEKEY_ENABLE = yes       # Mouse keys
335+EXTRAKEY_ENABLE = yes       # Audio control and System control
336+CONSOLE_ENABLE = no         # Console for debug
337+COMMAND_ENABLE = no         # Commands for debug and configuration
338+NKRO_ENABLE = yes           # Enable N-Key Rollover
339+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
340+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
341+AUDIO_ENABLE = no           # Audio output
342+
343+LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan 60_iso 60_iso_split_bs_rshift 60_iso_tsangan 60_tsangan_hhkb