aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/handwired/CMD60/README.md35
-rw-r--r--keyboards/handwired/CMD60/keymaps/default/keymap.c66
-rw-r--r--keyboards/handwired/cmd60/cmd60.c (renamed from keyboards/handwired/CMD60/CMD60.c)2
-rw-r--r--keyboards/handwired/cmd60/cmd60.h (renamed from keyboards/handwired/CMD60/CMD60.h)18
-rw-r--r--keyboards/handwired/cmd60/config.h (renamed from keyboards/handwired/CMD60/config.h)0
-rw-r--r--keyboards/handwired/cmd60/info.json74
-rw-r--r--keyboards/handwired/cmd60/keymaps/default/keymap.c46
-rw-r--r--keyboards/handwired/cmd60/readme.md19
-rw-r--r--keyboards/handwired/cmd60/rules.mk (renamed from keyboards/handwired/CMD60/rules.mk)0
9 files changed, 149 insertions, 111 deletions
diff --git a/keyboards/handwired/CMD60/README.md b/keyboards/handwired/CMD60/README.md
deleted file mode 100644
index 8b0dd109f..000000000
--- a/keyboards/handwired/CMD60/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
1CMD60 keyboard firmware
2======================
3
4##CMD60
5
6This layout has been designed to optimize use of the left-hand, and it focussed specifically on programmers who work
7with text editors like SublimeText and Atom. It utilizes the power of Space_fn, and features a caps lock swap for Fn2
8and enter key on tap. These features allow you to keep your right hand on the mouse more and should enable you to
9achieve a higher level of productivity if you take the time to learn its function layers.
10
11## Quantum MK Firmware
12
13For the full Quantum feature list, see [the parent readme.md](/docs/README.md).
14
15## Building
16
17Download or clone the whole firmware and navigate to the keyboards/handwired/CMD60 folder.
18Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use
19the Teensy Loader to program your .hex file.
20
21Depending on which keymap you would like to use, you will have to compile slightly differently.
22
23### Default
24
25To build with the default keymap, simply run `make`.
26
27### Other Keymaps
28
29To build the firmware binary hex file with a keymap just do `make` with `keymap` option like:
30
31```
32$ make keymap=[default|jack|<name>]
33```
34
35Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/`
diff --git a/keyboards/handwired/CMD60/keymaps/default/keymap.c b/keyboards/handwired/CMD60/keymaps/default/keymap.c
deleted file mode 100644
index 9f9cbcd66..000000000
--- a/keyboards/handwired/CMD60/keymaps/default/keymap.c
+++ /dev/null
@@ -1,66 +0,0 @@
1#include "CMD60.h"
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = KEYMAP( /* CMD60 - QWERTY */
5 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, \
6 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, \
7 LT(3, KC_ENT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
8 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_NO, KC_RSFT, \
9 KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), MO(3), MO(4), MO(5), TG(1) \
10 ),
11 [1] = KEYMAP( /* CMD60 - GameMode */
12 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, \
13 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, \
14 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \
15 KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_RSFT, \
16 KC_TRNS, KC_NO, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
17 ),
18 [2] = KEYMAP( /* CMD60 - Arrows */
19 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
20 KC_TRNS, KC_BSPC, KC_UP, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \
21 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \
22 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, \
23 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
24 ),
25 [3] = KEYMAP( /* CMD60 - Functions */
26 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
27 KC_AUDIO_MUTE, KC_BSPC, KC_PGUP, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_PAUSE, KC_SLCK, KC_PSCREEN, \
28 KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_INSERT, KC_NO, KC_TRNS, \
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, \
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
31 ),
32 [4] = KEYMAP( /* CMD60 - Mouse */
33 KC_SYSTEM_SLEEP, 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, \
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, \
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_NO, KC_TRNS, \
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_WH_UP, KC_MS_BTN3, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_TRNS, \
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
38 ),
39 [5] = KEYMAP( /* CMD60 - Media */
40 KC_SYSTEM_WAKE, 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, \
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, \
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_PLAY_PAUSE, \
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WWW_BACK, KC_WWW_FORWARD, KC_NO, KC_NO, KC_WWW_REFRESH, \
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
45 ),
46};
47
48const uint16_t PROGMEM fn_actions[] = {
49
50};
51
52
53const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
54{
55 // MACRODOWN only works in this function
56 switch(id) {
57 case 0:
58 if (record->event.pressed) {
59 register_code(KC_RSFT);
60 } else {
61 unregister_code(KC_RSFT);
62 }
63 break;
64 }
65 return MACRO_NONE;
66};
diff --git a/keyboards/handwired/CMD60/CMD60.c b/keyboards/handwired/cmd60/cmd60.c
index 799848e34..91bbbd453 100644
--- a/keyboards/handwired/CMD60/CMD60.c
+++ b/keyboards/handwired/cmd60/cmd60.c
@@ -1,4 +1,4 @@
1#include "CMD60.h" 1#include "cmd60.h"
2 2
3void matrix_init_kb(void) { 3void matrix_init_kb(void) {
4 // put your keyboard start-up code here 4 // put your keyboard start-up code here
diff --git a/keyboards/handwired/CMD60/CMD60.h b/keyboards/handwired/cmd60/cmd60.h
index f90871fc7..2e0baa999 100644
--- a/keyboards/handwired/CMD60/CMD60.h
+++ b/keyboards/handwired/cmd60/cmd60.h
@@ -3,18 +3,18 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6#define KEYMAP( \ 6#define LAYOUT( \
7 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ 7 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
8 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 8 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
9 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ 9 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
10 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 10 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, \
11 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 11 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
12 ) { \ 12 ) { \
13 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 13 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
14 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 14 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
15 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ 15 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
16 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 16 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, KC_NO, K3D }, \
17 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO,K4A, K4B, K4C, K4D } \ 17 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
18} 18}
19 19
20#endif \ No newline at end of file 20#endif
diff --git a/keyboards/handwired/CMD60/config.h b/keyboards/handwired/cmd60/config.h
index 27eb400b8..27eb400b8 100644
--- a/keyboards/handwired/CMD60/config.h
+++ b/keyboards/handwired/cmd60/config.h
diff --git a/keyboards/handwired/cmd60/info.json b/keyboards/handwired/cmd60/info.json
new file mode 100644
index 000000000..8d555dc07
--- /dev/null
+++ b/keyboards/handwired/cmd60/info.json
@@ -0,0 +1,74 @@
1{
2 "keyboard_name": "CMD60",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"`", "x":0, "y":0},
11 {"label":"1", "x":1, "y":0},
12 {"label":"2", "x":2, "y":0},
13 {"label":"3", "x":3, "y":0},
14 {"label":"4", "x":4, "y":0},
15 {"label":"5", "x":5, "y":0},
16 {"label":"6", "x":6, "y":0},
17 {"label":"7", "x":7, "y":0},
18 {"label":"8", "x":8, "y":0},
19 {"label":"9", "x":9, "y":0},
20 {"label":"0", "x":10, "y":0},
21 {"label":"-", "x":11, "y":0},
22 {"label":"=", "x":12, "y":0},
23 {"label":"Backspace", "x":13, "y":0, "w":2},
24 {"label":"Tab", "x":0, "y":1, "w":1.5},
25 {"label":"Q", "x":1.5, "y":1},
26 {"label":"W", "x":2.5, "y":1},
27 {"label":"E", "x":3.5, "y":1},
28 {"label":"R", "x":4.5, "y":1},
29 {"label":"T", "x":5.5, "y":1},
30 {"label":"Y", "x":6.5, "y":1},
31 {"label":"U", "x":7.5, "y":1},
32 {"label":"I", "x":8.5, "y":1},
33 {"label":"O", "x":9.5, "y":1},
34 {"label":"P", "x":10.5, "y":1},
35 {"label":"[", "x":11.5, "y":1},
36 {"label":"]", "x":12.5, "y":1},
37 {"label":"\\", "x":13.5, "y":1, "w":1.5},
38 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
39 {"label":"A", "x":1.75, "y":2},
40 {"label":"S", "x":2.75, "y":2},
41 {"label":"D", "x":3.75, "y":2},
42 {"label":"F", "x":4.75, "y":2},
43 {"label":"G", "x":5.75, "y":2},
44 {"label":"H", "x":6.75, "y":2},
45 {"label":"J", "x":7.75, "y":2},
46 {"label":"K", "x":8.75, "y":2},
47 {"label":"L", "x":9.75, "y":2},
48 {"label":";", "x":10.75, "y":2},
49 {"label":"'", "x":11.75, "y":2},
50 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
51 {"label":"Shift", "x":0, "y":3, "w":2.25},
52 {"label":"Z", "x":2.25, "y":3},
53 {"label":"X", "x":3.25, "y":3},
54 {"label":"C", "x":4.25, "y":3},
55 {"label":"V", "x":5.25, "y":3},
56 {"label":"B", "x":6.25, "y":3},
57 {"label":"N", "x":7.25, "y":3},
58 {"label":"M", "x":8.25, "y":3},
59 {"label":",", "x":9.25, "y":3},
60 {"label":".", "x":10.25, "y":3},
61 {"label":"/", "x":11.25, "y":3},
62 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
63 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
64 {"label":"GUI", "x":1.25, "y":4, "w":1.25},
65 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
66 {"label":"Space", "x":3.75, "y":4, "w":6.25},
67 {"label":"Alt", "x":10, "y":4, "w":1.25},
68 {"label":"GUI", "x":11.25, "y":4, "w":1.25},
69 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
70 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
71 ]
72 }
73 }
74}
diff --git a/keyboards/handwired/cmd60/keymaps/default/keymap.c b/keyboards/handwired/cmd60/keymaps/default/keymap.c
new file mode 100644
index 000000000..448d81dc1
--- /dev/null
+++ b/keyboards/handwired/cmd60/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = LAYOUT( /* CMD60 - QWERTY */
5 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, \
6 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, \
7 LT(3, KC_ENT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
8 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
9 KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), MO(3), MO(4), MO(5), TG(1) \
10 ),
11 [1] = LAYOUT( /* CMD60 - GameMode */
12 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
13 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
14 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
15 KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, \
16 _______, XXXXXXX, _______, KC_SPC, _______, _______, _______, _______ \
17 ),
18 [2] = LAYOUT( /* CMD60 - Arrows */
19 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
20 _______, KC_BSPC, KC_UP, KC_DEL, _______, _______, _______, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
21 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, \
22 _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \
23 _______, _______, _______, _______, _______, _______, _______, _______ \
24 ),
25 [3] = LAYOUT( /* CMD60 - Functions */
26 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
27 KC_MUTE, KC_BSPC, KC_PGUP, KC_DEL, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, KC_PAUS, KC_SLCK, KC_PSCR, \
28 _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_INS, _______, \
29 _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, \
30 _______, _______, _______, _______, _______, _______, _______, _______ \
31 ),
32 [4] = LAYOUT( /* CMD60 - Mouse */
33 KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
34 _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, \
35 _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, \
36 _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_BTN3, KC_WH_D, _______, \
37 _______, _______, _______, _______, _______, _______, _______, _______ \
38 ),
39 [5] = LAYOUT( /* CMD60 - Media */
40 KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, \
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, \
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, KC_WREF, \
44 _______, _______, _______, _______, _______, _______, _______, _______ \
45 ),
46};
diff --git a/keyboards/handwired/cmd60/readme.md b/keyboards/handwired/cmd60/readme.md
new file mode 100644
index 000000000..933ac16d5
--- /dev/null
+++ b/keyboards/handwired/cmd60/readme.md
@@ -0,0 +1,19 @@
1# CMD60
2
3![CMD60](https://i.imgur.com/r9LA6Lx.jpg)
4
5This layout has been designed to optimize use of the left-hand, and it focussed specifically on programmers who work
6with text editors like SublimeText and Atom. It utilizes the power of Space_fn, and features a caps lock swap for Fn2
7and enter key on tap. These features allow you to keep your right hand on the mouse more and should enable you to
8achieve a higher level of productivity if you take the time to learn its function layers.
9
10[Build Log](https://redd.it/4mkuu8)
11
12Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
13Hardware Supported: CMD60 handwired, Teensy 2.0
14
15Make example for this keyboard (after setting up your build environment):
16
17 make handwired/cmd60:default
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/handwired/CMD60/rules.mk b/keyboards/handwired/cmd60/rules.mk
index d980716ea..d980716ea 100644
--- a/keyboards/handwired/CMD60/rules.mk
+++ b/keyboards/handwired/cmd60/rules.mk