aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryiancar <yiangosyiangou@cytanet.com.cy>2021-02-16 03:36:58 +0200
committerGitHub <noreply@github.com>2021-02-15 20:36:58 -0500
commit3fed8bced718e24e414c0d5736554d7988235b20 (patch)
tree51de9da8f0e01109d9e434fae315a94d6930c142
parentfa740f81298dc0965970a4dc7b0b67285bd1985c (diff)
downloadqmk_firmware-3fed8bced718e24e414c0d5736554d7988235b20.tar.gz
qmk_firmware-3fed8bced718e24e414c0d5736554d7988235b20.zip
Dc01 fixes (#11843)
* dc01-fixes * dc01-fixes * Cleanup and add VIA * Updated JSONs * fix
-rw-r--r--keyboards/dc01/arrow/arrow.c27
-rw-r--r--keyboards/dc01/arrow/arrow.h21
-rw-r--r--keyboards/dc01/arrow/config.h56
-rw-r--r--keyboards/dc01/arrow/info.json2
-rw-r--r--keyboards/dc01/arrow/keymaps/default/keymap.c27
-rw-r--r--keyboards/dc01/arrow/keymaps/via/keymap.c (renamed from keyboards/dc01/right/keymaps/iso/keymap.c)38
-rw-r--r--keyboards/dc01/arrow/keymaps/via/readme.md3
-rwxr-xr-xkeyboards/dc01/arrow/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/arrow/matrix.c19
-rw-r--r--keyboards/dc01/arrow/rules.mk2
-rw-r--r--keyboards/dc01/left/config.h6
-rw-r--r--keyboards/dc01/left/info.json7
-rw-r--r--keyboards/dc01/left/keymaps/default/keymap.c23
-rw-r--r--keyboards/dc01/left/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/left/keymaps/via/readme.md11
-rwxr-xr-xkeyboards/dc01/left/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/left/left.c27
-rw-r--r--keyboards/dc01/left/left.h39
-rw-r--r--keyboards/dc01/left/matrix.c92
-rw-r--r--keyboards/dc01/left/rules.mk2
-rw-r--r--keyboards/dc01/numpad/config.h56
-rw-r--r--keyboards/dc01/numpad/info.json24
-rw-r--r--keyboards/dc01/numpad/keymaps/default/keymap.c44
-rw-r--r--keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c40
-rw-r--r--keyboards/dc01/numpad/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/numpad/keymaps/via/readme.md3
-rwxr-xr-xkeyboards/dc01/numpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/numpad/matrix.c19
-rw-r--r--keyboards/dc01/numpad/numpad.c27
-rw-r--r--keyboards/dc01/numpad/numpad.h14
-rw-r--r--keyboards/dc01/numpad/rules.mk2
-rw-r--r--keyboards/dc01/right/config.h56
-rw-r--r--keyboards/dc01/right/info.json18
-rw-r--r--keyboards/dc01/right/keymaps/default/keymap.c30
-rw-r--r--keyboards/dc01/right/keymaps/default/readme.md2
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_ansi/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_iso/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_iso/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/iso/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/via/readme.md11
-rwxr-xr-xkeyboards/dc01/right/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/right/matrix.c20
-rw-r--r--keyboards/dc01/right/right.c27
-rw-r--r--keyboards/dc01/right/right.h60
-rw-r--r--keyboards/dc01/right/rules.mk2
47 files changed, 383 insertions, 717 deletions
diff --git a/keyboards/dc01/arrow/arrow.c b/keyboards/dc01/arrow/arrow.c
index 07988b809..b3ed4ede7 100644
--- a/keyboards/dc01/arrow/arrow.c
+++ b/keyboards/dc01/arrow/arrow.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "arrow.h" 16#include "arrow.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/arrow/arrow.h b/keyboards/dc01/arrow/arrow.h
index a3a9987d5..b293f60b4 100644
--- a/keyboards/dc01/arrow/arrow.h
+++ b/keyboards/dc01/arrow/arrow.h
@@ -13,29 +13,22 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef ARROW_H 16#pragma once
17#define ARROW_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout.
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_all( \ 22#define LAYOUT_all( \
27 K00, K01, K02, \ 23 K00, K01, K02, \
28 K10, K11, K12, \ 24 K10, K11, K12, \
29 \ 25 \
30 K31, \ 26 K31, \
31 K40, K41, K42 \ 27 K40, K41, K42 \
32) \ 28) { \
33{ \
34 { K00, K01, K02 }, \ 29 { K00, K01, K02 }, \
35 { K10, K11, K12 }, \ 30 { K10, K11, K12 }, \
36 { XXX, XXX, XXX }, \ 31 { XXX, XXX, XXX }, \
37 { XXX, K31, XXX }, \ 32 { XXX, K31, XXX }, \
38 { K40, K41, K42 } \ 33 { K40, K41, K42 } \
39} 34}
40
41#endif
diff --git a/keyboards/dc01/arrow/config.h b/keyboards/dc01/arrow/config.h
index 45e48d189..e240d71e8 100644
--- a/keyboards/dc01/arrow/config.h
+++ b/keyboards/dc01/arrow/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1012 24#define PRODUCT_ID 0x1012
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/arrow/info.json b/keyboards/dc01/arrow/info.json
index b3b584fbd..c1fc10592 100644
--- a/keyboards/dc01/arrow/info.json
+++ b/keyboards/dc01/arrow/info.json
@@ -1,7 +1,7 @@
1{ 1{
2 "keyboard_name": "DC01 Arrow Cluster", 2 "keyboard_name": "DC01 Arrow Cluster",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 3, 5 "width": 3,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
diff --git a/keyboards/dc01/arrow/keymaps/default/keymap.c b/keyboards/dc01/arrow/keymaps/default/keymap.c
index 54eae570e..b7f539e85 100644
--- a/keyboards/dc01/arrow/keymaps/default/keymap.c
+++ b/keyboards/dc01/arrow/keymaps/default/keymap.c
@@ -17,26 +17,9 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all( /* Base */ 19[0] = LAYOUT_all( /* Base */
20 KC_INS, KC_HOME, KC_PGUP, \ 20 KC_INS, KC_HOME, KC_PGUP,
21 KC_DEL, KC_END, KC_PGDN, \ 21 KC_DEL, KC_END, KC_PGDN,
22 \
23 KC_UP, \
24 KC_LEFT, KC_DOWN, KC_RIGHT \
25),
26};
27
28void matrix_init_user(void) {
29
30}
31
32void matrix_scan_user(void) {
33 22
34} 23 KC_UP,
35 24 KC_LEFT, KC_DOWN, KC_RIGHT)
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 25};
37 return true;
38}
39
40void led_set_user(uint8_t usb_led) {
41
42}
diff --git a/keyboards/dc01/right/keymaps/iso/keymap.c b/keyboards/dc01/arrow/keymaps/via/keymap.c
index e65deac28..a086ffc07 100644
--- a/keyboards/dc01/right/keymaps/iso/keymap.c
+++ b/keyboards/dc01/arrow/keymaps/via/keymap.c
@@ -16,23 +16,31 @@
16#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_iso( /* Base */ 19[0] = LAYOUT_all( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 20 KC_INS, KC_HOME, KC_PGUP,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, \ 21 KC_DEL, KC_END, KC_PGDN,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS,KC_ENT, \ 22
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, \ 23 KC_UP,
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \ 24 KC_LEFT, KC_DOWN, KC_RIGHT),
25),
26};
27 25
28void matrix_init_user(void) { 26[1] = LAYOUT_all( /* Empty for Dynamic keymap */
27 KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS,
29 29
30} 30 KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS),
31 32
32void matrix_scan_user(void) { 33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS,
33 36
34} 37 KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS),
35 39
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
37 return true; 41 KC_TRNS, KC_TRNS, KC_TRNS,
38} \ No newline at end of file 42 KC_TRNS, KC_TRNS, KC_TRNS,
43
44 KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/arrow/keymaps/via/readme.md b/keyboards/dc01/arrow/keymaps/via/readme.md
new file mode 100644
index 000000000..b2d32d9d2
--- /dev/null
+++ b/keyboards/dc01/arrow/keymaps/via/readme.md
@@ -0,0 +1,3 @@
1# The default VIA keymap for DC01 Arrow cluster
2
3When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/arrow/keymaps/via/rules.mk b/keyboards/dc01/arrow/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/arrow/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c
index 1823138c3..4761c0ff1 100644
--- a/keyboards/dc01/arrow/matrix.c
+++ b/keyboards/dc01/arrow/matrix.c
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34 34
35#define SLAVE_I2C_ADDRESS 0x23 35#define SLAVE_I2C_ADDRESS 0x40
36 36
37/* Set 0 if debouncing isn't needed */ 37/* Set 0 if debouncing isn't needed */
38 38
@@ -196,12 +196,10 @@ uint8_t matrix_scan(void)
196 } 196 }
197# endif 197# endif
198 198
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 199 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 200 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 201 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 202 }
203 }
204 }
205 203
206 matrix_scan_quantum(); 204 matrix_scan_quantum();
207 return 1; 205 return 1;
@@ -396,9 +394,6 @@ static void unselect_cols(void)
396 394
397//this replases tmk code 395//this replases tmk code
398void matrix_setup(void){ 396void matrix_setup(void){
399 397 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 398 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 399} \ No newline at end of file
diff --git a/keyboards/dc01/arrow/rules.mk b/keyboards/dc01/arrow/rules.mk
index f257a56a0..3a311f985 100644
--- a/keyboards/dc01/arrow/rules.mk
+++ b/keyboards/dc01/arrow/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h
index 9f2e564a4..57614e84a 100644
--- a/keyboards/dc01/left/config.h
+++ b/keyboards/dc01/left/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1010 24#define PRODUCT_ID 0x1010
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
45#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 } 45#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 }
46#define UNUSED_PINS 46#define UNUSED_PINS
47 47
48#define F_SCL 300000UL 48#define F_SCL 350000UL
49 49
50/* COL2ROW, ROW2COL*/ 50/* COL2ROW, ROW2COL*/
51#define DIODE_DIRECTION COL2ROW 51#define DIODE_DIRECTION COL2ROW
@@ -141,4 +141,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
141//#define MIDI_ADVANCED 141//#define MIDI_ADVANCED
142 142
143/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 143/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
144//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file 144//#define MIDI_TONE_KEYCODE_OCTAVES 1
diff --git a/keyboards/dc01/left/info.json b/keyboards/dc01/left/info.json
index 6ed57ddc9..d2329df72 100644
--- a/keyboards/dc01/left/info.json
+++ b/keyboards/dc01/left/info.json
@@ -1,12 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Left Half", 2 "keyboard_name": "DC01 Left Half",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 22.5, 5 "width": 22.5,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_ansi": { 8 "LAYOUT_ansi": {
9 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"KC_NO", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"KC_NO", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":3, "h":2}] 9 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"+", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Shift", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Enter", "x":21.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"label":"Fn", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"00", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":4}]
10 },
11 "LAYOUT_all": {
12 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"+", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Shift", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Enter", "x":21.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"label":"Fn", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"00", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":4}]
10 } 13 }
11 } 14 }
12} 15}
diff --git a/keyboards/dc01/left/keymaps/default/keymap.c b/keyboards/dc01/left/keymaps/default/keymap.c
index e0896098a..884e734d2 100644
--- a/keyboards/dc01/left/keymaps/default/keymap.c
+++ b/keyboards/dc01/left/keymaps/default/keymap.c
@@ -17,22 +17,9 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ansi( /* Base */ 19[0] = LAYOUT_ansi( /* Base */
20 KC_ESC, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ 20 KC_ESC, 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, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 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, KC_P7, KC_P8, KC_P9, KC_PPLS, \ 21 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, KC_P7, KC_P8, KC_P9, KC_PPLS,
22 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_NO, \ 22 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_NO,
23 KC_LSFT, 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, \ 23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_NO,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_PENT \ 24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_PENT)
25),
26}; 25};
27
28void matrix_init_user(void) {
29
30}
31
32void matrix_scan_user(void) {
33
34}
35
36bool process_record_user(uint16_t keycode, keyrecord_t *record) {
37 return true;
38} \ No newline at end of file
diff --git a/keyboards/dc01/left/keymaps/via/keymap.c b/keyboards/dc01/left/keymaps/via/keymap.c
new file mode 100644
index 000000000..43d29ef6d
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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[0] = LAYOUT_all( /* Base */
20 KC_ESC, 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, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 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, KC_P7, KC_P8, KC_P9, KC_PPLS,
22 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
23 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, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT),
25
26[1] = LAYOUT_all( /* Empty for Dynamic keymap */
27 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 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, KC_TRNS, KC_TRNS, KC_TRNS,
30 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 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, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 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, KC_TRNS, KC_TRNS, KC_TRNS,
37 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 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, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
41 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 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, KC_TRNS, KC_TRNS, KC_TRNS,
44 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 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, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/left/keymaps/via/readme.md b/keyboards/dc01/left/keymaps/via/readme.md
new file mode 100644
index 000000000..a2c2fb0cd
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/readme.md
@@ -0,0 +1,11 @@
1# The default VIA keymap for DC01 Left
2
3Please use this for ISO as well.
4
5The keymap looks like a full layout keymap.
6
7This is because the left part of the keyboard acts as the masterm coordinating all four part.
8
9When using the keyboard to connect the other three parts, this keymap overwrites the individual keymaps of the single modules.
10
11When using a module individually, the keymap of that module will take effect.
diff --git a/keyboards/dc01/left/keymaps/via/rules.mk b/keyboards/dc01/left/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/left/left.c b/keyboards/dc01/left/left.c
index 1d8da186b..b10121705 100644
--- a/keyboards/dc01/left/left.c
+++ b/keyboards/dc01/left/left.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "left.h" 16#include "left.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/left/left.h b/keyboards/dc01/left/left.h
index bda6faeb7..4fbd7a7e5 100644
--- a/keyboards/dc01/left/left.h
+++ b/keyboards/dc01/left/left.h
@@ -13,29 +13,36 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef LEFT_H 16#pragma once
17#define LEFT_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout. 22#define LAYOUT_all( \
24// The first section contains all of the arguments 23 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K06, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \
25// The second converts the arguments into a two-dimensional array 24 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \
25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2H, K2J, K2K, K2L, \
26 K30, K44, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3F, K3H, K3J, K3K, K3L, \
27 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \
28) { \
29 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
30 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \
31 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \
32 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, XXX, K3F, XXX, K3H, K3J, K3K, K3L }, \
33 { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \
34}
35
26#define LAYOUT_ansi( \ 36#define LAYOUT_ansi( \
27 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \ 37 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K06, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \
28 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \ 38 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \
29 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2H, K2J, K2K, K2L, \ 39 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2H, K2J, K2K, K2L, \
30 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, K3F, K3H, K3J, K3K, \ 40 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3F, K3H, K3J, K3K, K3L, \
31 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \ 41 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \
32) \ 42) { \
33{ \ 43 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
34 { K00, K01, K02, K03, K04, K05, XXX, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
35 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \ 44 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \
36 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \ 45 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \
37 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, XXX, K3D, XXX, K3F, XXX, K3H, K3J, K3K, XXX }, \ 46 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, XXX, K3F, XXX, K3H, K3J, K3K, K3L }, \
38 { K40, K41, K42, K43, XXX, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \ 47 { K40, K41, K42, K43, XXX, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \
39} 48}
40
41#endif
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index 0e7b591f8..9ae9b1098 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -31,14 +31,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#include "timer.h" 31#include "timer.h"
32#include "i2c_master.h" 32#include "i2c_master.h"
33 33
34#define SLAVE_I2C_ADDRESS_RIGHT 0x19 34#define SLAVE_I2C_ADDRESS_RIGHT 0x32
35#define SLAVE_I2C_ADDRESS_NUMPAD 0x21 35#define SLAVE_I2C_ADDRESS_NUMPAD 0x36
36#define SLAVE_I2C_ADDRESS_ARROW 0x23 36#define SLAVE_I2C_ADDRESS_ARROW 0x40
37 37
38#define ERROR_DISCONNECT_COUNT 5 38#define ERROR_DISCONNECT_COUNT 5
39static uint8_t error_count_right = 0;
40static uint8_t error_count_numpad = 0;
41static uint8_t error_count_arrow = 0;
42 39
43/* Set 0 if debouncing isn't needed */ 40/* Set 0 if debouncing isn't needed */
44 41
@@ -210,38 +207,23 @@ uint8_t matrix_scan(void)
210 } 207 }
211# endif 208# endif
212 209
213 if (i2c_transaction(SLAVE_I2C_ADDRESS_RIGHT, 0x3F, 0)){ //error has occured for main right half 210if (i2c_transaction(SLAVE_I2C_ADDRESS_RIGHT, 0x3F, 0)) {
214 error_count_right++; 211 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
215 if (error_count_right > ERROR_DISCONNECT_COUNT){ //disconnect half 212 matrix[i] &= 0x3F; //mask bits to keep
216 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
217 matrix[i] &= 0x3F; //mask bits to keep
218 }
219 }
220 }else{ //no error
221 error_count_right = 0;
222 } 213 }
214}
223 215
224 if (i2c_transaction(SLAVE_I2C_ADDRESS_ARROW, 0X3FFF, 8)){ //error has occured for arrow cluster 216if (i2c_transaction(SLAVE_I2C_ADDRESS_ARROW, 0X3FFF, 8)) {
225 error_count_arrow++; 217 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
226 if (error_count_arrow > ERROR_DISCONNECT_COUNT){ //disconnect arrow cluster 218 matrix[i] &= 0x3FFF; //mask bits to keep
227 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
228 matrix[i] &= 0x3FFF; //mask bits to keep
229 }
230 }
231 }else{ //no error
232 error_count_arrow = 0;
233 } 219 }
220}
234 221
235 if (i2c_transaction(SLAVE_I2C_ADDRESS_NUMPAD, 0x1FFFF, 11)){ //error has occured for numpad 222if (i2c_transaction(SLAVE_I2C_ADDRESS_NUMPAD, 0x1FFFF, 11)) {
236 error_count_numpad++; 223 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
237 if (error_count_numpad > ERROR_DISCONNECT_COUNT){ //disconnect numpad 224 matrix[i] &= 0x1FFFF; //mask bits to keep
238 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
239 matrix[i] &= 0x1FFFF; //mask bits to keep
240 }
241 }
242 }else{ //no error
243 error_count_numpad = 0;
244 } 225 }
226}
245 227
246 matrix_scan_quantum(); 228 matrix_scan_quantum();
247 return 1; 229 return 1;
@@ -436,29 +418,37 @@ static void unselect_cols(void)
436 418
437// Complete rows from other modules over i2c 419// Complete rows from other modules over i2c
438i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) { 420i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) {
439 i2c_status_t err = i2c_start((address << 1) | I2C_WRITE, 10); 421 i2c_status_t status = i2c_start(address, 50);
440 i2c_write(0x01, 10); //request data in address 1 422 if (status < 0) {
423 goto error;
424 }
441 425
442 i2c_start((address << 1) | I2C_READ, 5); 426 status = i2c_write(0x01, 50);
427 if (status < 0) {
428 goto error;
429 }
443 430
444 err = i2c_read_ack(10); 431 status = i2c_start(address | I2C_READ, 50);
445 if (err == 0x55) { //synchronization byte
446 432
447 for (uint8_t i = 0; i < MATRIX_ROWS-1 ; i++) { //assemble slave matrix in main matrix 433 status = i2c_read_ack(50);
448 matrix[i] &= mask; //mask bits to keep 434 if (status != 0x55) { //synchronization byte
449 err = i2c_read_ack(10); 435 goto error;
450 matrix[i] |= ((uint32_t)err << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end 436 }
451 }
452 //last read request must be followed by a NACK
453 matrix[MATRIX_ROWS - 1] &= mask; //mask bits to keep
454 err = i2c_read_nack(10);
455 matrix[MATRIX_ROWS - 1] |= ((uint32_t)err << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
456 437
457 } else { 438 for (uint8_t i = 0; i < MATRIX_ROWS-1 && status >= 0; i++) { //assemble slave matrix in main matrix
458 i2c_stop(); 439 matrix[i] &= mask; //mask bits to keep
459 return 1; 440 status = i2c_read_ack(50);
441 matrix[i] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
442 }
443 //last read request must be followed by a NACK
444 if (status >= 0) {
445 matrix[MATRIX_ROWS - 1] &= mask; //mask bits to keep
446 status = i2c_read_nack(50);
447 matrix[MATRIX_ROWS - 1] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
460 } 448 }
461 449
450error:
462 i2c_stop(); 451 i2c_stop();
463 return 0; 452
453 return (status < 0) ? status : I2C_STATUS_SUCCESS;
464} \ No newline at end of file 454} \ No newline at end of file
diff --git a/keyboards/dc01/left/rules.mk b/keyboards/dc01/left/rules.mk
index be0766489..3f4cbdf73 100644
--- a/keyboards/dc01/left/rules.mk
+++ b/keyboards/dc01/left/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/numpad/config.h b/keyboards/dc01/numpad/config.h
index e8b5d2b57..87c73ebc2 100644
--- a/keyboards/dc01/numpad/config.h
+++ b/keyboards/dc01/numpad/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1013 24#define PRODUCT_ID 0x1013
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/numpad/info.json b/keyboards/dc01/numpad/info.json
index 9e593848f..047065cb6 100644
--- a/keyboards/dc01/numpad/info.json
+++ b/keyboards/dc01/numpad/info.json
@@ -1,15 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Numpad", 2 "keyboard_name": "DC01 Numpad",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 4, 5 "width": 4,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_numpad_5x4": { 8 "LAYOUT_numpad_5x4": {
9 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}] 9 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
10 }, 10 },
11 "LAYOUT_ortho_5x4": { 11 "LAYOUT_ortho_5x4": {
12 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"00", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}] 12 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"00", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}]
13 }
13 } 14 }
14 }
15} 15}
diff --git a/keyboards/dc01/numpad/keymaps/default/keymap.c b/keyboards/dc01/numpad/keymaps/default/keymap.c
index 6c88d445f..8f2fb89b9 100644
--- a/keyboards/dc01/numpad/keymaps/default/keymap.c
+++ b/keyboards/dc01/numpad/keymaps/default/keymap.c
@@ -16,35 +16,17 @@
16#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_numpad_5x4( 19[0] = LAYOUT_numpad_5x4(
20 TG(1), KC_PSLS, KC_PAST, KC_PMNS, \ 20 TG(1), KC_PSLS, KC_PAST, KC_PMNS,
21 KC_P7, KC_P8, KC_P9, \ 21 KC_P7, KC_P8, KC_P9,
22 KC_P4, KC_P5, KC_P6, KC_PPLS, \ 22 KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_P1, KC_P2, KC_P3, \ 23 KC_P1, KC_P2, KC_P3,
24 KC_P0, KC_PDOT, KC_PENT \ 24 KC_P0, KC_PDOT, KC_PENT ),
25 ), 25
26 26[1] = LAYOUT_numpad_5x4(
27 [1] = LAYOUT_numpad_5x4( 27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 _______, _______, _______, _______, \ 28 KC_HOME, KC_UP, KC_PGUP,
29 KC_HOME, KC_UP, KC_PGUP, \ 29 KC_LEFT, KC_NO, KC_RGHT, KC_TRNS,
30 KC_LEFT, XXXXXXX, KC_RGHT, _______, \ 30 KC_END, KC_DOWN, KC_PGDN,
31 KC_END, KC_DOWN, KC_PGDN, \ 31 KC_INS, KC_DEL, KC_TRNS),
32 KC_INS, KC_DEL, _______ \
33 ),
34}; 32};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46}
47
48void led_set_user(uint8_t usb_led) {
49
50}
diff --git a/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c b/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
index 133f33cb0..c8c387646 100644
--- a/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
+++ b/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
@@ -20,31 +20,21 @@ enum custom_keycodes {
20}; 20};
21 21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 [0] = LAYOUT_ortho_5x4( 23 [0] = LAYOUT_ortho_5x4(
24 TG(1), KC_PSLS, KC_PAST, KC_PMNS, \ 24 TG(1), KC_PSLS, KC_PAST, KC_PMNS,
25 KC_P7, KC_P8, KC_P9, KC_PPLS, \ 25 KC_P7, KC_P8, KC_P9, KC_PPLS,
26 KC_P4, KC_P5, KC_P6, KC_PPLS, \ 26 KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_P1, KC_P2, KC_P3, KC_PENT, \ 27 KC_P1, KC_P2, KC_P3, KC_PENT,
28 KC_P0, KC_P00, KC_PDOT, KC_PENT \ 28 KC_P0, KC_P00, KC_PDOT, KC_PENT),
29 ), 29
30 30 [1] = LAYOUT_ortho_5x4(
31 [1] = LAYOUT_ortho_5x4( 31 _______, _______, _______, _______,
32 _______, _______, _______, _______, \ 32 KC_HOME, KC_UP, KC_PGUP, _______,
33 KC_HOME, KC_UP, KC_PGUP, _______, \ 33 KC_LEFT, XXXXXXX, KC_RGHT, _______,
34 KC_LEFT, XXXXXXX, KC_RGHT, _______, \ 34 KC_END, KC_DOWN, KC_PGDN, _______,
35 KC_END, KC_DOWN, KC_PGDN, _______, \ 35 KC_INS, XXXXXXX, KC_DEL, _______)
36 KC_INS, XXXXXXX, KC_DEL, _______ \
37 ),
38}; 36};
39 37
40void matrix_init_user(void) {
41
42}
43
44void matrix_scan_user(void) {
45
46}
47
48bool process_record_user(uint16_t keycode, keyrecord_t *record) { 38bool process_record_user(uint16_t keycode, keyrecord_t *record) {
49 if (record->event.pressed) { 39 if (record->event.pressed) {
50 switch(keycode) { 40 switch(keycode) {
@@ -56,7 +46,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
56 } 46 }
57 return true; 47 return true;
58}; 48};
59
60void led_set_user(uint8_t usb_led) {
61
62}
diff --git a/keyboards/dc01/numpad/keymaps/via/keymap.c b/keyboards/dc01/numpad/keymaps/via/keymap.c
new file mode 100644
index 000000000..bb4c17c3f
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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[0] = LAYOUT_ortho_5x4( /* Base */
20 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 KC_P7, KC_P8, KC_P9, KC_PPLS,
22 KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_P1, KC_P2, KC_P3, KC_PENT,
24 KC_P0, KC_P0, KC_PDOT, KC_PENT),
25
26[1] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
46};
diff --git a/keyboards/dc01/numpad/keymaps/via/readme.md b/keyboards/dc01/numpad/keymaps/via/readme.md
new file mode 100644
index 000000000..b2d32d9d2
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/readme.md
@@ -0,0 +1,3 @@
1# The default VIA keymap for DC01 Arrow cluster
2
3When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/numpad/keymaps/via/rules.mk b/keyboards/dc01/numpad/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c
index f8b725adc..a56c338ec 100644
--- a/keyboards/dc01/numpad/matrix.c
+++ b/keyboards/dc01/numpad/matrix.c
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34 34
35#define SLAVE_I2C_ADDRESS 0x21 35#define SLAVE_I2C_ADDRESS 0x36
36 36
37/* Set 0 if debouncing isn't needed */ 37/* Set 0 if debouncing isn't needed */
38 38
@@ -196,12 +196,10 @@ uint8_t matrix_scan(void)
196 } 196 }
197# endif 197# endif
198 198
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 199 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 200 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 201 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 202 }
203 }
204 }
205 203
206 matrix_scan_quantum(); 204 matrix_scan_quantum();
207 return 1; 205 return 1;
@@ -396,9 +394,6 @@ static void unselect_cols(void)
396 394
397//this replases tmk code 395//this replases tmk code
398void matrix_setup(void){ 396void matrix_setup(void){
399 397 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 398 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 399} \ No newline at end of file
diff --git a/keyboards/dc01/numpad/numpad.c b/keyboards/dc01/numpad/numpad.c
index 04d0a33af..2599f6320 100644
--- a/keyboards/dc01/numpad/numpad.c
+++ b/keyboards/dc01/numpad/numpad.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "numpad.h" 16#include "numpad.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/numpad/numpad.h b/keyboards/dc01/numpad/numpad.h
index 702926184..110f893b4 100644
--- a/keyboards/dc01/numpad/numpad.h
+++ b/keyboards/dc01/numpad/numpad.h
@@ -13,24 +13,19 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef NUMPAD_H 16#pragma once
17#define NUMPAD_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout.
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_numpad_5x4( \ 22#define LAYOUT_numpad_5x4( \
27 K00, K01, K02, K03, \ 23 K00, K01, K02, K03, \
28 K10, K11, K12, \ 24 K10, K11, K12, \
29 K20, K21, K22, K13, \ 25 K20, K21, K22, K13, \
30 K30, K31, K32, \ 26 K30, K31, K32, \
31 K40, K42, K43 \ 27 K40, K42, K43 \
32) \ 28) { \
33{ \
34 { K00, K01, K02, K03 }, \ 29 { K00, K01, K02, K03 }, \
35 { K10, K11, K12, K13 }, \ 30 { K10, K11, K12, K13 }, \
36 { K20, K21, K22, XXX }, \ 31 { K20, K21, K22, XXX }, \
@@ -44,13 +39,10 @@
44 K20, K21, K22, K23, \ 39 K20, K21, K22, K23, \
45 K30, K31, K32, K33, \ 40 K30, K31, K32, K33, \
46 K40, K41, K42, K43 \ 41 K40, K41, K42, K43 \
47) \ 42) { \
48{ \
49 { K00, K01, K02, K03 }, \ 43 { K00, K01, K02, K03 }, \
50 { K10, K11, K12, K13 }, \ 44 { K10, K11, K12, K13 }, \
51 { K20, K21, K22, K23 }, \ 45 { K20, K21, K22, K23 }, \
52 { K30, K31, K32, K33 }, \ 46 { K30, K31, K32, K33 }, \
53 { K40, K41, K42, K43 } \ 47 { K40, K41, K42, K43 } \
54} 48}
55
56#endif
diff --git a/keyboards/dc01/numpad/rules.mk b/keyboards/dc01/numpad/rules.mk
index 1f6883a8b..125182d3e 100644
--- a/keyboards/dc01/numpad/rules.mk
+++ b/keyboards/dc01/numpad/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/right/config.h b/keyboards/dc01/right/config.h
index e22ea6641..60672e252 100644
--- a/keyboards/dc01/right/config.h
+++ b/keyboards/dc01/right/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1011 24#define PRODUCT_ID 0x1011
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/right/info.json b/keyboards/dc01/right/info.json
index c9ae349c9..92acdf5e0 100644
--- a/keyboards/dc01/right/info.json
+++ b/keyboards/dc01/right/info.json
@@ -1,21 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Right Half", 2 "keyboard_name": "DC01 Right Half",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 8.5, 5 "width": 8.5,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_ansi": { 8 "LAYOUT_all": {
9 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0, "w":2}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"\"", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"Alt", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}] 9 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Back", "x":6.5, "y":0}, {"label":"Del", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":2, "w":1.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Shift", "x":7.5, "y":3}, {"label":"Fn", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"Win", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
10 },
11 "LAYOUT_iso": {
12 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0, "w":2}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":1, "w":1.25, "h":2}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
13 }, 10 },
14 "LAYOUT_hhkb_ansi": { 11 "LAYOUT_ansi": {
15 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0}, {"label":"~", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"\"", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Fn", "x":7.5, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"Alt", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}] 12 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Back", "x":6.5, "y":0}, {"label":"Del", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Shift", "x":7.5, "y":3}, {"label":"Fn", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"Win", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
16 }, 13 }
17 "LAYOUT_hhkb_iso": {
18 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"|", "x":6.5, "y":0}, {"label":"Backspace", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":1, "w":1.25, "h":2}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Fn", "x":7.5, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
19 }
20 } 14 }
21} 15}
diff --git a/keyboards/dc01/right/keymaps/default/keymap.c b/keyboards/dc01/right/keymaps/default/keymap.c
index 628351cfa..1bf026f3d 100644
--- a/keyboards/dc01/right/keymaps/default/keymap.c
+++ b/keyboards/dc01/right/keymaps/default/keymap.c
@@ -17,22 +17,16 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ansi( /* Base */ 19[0] = LAYOUT_ansi( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, \ 21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \ 22 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, \ 23 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,MO(1),
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \ 24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL),
25),
26};
27
28void matrix_init_user(void) {
29
30}
31 25
32void matrix_scan_user(void) { 26[1] = LAYOUT_ansi( /* Empty for Dynamic keymap */
33 27 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
34} 28 KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
35 29 KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 30 KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
37 return true; 31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
38} \ No newline at end of file 32};
diff --git a/keyboards/dc01/right/keymaps/default/readme.md b/keyboards/dc01/right/keymaps/default/readme.md
index 25567a4d3..50a56f610 100644
--- a/keyboards/dc01/right/keymaps/default/readme.md
+++ b/keyboards/dc01/right/keymaps/default/readme.md
@@ -1,3 +1,3 @@
1# The default ANSI keymap for DC01 Right 1# The default ANSI keymap for DC01 Right
2 2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file 3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c b/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c
deleted file mode 100644
index 6f9d537e1..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
1/* Copyright 2018 Yiancar
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[0] = LAYOUT_hhkb_ansi( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC, \
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,MO(1), \
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \
25),
26
27[1] = LAYOUT_hhkb_ansi(
28 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
29 KC_TRNS,KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
30 KC_PAST,KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
31 KC_PPLS,KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
33),
34};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46} \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md b/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md
deleted file mode 100644
index e3025fe3e..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default HHKB ANSI keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c b/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c
deleted file mode 100644
index 72ba350f3..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
1/* Copyright 2018 Yiancar
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[0] = LAYOUT_hhkb_iso( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, \
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, \
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS,KC_ENT, \
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,MO(1), \
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \
25),
26
27[1] = LAYOUT_hhkb_iso(
28 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
29 KC_TRNS,KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, \
30 KC_PAST,KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_PENT, \
31 KC_PPLS,KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
33),
34};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46} \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_iso/readme.md b/keyboards/dc01/right/keymaps/hhkb_iso/readme.md
deleted file mode 100644
index 36cae20ac..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_iso/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default HHKB ISO keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/iso/readme.md b/keyboards/dc01/right/keymaps/iso/readme.md
deleted file mode 100644
index 250169ed5..000000000
--- a/keyboards/dc01/right/keymaps/iso/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default ISO keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/via/keymap.c b/keyboards/dc01/right/keymaps/via/keymap.c
new file mode 100644
index 000000000..92495e6d2
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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[0] = LAYOUT_all( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
23 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL),
25
26[1] = LAYOUT_all( /* FN */
27 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
28 KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
29 KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_PENT,
30 KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/right/keymaps/via/readme.md b/keyboards/dc01/right/keymaps/via/readme.md
new file mode 100644
index 000000000..a2c2fb0cd
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/readme.md
@@ -0,0 +1,11 @@
1# The default VIA keymap for DC01 Left
2
3Please use this for ISO as well.
4
5The keymap looks like a full layout keymap.
6
7This is because the left part of the keyboard acts as the masterm coordinating all four part.
8
9When using the keyboard to connect the other three parts, this keymap overwrites the individual keymaps of the single modules.
10
11When using a module individually, the keymap of that module will take effect.
diff --git a/keyboards/dc01/right/keymaps/via/rules.mk b/keyboards/dc01/right/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c
index 6ec3a3b72..530834a7b 100644
--- a/keyboards/dc01/right/matrix.c
+++ b/keyboards/dc01/right/matrix.c
@@ -31,8 +31,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#include "timer.h" 31#include "timer.h"
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34#include "quantum.h"
34 35
35#define SLAVE_I2C_ADDRESS 0x19 36#define SLAVE_I2C_ADDRESS 0x32
36 37
37/* Set 0 if debouncing isn't needed */ 38/* Set 0 if debouncing isn't needed */
38 39
@@ -196,12 +197,10 @@ uint8_t matrix_scan(void)
196 } 197 }
197# endif 198# endif
198 199
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 200 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 203 }
203 }
204 }
205 204
206 matrix_scan_quantum(); 205 matrix_scan_quantum();
207 return 1; 206 return 1;
@@ -396,9 +395,6 @@ static void unselect_cols(void)
396 395
397//this replases tmk code 396//this replases tmk code
398void matrix_setup(void){ 397void matrix_setup(void){
399 398 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 399 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 400} \ No newline at end of file
diff --git a/keyboards/dc01/right/right.c b/keyboards/dc01/right/right.c
index fc2dead4c..bbb1d568c 100644
--- a/keyboards/dc01/right/right.c
+++ b/keyboards/dc01/right/right.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "right.h" 16#include "right.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/right/right.h b/keyboards/dc01/right/right.h
index d27b1a4f7..55616ec03 100644
--- a/keyboards/dc01/right/right.h
+++ b/keyboards/dc01/right/right.h
@@ -13,74 +13,36 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef RIGHT_H 16#pragma once
17#define RIGHT_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout. 22#define LAYOUT_all( \
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_ansi( \
27 K01, K02, K03, K04, K05, K06, K07, \
28 K10, K11, K12, K13, K14, K15, K16, K17, \
29 K20, K21, K22, K23, K24, K25, K27, \
30 K30, K31, K32, K33, K34, K37, \
31 K40, K41, K42, K43, K44, K45 \
32) \
33{ \
34 { XXX, K01, K02, K03, K04, K05, K06, K07 }, \
35 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
36 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \
37 { K30, K31, K32, K33, K34, XXX, XXX, K37 }, \
38 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
39}
40
41#define LAYOUT_iso( \
42 K01, K02, K03, K04, K05, K06, K07, \
43 K10, K11, K12, K13, K14, K15, K16, \
44 K20, K21, K22, K23, K24, K25, K26, K27, \
45 K30, K31, K32, K33, K34, K37, \
46 K40, K41, K42, K43, K44, K45 \
47) \
48{ \
49 { XXX, K01, K02, K03, K04, K05, K06, K07 }, \
50 { K10, K11, K12, K13, K14, K15, K16, XXX }, \
51 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
52 { K30, K31, K32, K33, K34, XXX, XXX, K37 }, \
53 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
54}
55
56#define LAYOUT_hhkb_ansi( \
57 K01, K02, K03, K04, K05, K06, K07, K00, \ 23 K01, K02, K03, K04, K05, K06, K07, K00, \
58 K10, K11, K12, K13, K14, K15, K16, K17, \ 24 K10, K11, K12, K13, K14, K15, K16, K17, \
59 K20, K21, K22, K23, K24, K25, K27, \ 25 K20, K21, K22, K23, K24, K25, K26, K27, \
60 K30, K31, K32, K33, K34, K36, K37, \ 26 K30, K31, K32, K33, K34, K36, K37, \
61 K40, K41, K42, K43, K44, K45 \ 27 K40, K41, K42, K43, K44, K45 \
62) \ 28) { \
63{ \
64 { K00, K01, K02, K03, K04, K05, K06, K07 }, \ 29 { K00, K01, K02, K03, K04, K05, K06, K07 }, \
65 { K10, K11, K12, K13, K14, K15, K16, K17 }, \ 30 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
66 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \ 31 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
67 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \ 32 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \
68 { K40, K41, K42, K43, K44, K45, XXX, XXX } \ 33 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
69} 34}
70 35
71#define LAYOUT_hhkb_iso( \ 36#define LAYOUT_ansi( \
72 K01, K02, K03, K04, K05, K06, K07, K00, \ 37 K01, K02, K03, K04, K05, K06, K07, K00, \
73 K10, K11, K12, K13, K14, K15, K16, \ 38 K10, K11, K12, K13, K14, K15, K16, K17, \
74 K20, K21, K22, K23, K24, K25, K26, K27, \ 39 K20, K21, K22, K23, K24, K25, K27, \
75 K30, K31, K32, K33, K34, K36, K37, \ 40 K30, K31, K32, K33, K34, K36, K37, \
76 K40, K41, K42, K43, K44, K45 \ 41 K40, K41, K42, K43, K44, K45 \
77) \ 42) { \
78{ \
79 { K00, K01, K02, K03, K04, K05, K06, K07 }, \ 43 { K00, K01, K02, K03, K04, K05, K06, K07 }, \
80 { K10, K11, K12, K13, K14, K15, K16, XXX }, \ 44 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
81 { K20, K21, K22, K23, K24, K25, K26, K27 }, \ 45 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \
82 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \ 46 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \
83 { K40, K41, K42, K43, K44, K45, XXX, XXX } \ 47 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
84} 48}
85
86#endif
diff --git a/keyboards/dc01/right/rules.mk b/keyboards/dc01/right/rules.mk
index f257a56a0..3a311f985 100644
--- a/keyboards/dc01/right/rules.mk
+++ b/keyboards/dc01/right/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug