aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlake C. Lewis <blake.lewis@gmail.com>2020-02-19 03:12:52 -0600
committerGitHub <noreply@github.com>2020-02-19 01:12:52 -0800
commit419002a63b1824e6da61d802bcb6f6ab5b35def6 (patch)
tree461118c3c8c5db16b1389faef2cb8c08db4f43c0
parent1566f0a9978b7799741d9499228d525aa5019258 (diff)
downloadqmk_firmware-419002a63b1824e6da61d802bcb6f6ab5b35def6.tar.gz
qmk_firmware-419002a63b1824e6da61d802bcb6f6ab5b35def6.zip
[Keyboard] KC60SE cleanup (#8171)
* coding style cleanup, enable/disable misconfigured/broken features * add SCLN missing, compile with backlight PWM warning * edit json * new info.json from KLE * new info.json from KLE using QMK converter * changes notes * notes in pull request * missing line in comments * line wrap * Update keyboards/kc60se/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * comment back in rules.mk * add 2 iso layouts and keymaps, 1 ansi kemap, compiled and tested * keymaps and info * Delete keymap.c not ready, I need to get a few iso characters corrected * Delete keymap.c not ready, need to get a few iso character define correctly * Update info.json Bspc to Backspace * no unicode * gui_on and gui_off in readme * Update keyboards/kc60se/rules.mk Co-Authored-By: fauxpark <fauxpark@gmail.com> * remove is_command * Update keyboards/kc60se/config.h remove comment Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/kc60se/config.h Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/kc60se/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * remove \\ in keymaps * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * set led pin b2 to output mode in matrix_init_kb(), toggle it in led_update_kb() * Update config.h I had commented FORCE_NKRO out.. WHy did it com back? Co-authored-by: Check your git settings! <chris@chris-laptop> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/kc60se/config.h25
-rw-r--r--keyboards/kc60se/info.json74
-rw-r--r--keyboards/kc60se/kc60se.c20
-rw-r--r--keyboards/kc60se/kc60se.h82
-rw-r--r--keyboards/kc60se/keymaps/60_ansi/keymap.c66
-rw-r--r--keyboards/kc60se/keymaps/default/config.h19
-rw-r--r--keyboards/kc60se/keymaps/default/keymap.c50
-rw-r--r--keyboards/kc60se/keymaps/default/readme.md47
-rw-r--r--keyboards/kc60se/readme.md60
-rw-r--r--keyboards/kc60se/rules.mk15
10 files changed, 314 insertions, 144 deletions
diff --git a/keyboards/kc60se/config.h b/keyboards/kc60se/config.h
index 5fffe6114..6e23e2ce2 100644
--- a/keyboards/kc60se/config.h
+++ b/keyboards/kc60se/config.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#pragma once
19#define CONFIG_H
20 19
21#include "config_common.h" 20#include "config_common.h"
22 21
@@ -24,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
24#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x0000 24#define PRODUCT_ID 0x0000
26#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
27#define MANUFACTURER NPKC 26#define MANUFACTURER Unknown
28#define PRODUCT kc60se 27#define PRODUCT kc60se
29#define DESCRIPTION A custom 60% keyboard 28#define DESCRIPTION A custom 60% keyboard
30 29
@@ -32,32 +31,30 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#define MATRIX_ROWS 5 31#define MATRIX_ROWS 5
33#define MATRIX_COLS 14 32#define MATRIX_COLS 14
34 33
35/* 34/* * Keyboard Matrix Assignments */
36 * Keyboard Matrix Assignments
37 */
38
39#define UNUSED_PINS 35#define UNUSED_PINS
40#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } 36#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
41#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 } 37#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
38
42/* COL2ROW, ROW2COL*/ 39/* COL2ROW, ROW2COL*/
43#define DIODE_DIRECTION COL2ROW 40#define DIODE_DIRECTION COL2ROW
44 41
45#define BACKLIGHT_PIN F5 42#define BACKLIGHT_PIN F5
46// #define BACKLIGHT_BREATHING
47#define BACKLIGHT_LEVELS 6 43#define BACKLIGHT_LEVELS 6
48 44
45// #define BACKLIGHT_BREATHING
46
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 47/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 5 48#define DEBOUNCE 5
51 49
52/* define if matrix has ghost (lacks anti-ghosting diodes) */ 50/* define if matrix has ghost (lacks anti-ghosting diodes) */
53//#define MATRIX_HAS_GHOST 51//#define MATRIX_HAS_GHOST
54 52
55/* number of backlight levels */
56
57/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 53/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
58#define LOCKING_SUPPORT_ENABLE 54// #define LOCKING_SUPPORT_ENABLE
55
59/* Locking resynchronize hack */ 56/* Locking resynchronize hack */
60#define LOCKING_RESYNC_ENABLE 57// #define LOCKING_RESYNC_ENABLE
61 58
62/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. 59/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
63 * This is userful for the Windows task manager shortcut (ctrl+shift+esc). 60 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
@@ -83,7 +80,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
83 * power-up. 80 * power-up.
84 * 81 *
85 */ 82 */
86//#define FORCE_NKRO 83// #define FORCE_NKRO
87 84
88/* 85/*
89 * Magic Key Options 86 * Magic Key Options
@@ -173,5 +170,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
173 170
174/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 171/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
175//#define MIDI_TONE_KEYCODE_OCTAVES 1 172//#define MIDI_TONE_KEYCODE_OCTAVES 1
176
177#endif
diff --git a/keyboards/kc60se/info.json b/keyboards/kc60se/info.json
index 2951e4568..de61cb717 100644
--- a/keyboards/kc60se/info.json
+++ b/keyboards/kc60se/info.json
@@ -1,20 +1,58 @@
1{ 1{
2 "keyboard_name": "kc60se", 2 "keyboard_name": "kc60se",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 15, 5 "width": 15,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT_all": {
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}, {"label":"~", "x":14, "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":"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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"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}, {"x":14, "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":6.25}, {"label":"Alt", "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}] 9 "key_count": 65,
10 }, 10 "layout": [
11 11 {"label":"Esc", "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":"|", "x":13, "y":0},{"label":"~", "x":14, "y":0},
12 "LAYOUT_60_ansi_split_bs_rshift": { 12 {"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":"Backspace", "x":13.5, "y":1, "w":1.5},
13 "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}, {"x":13, "y":0}, {"x":14, "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":"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":"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}, {"x":14, "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":6.25}, {"label":"Alt", "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}] 13 {"label":"Control", "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},
14 }, 14 {"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":"Fn", "x":14, "y":3},
15 15 {"label":"Gui", "x":0, "y":4, "w":1.25},{"label":"Alt", "x":1.25, "y":4, "w":1.25},{"label":"Fn", "x":2.5, "y":4, "w":1.25},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
16 "LAYOUT_60_ansi": { 16 ]
17 "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":"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":"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":"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":"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":6.25}, {"label":"Alt", "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}] 17 },
18 } 18 "LAYOUT_60_ansi": {
19 } 19 "key_count": 61,
20 "layout": [
21 {"label":"Esc", "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},
22 {"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},
23 {"label":"CapsLock", "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},
24 {"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},
25 {"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},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
26 },
27 "LAYOUT_60_iso": {
28 "key_count": 62,
29 "layout": [
30 {"label":"Esc", "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},
31 {"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},
32 {"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":1, "w":1.25, "h":2},
33 {"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":2.75},
34 {"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":6.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}
35 ]
36 },
37 "LAYOUT_60_ansi_split_bs_rshift": {
38 "key_count": 63,
39 "layout": [
40 {"label":"Esc~", "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":"|", "x":13, "y":0},{"label":"~", "x":14, "y":0},
41 {"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":"Backspace", "x":13.5, "y":1, "w":1.5},
42 {"label":"Control", "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},
43 {"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":"Fn", "x":14, "y":3},
44 {"label":"Gui", "x":0, "y":4, "w":1.25},{"label":"Alt", "x":1.25, "y":4, "w":1.25},{"label":"Fn", "x":2.5, "y":4, "w":1.25},{"label":" ", "x":3.75, "y":4, "w":6.25},{"label":"Alt", "x":10, "y":4, "w":1.25},{"label":"Gui", "x":11.25, "y":4, "w":1.25},{"label":"Win", "x":12.5, "y":4, "w":1.25},{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
45 ]
46 },
47 "LAYOUT_60_iso_split_bs_rshift": {
48 "key_count": 64,
49 "layout": [
50 {"label":"Esc", "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":"`", "x":13, "y":0},{"label":"Backspace", "x":14, "y":0},
51 {"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},
52 {"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":1, "w":1.25, "h":2},
53 {"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":"Fn", "x":14, "y":3},
54 {"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":6.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}
55 ]
56 }
57 }
20} 58}
diff --git a/keyboards/kc60se/kc60se.c b/keyboards/kc60se/kc60se.c
index 2bf0b1b92..e484d74db 100644
--- a/keyboards/kc60se/kc60se.c
+++ b/keyboards/kc60se/kc60se.c
@@ -13,12 +13,18 @@
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#include "kc60se.h"
17 16
18extern inline void kc60se_caps_led_on(void); 17#include QMK_KEYBOARD_H
19extern inline void kc60se_caps_led_off(void); 18
19void matrix_init_kb(void){
20 setPinOutput(B2);
21}
22
23bool led_update_kb(led_t led_state) {
24 bool res = led_update_user(led_state);
25 if(res) {
26 writePin(B2, !led_state.caps_lock);
27 }
28 return res;
29}
20 30
21void led_set_kb(uint8_t usb_led) {
22 (usb_led & (1<<USB_LED_CAPS_LOCK))? kc60se_caps_led_on(): kc60se_caps_led_off();
23 led_set_user(usb_led);
24} \ No newline at end of file
diff --git a/keyboards/kc60se/kc60se.h b/keyboards/kc60se/kc60se.h
index b57f12a45..0277e3a90 100644
--- a/keyboards/kc60se/kc60se.h
+++ b/keyboards/kc60se/kc60se.h
@@ -13,28 +13,20 @@
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 KC60SE_H 16
17#define KC60SE_H 17#pragma once
18 18
19#include "quantum.h" 19#include "quantum.h"
20 20
21// readability
22#define ___ KC_NO 21#define ___ KC_NO
23 22
24inline void kc60se_caps_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); } 23// clang-format off
25inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); } 24#define LAYOUT_all( \
26 25 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
27/* kc60se keymap definition macro 26 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
28 * K2C, K31 and K3C are keys for ISO 27 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
29 * This is the row/column wiring, which different from the physical layout. 28 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
30 */ 29 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
31// All pads defined in logical layout. The ___ in this section are padless.
32#define LAYOUT( \
33 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
34 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
35 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
36 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
37 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
38) { \ 30) { \
39 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 31 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
40 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 32 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
@@ -43,13 +35,12 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
43 { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D } \ 35 { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D } \
44} 36}
45 37
46/* ANSI */
47#define LAYOUT_60_ansi( \ 38#define LAYOUT_60_ansi( \
48 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ 39 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
49 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 40 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
50 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ 41 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
51 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 42 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
52 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 43 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
53) { \ 44) { \
54 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 45 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
55 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 46 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
@@ -58,17 +49,12 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
58 { K40, K41, K42, ___, ___, K45, ___, ___, ___, ___, K4A, K4B, K4C, K4D } \ 49 { K40, K41, K42, ___, ___, K45, ___, ___, ___, ___, K4A, K4B, K4C, K4D } \
59} 50}
60 51
61/* HHKB
62 * K2C & K31 are represented as ___, otherwise this is
63 * the best representation of the physical layout, (K49 on top right).
64 * The ___s on the space row do not have pads
65 */
66#define LAYOUT_60_ansi_split_bs_rshift( \ 52#define LAYOUT_60_ansi_split_bs_rshift( \
67 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \ 53 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
68 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 54 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
69 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ 55 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
70 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \ 56 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
71 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 57 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
72) { \ 58) { \
73 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 59 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
74 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 60 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
@@ -76,6 +62,32 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
76 { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 62 { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
77 { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D } \ 63 { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, K4B, K4C, K4D } \
78} 64}
65#define LAYOUT_60_iso( \
66 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
67 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
68 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
69 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
70 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
71){ \
72 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
73 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___ }, \
74 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
75 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D }, \
76 { K40, K41, K42, ___, ___, K45, ___, ___, ___, ___, K4A, K4B, K4C, K4D } \
77}
79 78
80 79#define LAYOUT_60_iso_split_bs_rshift( \
81#endif 80 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, k49, \
81 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
82 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
83 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
84 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
85){ \
86 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
87 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___ }, \
88 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
89 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
90 { K40, K41, K42, ___, ___, K45, ___, ___, ___, k49, K4A, K4B, K4C, K4D } \
91}
92#define LAYOUT LAYOUT_all
93// clang-format on
diff --git a/keyboards/kc60se/keymaps/60_ansi/keymap.c b/keyboards/kc60se/keymaps/60_ansi/keymap.c
new file mode 100644
index 000000000..d59a8b95d
--- /dev/null
+++ b/keyboards/kc60se/keymaps/60_ansi/keymap.c
@@ -0,0 +1,66 @@
1/* Copyright 2020 Blake C. Lewis
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
17#include QMK_KEYBOARD_H
18
19/* ANSI */
20
21enum my_layers { _BL, _FL };
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 // clang-format off
25 [_BL] = LAYOUT_60_ansi(
26 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
27 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,
28 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,
29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
30 KC_LGUI, KC_LALT, MO(_FL), KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
31 ),
32 [_FL] = LAYOUT_60_ansi(
33 _______, 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,
34 _______, _______, _______, _______, _______, _______, BL_ON, BL_STEP, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_INS,
35 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
36 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, KC_END, KC_PGDN, KC_DOWN, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______
38 )
39 // clang-format on
40};
41
42/* BL
43 *.--------------------------------------------------------------------------.
44 *| esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |backspace|
45 *|--------------------------------------------------------------------------|
46 *| tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ |
47 *|--------------------------------------------------------------------------|
48 *| caps | a | s | d | f | g | h | j | k | l | ; | ' | enter |
49 *|--------------------------------------------------------------------------|
50 *| lshift | z | x | c | v | b | n | m | , | . | / | rshift |
51 *|--------------------------------------------------------------------------|
52 *| lgui| lalt|mo(FL)| space |ralt |rgui | app |rctl |
53 *'--------------------------------------------------------------------------'
54 * FL
55 *.--------------------------------------------------------------------------.
56 *| | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| del |
57 *|--------------------------------------------------------------------------|
58 *| | | | | | |blon|blup| psc|slck|paus| up | |insert |
59 *|--------------------------------------------------------------------------|
60 *| | | | | | | | |home|pgup|left|rght| |
61 *|--------------------------------------------------------------------------|
62 *| |vol-|vol+|mute| | |NKRO| |end |pgdn|down| |
63 *|--------------------------------------------------------------------------|
64 *| | | | | | | | |
65 *'--------------------------------------------------------------------------'
66 */
diff --git a/keyboards/kc60se/keymaps/default/config.h b/keyboards/kc60se/keymaps/default/config.h
deleted file mode 100644
index 4496c5910..000000000
--- a/keyboards/kc60se/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* Copyright 2018 REPLACE_WITH_YOUR_NAME
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
17#pragma once
18
19// place overrides here
diff --git a/keyboards/kc60se/keymaps/default/keymap.c b/keyboards/kc60se/keymaps/default/keymap.c
index aecf0b5a1..77ac63aee 100644
--- a/keyboards/kc60se/keymaps/default/keymap.c
+++ b/keyboards/kc60se/keymaps/default/keymap.c
@@ -13,16 +13,34 @@
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
16#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
17 18
18#define _DEFAULT 0 19/* Happy Hacker Keyboard */
19#define _FN 1 20
21enum layer_names { _BL, _FL };
20 22
21#define xxxxxx KC_TRNS
22 23
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24/* hhkb - layer 0 25// clang-format off
25 * split_bs/split_rshift/+ctrl-caplock 26 [_BL] = LAYOUT_60_ansi_split_bs_rshift(
27 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_BSLS, KC_GRV,
28 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_BSPC,
29 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL),
31 KC_NO, KC_LALT, MO(_FL), KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_NO
32 ),
33 [_FL] = LAYOUT_60_ansi_split_bs_rshift(
34 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS,
35 KC_CAPS, BL_ON, BL_STEP, _______, _______, NK_TOGG, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL,
36 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
37 _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
38 _______, _______, _______, _______, _______, KC_MSTP, _______, _______
39 )
40// clang-format on
41};
42
43/* BL
26 *,--------------------------------------------------------------------------. 44 *,--------------------------------------------------------------------------.
27 *| esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | 45 *| esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
28 *|--------------------------------------------------------------------------+ 46 *|--------------------------------------------------------------------------+
@@ -34,21 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 *|--------------------------------------------------------------------------+ 52 *|--------------------------------------------------------------------------+
35 * |lalt| fn1 | space | rgui |ralt| 53 * |lalt| fn1 | space | rgui |ralt|
36 * `-----------------------------------------------------------' 54 * `-----------------------------------------------------------'
37 */ 55 * FL
38 [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
39 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_BSLS, KC_GRV, \
40 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_BSPC, \
41 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
42 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
43 xxxxxx, KC_LALT, MO(_FN), KC_SPC, xxxxxx, KC_RGUI, KC_RALT, xxxxxx \
44 ),
45
46/* split_bs/split_rshift/+ctrl-caplock - Layer 1
47 *
48 *,--------------------------------------------------------------------------. 56 *,--------------------------------------------------------------------------.
49 *| | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| | ins| 57 *| | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| | ins|
50 *|--------------------------------------------------------------------------+ 58 *|--------------------------------------------------------------------------+
51 *| caps |blon|blup| | | | | | psc|slck|paus| up | | del | 59 *| caps |blon|blup| | |NKRO| | | psc|slck|paus| up | | del |
52 *|--------------------------------------------------------------------------+ 60 *|--------------------------------------------------------------------------+
53 *| |vol-|vol+|mute| | | * | / |home|pgup|left|rght| penter | 61 *| |vol-|vol+|mute| | | * | / |home|pgup|left|rght| penter |
54 *|--------------------------------------------------------------------------+ 62 *|--------------------------------------------------------------------------+
@@ -57,11 +65,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
57 * | | | | stop | | 65 * | | | | stop | |
58 * `----------------------------------------------------------' 66 * `----------------------------------------------------------'
59 */ 67 */
60 [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
61 xxxxxx, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, xxxxxx,KC_INS, \
62 KC_CAPS, BL_ON, BL_STEP, xxxxxx, xxxxxx, xxxxxx, xxxxxx, xxxxxx, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, xxxxxx, KC_DEL, \
63 xxxxxx, KC_VOLD, KC_VOLU, KC_MUTE, xxxxxx, xxxxxx, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,xxxxxx, \
64 xxxxxx, KC_MPRV, KC_MPLY, KC_MNXT, xxxxxx, xxxxxx, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, xxxxxx, xxxxxx, \
65 xxxxxx, xxxxxx, xxxxxx, xxxxxx, xxxxxx, KC_MSTP, xxxxxx, xxxxxx \
66 )
67};
diff --git a/keyboards/kc60se/keymaps/default/readme.md b/keyboards/kc60se/keymaps/default/readme.md
index 901428686..85b8d0147 100644
--- a/keyboards/kc60se/keymaps/default/readme.md
+++ b/keyboards/kc60se/keymaps/default/readme.md
@@ -1,9 +1,32 @@
1# The default keymap for kc60se 1# HHKB: The default keymap for KC60SE
2 2
3# hhkb-qwerty-wkl 3## Happy Hacker Keyboard (US layout):
4======================== 4* [Esc] moves down replacing [ ~ ]
5 ### layer 0 - default 5* 2u [Backspace] split into [ \ ] and [ ~ ]
6 ``` 6* move [Backspace] down a row to replace [ \ ]
7* a dip switch toggles the default: Delete or Backspace, [Fn ] invokes non-default
8* 2.75u [ Shift ] split into 1.75u [Shift] & [Fn ]
9* Control replaces Caplock, [FN ] [ Tab ] toggles Caplock, led under Control toggles w/Caplock
10* the botom row is configurable, the Meta key could be assigned a few values with dip switches,
11* HHKB Lite2
12
13```
14 |Fn |Alt |Meta| Space |Meta|Alt |
15 |Fn |Meta|Alt | Space |ALt |Meta|
16```
17* HHKB Professional2
18
19```
20 |Alt |Fn | Space |Meta|Alt |
21 |Meta|Alt | Space |Alt |Meta|
22 |Fn |Alt | Space |Alt |Meta|
23```
24* this PCB and keymap will support up to 8 keys on the bottom row with minimal editing.
25
26
27## Base Layer
28
29```
7 ,--------------------------------------------------------------------------. 30 ,--------------------------------------------------------------------------.
8 | esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | 31 | esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
9 |--------------------------------------------------------------------------| 32 |--------------------------------------------------------------------------|
@@ -15,13 +38,16 @@
15 `--------------------------------------------------------------------------' 38 `--------------------------------------------------------------------------'
16 |lalt| fn0 | space | rgui |ralt| 39 |lalt| fn0 | space | rgui |ralt|
17 `------------------------------------------------------------' 40 `------------------------------------------------------------'
18 ``` 41```
19 ### layer 1 - Q/W backlight controls: BL_ON &amp; BL_STEP 42## Function Layer
20 ``` 43* Extra keys: (mprv, mply, mnxt)
44* I think the number pad * / - and + did not come on the Professional, but did on Lite
45
46```
21 ,--------------------------------------------------------------------------. 47 ,--------------------------------------------------------------------------.
22 | | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| | ins| 48 | | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10| f11| f12| | ins|
23 |--------------------------------------------------------------------------| 49 |--------------------------------------------------------------------------|
24 | caps |blon|blup| | | | | | psc|slck|paus| up | | del | 50 | caps |blon|blup| | |NKRO| | | psc|slck|paus| up | | del |
25 |--------------------------------------------------------------------------| 51 |--------------------------------------------------------------------------|
26 | |vol-|vol+|mute| | | * | / |home|pgup|left|rght| penter | 52 | |vol-|vol+|mute| | | * | / |home|pgup|left|rght| penter |
27 |--------------------------------------------------------------------------| 53 |--------------------------------------------------------------------------|
@@ -29,4 +55,5 @@
29 `--------------------------------------------------------------------------' 55 `--------------------------------------------------------------------------'
30 | | | | mstop | | 56 | | | | mstop | |
31 `-----------------------------------------------------------' 57 `-----------------------------------------------------------'
32 ``` \ No newline at end of file 58```
59
diff --git a/keyboards/kc60se/readme.md b/keyboards/kc60se/readme.md
index d6edbdb35..55583d81d 100644
--- a/keyboards/kc60se/readme.md
+++ b/keyboards/kc60se/readme.md
@@ -1,15 +1,61 @@
1# kc60se 1# kc60se
2 2
3![kc60se](imgur.com image replace me!) 3* Keyboard Maintainer: [Blake C. Lewis](https://github.com/BlakeCLewis), [MechMerlin](https://www.github.com/mechmerlin)
4* Hardware Supported: KC60SE
5* Hardware Availability: PCB is no longer available
4 6
5A short description of the keyboard/project 7## Description:
8 * 60% keyboard PCB;
9 * supports ANSI, ISO, and HHKB layouts.
6 10
7Keyboard Maintainer: [Blake C. Lewis](https://github.com/BlakeCLewis), [MechMerlin](https://www.github.com/mechmerlin)
8Hardware Supported: KC60 SE
9Hardware Availability: [Aliexpress](https://www.aliexpress.com/store/product/Free-shipping-GH60-PCB-KC60-SE-Fully-Programmable-For-DIY-Mechanical-Keyboard-Poker-Faceu-HHKB-Support/429151_32799437588.html?spm=2114.12010608.0.0.2995e5c0hNRgMH)
10 11
11Make example for this keyboard (after setting up your build environment): 12### Enter the Bootloader
13 * As delivered, BOOTMAGIC_ENABLE = yes:
14 * unplug keyboard;
15 * while holding down 'Space' 'B', plug in USB cable and continue to hold for 8 seconds;
16 * 'lsusb' should report 'Atmel Corp. atmega32u4 DFU bootloader' instead of 'feed 6060';
17 * in bootloader LEDs are off &amp; keyboard does not work.
18 * New firmware, BOOTMAGIC_ENABLE = lite:
19 * holding down esc while pluging in usb.
20 * Hardware way:
21 * momentary jump pads 5 &amp; 6 to enter bootloader;
12 22
23### Compile the default keymap:
13 make kc60se:default 24 make kc60se:default
14 25
15See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 26See 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).
27
28### NKRO
29 * N or 6 Key Rollover NKRO/6KRO
30 * navigating bios of computer may require 6KRO
31 * default keymap has fn(T) mapped to toggle NKRO/6KRO
32 * test: press 8 keys at same time, if 6, then 6KRO, if 8, then NKRO
33
34### DIP switches enable/disable GUI keys, the second keys from the ends on the bottom row:
35 * K41/K4C are WIN/GUI and will disrupt games;
36 * Add keycodes GUI_ON and GUI_OFF to your function layer to switch on/off GUI keys. It is eaier than flipping the dip switches;
37
38 ```
39 dip keys
40 #1 #2 K41 K4C
41 1 1 1 1 both keys enabled
42 1 0 0 1
43 0 1 1 0
44 0 0 0 0 both keys disabled
45 ```
46### ISP header next to the ATmega32U4:
47 * if you can't get into bootloader, while keyboard is on, momentary jump pad 5 to pad 6
48
49 ```
50 2 4 6
51 : : :
52 1 3 5
53 ```
54 ```
55 1 - B3 MISO, column 13, square pad
56 2 - VCC
57 3 - B1 SCLK, column 7
58 4 - B2 MOSI, caplock led
59 5 - Reset | momentary jump 5 and 6
60 6 - Ground | to enter Bootloader
61 ```
diff --git a/keyboards/kc60se/rules.mk b/keyboards/kc60se/rules.mk
index 0432d8032..2ad661e36 100644
--- a/keyboards/kc60se/rules.mk
+++ b/keyboards/kc60se/rules.mk
@@ -13,21 +13,20 @@ BOOTLOADER = atmel-dfu
13 13
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16BOOTMAGIC_ENABLE = lite # plugin usb while holding down Esc, will toggle on NKRO and change will persist
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17MOUSEKEY_ENABLE = no # default keymap does not map mouse
18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 18EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug 19CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration 20COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 23# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover 24NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default 25BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
27MIDI_ENABLE = no # MIDI support 26MIDI_ENABLE = no # MIDI support
28UNICODE_ENABLE = no # Unicode 27UNICODE_ENABLE = no # Unicode
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6 29AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches 30FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32 31
33LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 32LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift