aboutsummaryrefslogtreecommitdiff
path: root/keyboards/wilba_tech/rama_works_m50_a
diff options
context:
space:
mode:
authorWilba <Jason.S.Williams@gmail.com>2020-08-18 16:44:35 +1000
committerGitHub <noreply@github.com>2020-08-17 23:44:35 -0700
commit70acf36d1641cad1337eb714ae56145d949ff423 (patch)
treebbc0788982dca0c017622b47e7252898d4dd62a5 /keyboards/wilba_tech/rama_works_m50_a
parentc59a81b792ffbe0629183cf1e84f869e9a8d5471 (diff)
downloadqmk_firmware-70acf36d1641cad1337eb714ae56145d949ff423.tar.gz
qmk_firmware-70acf36d1641cad1337eb714ae56145d949ff423.zip
[Keyboard] Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A (#9991)
* Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A * Review changes * Review changes * Review changes * Increase layers to 10 for M10-C, M10-B
Diffstat (limited to 'keyboards/wilba_tech/rama_works_m50_a')
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/config.h118
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/info.json12
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/keymaps/default/keymap.c95
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/keymaps/via/keymap.c93
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.c18
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.h41
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/readme.md19
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/rules.mk35
9 files changed, 432 insertions, 0 deletions
diff --git a/keyboards/wilba_tech/rama_works_m50_a/config.h b/keyboards/wilba_tech/rama_works_m50_a/config.h
new file mode 100644
index 000000000..c16afd790
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/config.h
@@ -0,0 +1,118 @@
1/* Copyright 2020 Jason Williams (Wilba)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "config_common.h"
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0x5241 // "RA"
22#define PRODUCT_ID 0x050A // 50-A
23#define DEVICE_VER 0x0001
24#define MANUFACTURER RAMA WORKS
25#define PRODUCT RAMA WORKS M50-A
26
27/* key matrix size */
28#define MATRIX_ROWS 4
29#define MATRIX_COLS 13
30
31/*
32 * Keyboard Matrix Assignments
33 *
34 * Change this to how you wired your keyboard
35 * COLS: AVR pins used for columns, left to right
36 * ROWS: AVR pins used for rows, top to bottom
37 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
38 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
39 *
40*/
41#define MATRIX_ROW_PINS { F0, F1, F5, F6 }
42#define MATRIX_COL_PINS { F4, B5, C7, C6, B6, B2, B3, B1, B4, D7, D6, D4, D3 }
43#define UNUSED_PINS
44
45/* COL2ROW, ROW2COL */
46#define DIODE_DIRECTION COL2ROW
47
48/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
49#define DEBOUNCE 5
50
51/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
52#define LOCKING_SUPPORT_ENABLE
53/* Locking resynchronize hack */
54#define LOCKING_RESYNC_ENABLE
55
56/* disable these deprecated features by default */
57#define NO_ACTION_MACRO
58#define NO_ACTION_FUNCTION
59
60// IS31FL3731 driver
61#define DRIVER_COUNT 2
62#define DRIVER_LED_TOTAL 72
63
64// Enable WT RGB backlight
65#define RGB_BACKLIGHT_ENABLED 1
66
67// This conditionally compiles the backlight code for M50-A specifics
68#define RGB_BACKLIGHT_M50_A
69
70// enable/disable LEDs based on layout
71#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
72#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
73#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
74#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
75#define RGB_BACKLIGHT_USE_ISO_ENTER 0
76#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
77
78// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
79#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
80
81// disable backlight after timeout in minutes, 0 = no timeout
82#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
83
84// the default brightness
85#define RGB_BACKLIGHT_BRIGHTNESS 255
86
87// the default effect (RGB test)
88#define RGB_BACKLIGHT_EFFECT 255
89
90// the default effect speed (0-3)
91#define RGB_BACKLIGHT_EFFECT_SPEED 0
92
93// the default color1 and color2
94#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
95#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
96
97// These define which keys in the matrix are alphas/mods
98// Used for backlight effects so colors are different for
99// alphas vs. mods
100// Each value is for a row, bit 0 is column 0
101// Alpha=0 Mod=1
102#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0001000000000011
103#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0001000000000011
104#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0001000000000011
105#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0001111111111111
106#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0000000000000000
107
108#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
109#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
110#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
111#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
112
113// Backlight config starts after VIA's EEPROM usage,
114// dynamic keymaps start after this.
115#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
116
117// VIA lighting is handled by the keyboard-level code
118#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_m50_a/info.json b/keyboards/wilba_tech/rama_works_m50_a/info.json
new file mode 100644
index 000000000..5b8031c7f
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "RAMA WORKS M50-A",
3 "url": "http://rama.works",
4 "maintainer": "Wilba",
5 "width": 13.25,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.25, "y":0}, {"label":"0,6", "x":6.25, "y":0}, {"label":"0,7", "x":7.25, "y":0}, {"label":"0,8", "x":8.25, "y":0}, {"label":"0,9", "x":9.25, "y":0}, {"label":"0,10", "x":10.25, "y":0}, {"label":"0,11", "x":11.25, "y":0}, {"label":"0,12", "x":12.25, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1.25, "y":1}, {"label":"1,2", "x":2.25, "y":1}, {"label":"1,3", "x":3.25, "y":1}, {"label":"1,4", "x":4.25, "y":1}, {"label":"1,5", "x":5.25, "y":1}, {"label":"1,6", "x":6.25, "y":1}, {"label":"1,7", "x":7.25, "y":1}, {"label":"1,8", "x":8.25, "y":1}, {"label":"1,9", "x":9.25, "y":1}, {"label":"1,10", "x":10.25, "y":1}, {"label":"1,11", "x":11.25, "y":1}, {"label":"1,12", "x":12.25, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1.25, "y":2}, {"label":"2,2", "x":2.25, "y":2}, {"label":"2,3", "x":3.25, "y":2}, {"label":"2,4", "x":4.25, "y":2}, {"label":"2,5", "x":5.25, "y":2}, {"label":"2,6", "x":6.25, "y":2}, {"label":"2,7", "x":7.25, "y":2}, {"label":"2,8", "x":8.25, "y":2}, {"label":"2,9", "x":9.25, "y":2}, {"label":"2,10", "x":10.25, "y":2}, {"label":"2,11", "x":11.25, "y":2}, {"label":"2,12", "x":12.25, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1.25, "y":3}, {"label":"3,2", "x":2.25, "y":3}, {"label":"3,3", "x":3.25, "y":3}, {"label":"3,4", "x":4.25, "y":3}, {"label":"3,5", "x":5.25, "y":3}, {"label":"3,6", "x":6.25, "y":3}, {"label":"3,7", "x":7.25, "y":3}, {"label":"3,8", "x":8.25, "y":3}, {"label":"3,9", "x":9.25, "y":3}, {"label":"3,10", "x":10.25, "y":3}, {"label":"3,11", "x":11.25, "y":3}, {"label":"3,12", "x":12.25, "y":3}]
10 }
11 }
12} \ No newline at end of file
diff --git a/keyboards/wilba_tech/rama_works_m50_a/keymaps/default/keymap.c b/keyboards/wilba_tech/rama_works_m50_a/keymaps/default/keymap.c
new file mode 100644
index 000000000..491ac55b6
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/keymaps/default/keymap.c
@@ -0,0 +1,95 @@
1/* Copyright 2020 Jason Williams (Wilba)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20/* Qwerty
21 * ,------------------------------------------------------------------------------------------.
22 * | | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
23 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
24 * | | Esc | A | S | D | F | G | H | J | K | L | ; | " |
25 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
26 * | | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
27 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
28 * | | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
29 * `------------------------------------------------------------------------------------------'
30 */
31[0] = LAYOUT(
32 _______, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
33 _______, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
34 _______, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
35 _______, _______, KC_LCTL, KC_LALT, KC_LGUI, FN_MO13, KC_SPC, KC_SPC, FN_MO23, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
36),
37
38
39/* Lower
40 * ,------------------------------------------------------------------------------------------.
41 * | | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
42 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
43 * | | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
44 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
45 * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
46 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
47 * | | | | | | | | | Next | Vol- | Vol+ | Play |
48 * `------------------------------------------------------------------------------------------'
49 */
50[1] = LAYOUT(
51 _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
52 _______, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
53 _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
55),
56
57/* Raise
58 * ,------------------------------------------------------------------------------------------.
59 * | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
60 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
61 * | | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
62 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
63 * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
64 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
65 * | | | | | | | | | Next | Vol- | Vol+ | Play |
66 * `------------------------------------------------------------------------------------------'
67 */
68[2] = LAYOUT(
69 _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
70 _______, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
71 _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
73),
74
75/* Adjust (Lower + Raise)
76 * ,------------------------------------------------------------------------------------------.
77 * | | | | | | | | | | | | | |
78 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
79 * | | | | | | | | | | | | | |
80 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
81 * | | | | | | | | | | | | | |
82 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
83 * | | | | | | | | | | | | |
84 * `------------------------------------------------------------------------------------------'
85 */
86/*
87[3] = LAYOUT(
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
92)
93*/
94
95};
diff --git a/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/keymap.c
new file mode 100644
index 000000000..37f9bc94d
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/keymap.c
@@ -0,0 +1,93 @@
1/* Copyright 2020 Jason Williams (Wilba)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20/* Qwerty
21 * ,------------------------------------------------------------------------------------------.
22 * | | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
23 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
24 * | | Esc | A | S | D | F | G | H | J | K | L | ; | " |
25 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
26 * | | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
27 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
28 * | | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
29 * `------------------------------------------------------------------------------------------'
30 */
31[0] = LAYOUT(
32 _______, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
33 _______, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
34 _______, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
35 _______, _______, KC_LCTL, KC_LALT, KC_LGUI, FN_MO13, KC_SPC, KC_SPC, FN_MO23, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
36),
37
38
39/* Lower
40 * ,------------------------------------------------------------------------------------------.
41 * | | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
42 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
43 * | | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
44 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
45 * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
46 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
47 * | | | | | | | | | Next | Vol- | Vol+ | Play |
48 * `------------------------------------------------------------------------------------------'
49 */
50[1] = LAYOUT(
51 _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
52 _______, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
53 _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
55),
56
57/* Raise
58 * ,------------------------------------------------------------------------------------------.
59 * | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
60 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
61 * | | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
62 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
63 * | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
64 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
65 * | | | | | | | | | Next | Vol- | Vol+ | Play |
66 * `------------------------------------------------------------------------------------------'
67 */
68[2] = LAYOUT(
69 _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
70 _______, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
71 _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
73),
74
75/* Adjust (Lower + Raise)
76 * ,------------------------------------------------------------------------------------------.
77 * | | | | | | | | | | | | | |
78 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
79 * | | | | | | | | | | | | | |
80 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
81 * | | | | | | | | | | | | | |
82 * |------+------+------+------+------+------+------+------+------+------+------+------+------|
83 * | | | | | | | | | | | | |
84 * `------------------------------------------------------------------------------------------'
85 */
86[3] = LAYOUT(
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
91)
92
93};
diff --git a/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.c b/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.c
new file mode 100644
index 000000000..ee5ebf93f
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.c
@@ -0,0 +1,18 @@
1/* Copyright 2020 Jason Williams (Wilba)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef RGB_BACKLIGHT_M50_A
17#error RGB_BACKLIGHT_M50_A not defined
18#endif
diff --git a/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.h b/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.h
new file mode 100644
index 000000000..bd92ea3cf
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/rama_works_m50_a.h
@@ -0,0 +1,41 @@
1/* Copyright 2020 Jason Williams (Wilba)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
20#include "via.h"
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30#define LAYOUT( \
31 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
32 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
33 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
34 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C \
35) { \
36 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
37 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
38 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
39 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C } \
40}
41
diff --git a/keyboards/wilba_tech/rama_works_m50_a/readme.md b/keyboards/wilba_tech/rama_works_m50_a/readme.md
new file mode 100644
index 000000000..4842bb70f
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/readme.md
@@ -0,0 +1,19 @@
1# RAMA WORKS M50-A
2
3![RAMA WORKS M50-A](https://images.squarespace-cdn.com/content/v1/563c788ae4b099120ae219e2/1586599330524-K5GC9PIVQD3IDSIIMEWA/ke17ZwdGBToddI8pDm48kPTrHXgsMrSIMwe6YW3w1AZ7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z4YTzHvnKhyp6Da-NYroOW3ZGjoBKy3azqku80C789l0k5fwC0WRNFJBIXiBeNI5fKTrY37saURwPBw8fO2esROAxn-RKSrlQamlL27g22X2A/M50-A-SCENE-01.1868.JPG?format=1500w)
4
5The RAMA WORKS M50-A is an ortholinear keyboard made by Rama Works.
6
7* Keyboard Maintainer: [Wilba6582](https://github.com/Wilba6582)
8* Hardware Supported: RAMA WORKS M50-A PCB
9* Hardware Availability: [RAMA WORKS Store](https://ramaworks.store/)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make wilba_tech/rama_works_m50_a:default
14
15Flashing example for this keyboard:
16
17 make wilba_tech/rama_works_m50_a:default:flash
18
19See 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).
diff --git a/keyboards/wilba_tech/rama_works_m50_a/rules.mk b/keyboards/wilba_tech/rama_works_m50_a/rules.mk
new file mode 100644
index 000000000..9f4cc186e
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m50_a/rules.mk
@@ -0,0 +1,35 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23CIE1931_CURVE = yes
24
25# Do not put the microcontroller into power saving mode
26# when we get USB suspend event. We want it to keep updating
27# backlight effects.
28OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
29
30# project specific files
31SRC = keyboards/wilba_tech/wt_main.c \
32 keyboards/wilba_tech/wt_rgb_backlight.c \
33 quantum/color.c \
34 drivers/issi/is31fl3731.c \
35 drivers/avr/i2c_master.c