summaryrefslogtreecommitdiff
path: root/keyboards/cannonkeys
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cannonkeys')
-rw-r--r--keyboards/cannonkeys/an_c/info.json1
-rw-r--r--keyboards/cannonkeys/an_c/rules.mk2
-rw-r--r--keyboards/cannonkeys/atlas_alps/info.json1
-rw-r--r--keyboards/cannonkeys/atlas_alps/rules.mk2
-rw-r--r--keyboards/cannonkeys/db60/hotswap/info.json1
-rw-r--r--keyboards/cannonkeys/db60/hotswap/rules.mk1
-rw-r--r--keyboards/cannonkeys/db60/j02/info.json1
-rw-r--r--keyboards/cannonkeys/db60/j02/rules.mk1
-rw-r--r--keyboards/cannonkeys/db60/rev2/info.json1
-rw-r--r--keyboards/cannonkeys/db60/rev2/rules.mk1
-rw-r--r--keyboards/cannonkeys/instant60/info.json1
-rw-r--r--keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c16
-rw-r--r--keyboards/cannonkeys/instant60/rules.mk2
-rw-r--r--keyboards/cannonkeys/ortho48/info.json1
-rw-r--r--keyboards/cannonkeys/ortho48/rules.mk3
-rw-r--r--keyboards/cannonkeys/ortho60/info.json1
-rw-r--r--keyboards/cannonkeys/ortho60/rules.mk3
-rw-r--r--keyboards/cannonkeys/ortho60v2/config.h23
-rw-r--r--keyboards/cannonkeys/ortho60v2/halconf.h23
-rw-r--r--keyboards/cannonkeys/ortho60v2/info.json105
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c99
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c53
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk1
-rw-r--r--keyboards/cannonkeys/ortho60v2/mcuconf.h9
-rw-r--r--keyboards/cannonkeys/ortho60v2/ortho60v2.c31
-rw-r--r--keyboards/cannonkeys/ortho60v2/ortho60v2.h19
-rw-r--r--keyboards/cannonkeys/ortho60v2/readme.md22
-rw-r--r--keyboards/cannonkeys/ortho60v2/rules.mk2
-rw-r--r--keyboards/cannonkeys/ortho75/info.json1
-rw-r--r--keyboards/cannonkeys/ortho75/rules.mk3
-rw-r--r--keyboards/cannonkeys/practice60/info.json1
-rw-r--r--keyboards/cannonkeys/practice60/rules.mk2
-rw-r--r--keyboards/cannonkeys/savage65/info.json1
-rw-r--r--keyboards/cannonkeys/savage65/rules.mk2
-rw-r--r--keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c68
35 files changed, 440 insertions, 64 deletions
diff --git a/keyboards/cannonkeys/an_c/info.json b/keyboards/cannonkeys/an_c/info.json
index c18cde141f..89906ae56e 100644
--- a/keyboards/cannonkeys/an_c/info.json
+++ b/keyboards/cannonkeys/an_c/info.json
@@ -8,6 +8,7 @@
"pid": "0xA00C",
"device_version": "0.0.1"
},
+ "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
"layouts": {
"LAYOUT_60_ansi": {
"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}]
diff --git a/keyboards/cannonkeys/an_c/rules.mk b/keyboards/cannonkeys/an_c/rules.mk
index e03a83f44c..440b77bd26 100644
--- a/keyboards/cannonkeys/an_c/rules.mk
+++ b/keyboards/cannonkeys/an_c/rules.mk
@@ -20,7 +20,5 @@ BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
WS2812_DRIVER = spi
-LAYOUTS = 60_ansi 60_tsangan_hhkb
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/atlas_alps/info.json b/keyboards/cannonkeys/atlas_alps/info.json
index 889644a6ab..79b7e7f7fc 100644
--- a/keyboards/cannonkeys/atlas_alps/info.json
+++ b/keyboards/cannonkeys/atlas_alps/info.json
@@ -8,6 +8,7 @@
"pid": "0xA7A5",
"device_version": "0.1.0"
},
+ "community_layouts": ["ortho_5x12"],
"layouts": {
"LAYOUT_ortho_5x12": {
"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":"Tab", "x":0, "y":1}, {"label":"Q", "x":1, "y":1}, {"label":"W", "x":2, "y":1}, {"label":"E", "x":3, "y":1}, {"label":"R", "x":4, "y":1}, {"label":"T", "x":5, "y":1}, {"label":"Y", "x":6, "y":1}, {"label":"U", "x":7, "y":1}, {"label":"I", "x":8, "y":1}, {"label":"O", "x":9, "y":1}, {"label":"P", "x":10, "y":1}, {"label":"Back Space", "x":11, "y":1}, {"label":"Esc", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":6, "y":2}, {"label":"J", "x":7, "y":2}, {"label":"K", "x":8, "y":2}, {"label":"L", "x":9, "y":2}, {"label":";", "x":10, "y":2}, {"label":"'", "x":11, "y":2}, {"label":"Shift", "x":0, "y":3}, {"label":"Z", "x":1, "y":3}, {"label":"X", "x":2, "y":3}, {"label":"C", "x":3, "y":3}, {"label":"V", "x":4, "y":3}, {"label":"B", "x":5, "y":3}, {"label":"N", "x":6, "y":3}, {"label":"M", "x":7, "y":3}, {"label":",", "x":8, "y":3}, {"label":".", "x":9, "y":3}, {"label":"/", "x":10, "y":3}, {"label":"Return", "x":11, "y":3}, {"label":"Caps Lock", "x":0, "y":4}, {"label":"Ctrl", "x":1, "y":4}, {"label":"Alt", "x":2, "y":4}, {"label":"Super", "x":3, "y":4}, {"label":"&dArr;", "x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"label":"&uArr;", "x":7, "y":4}, {"label":"&larr;", "x":8, "y":4}, {"label":"&darr;", "x":9, "y":4}, {"label":"&uarr;", "x":10, "y":4}, {"label":"&rarr;", "x":11, "y":4}]
diff --git a/keyboards/cannonkeys/atlas_alps/rules.mk b/keyboards/cannonkeys/atlas_alps/rules.mk
index b2d2b4285f..85eec9079f 100644
--- a/keyboards/cannonkeys/atlas_alps/rules.mk
+++ b/keyboards/cannonkeys/atlas_alps/rules.mk
@@ -16,5 +16,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_5x12
diff --git a/keyboards/cannonkeys/db60/hotswap/info.json b/keyboards/cannonkeys/db60/hotswap/info.json
index 61e94803a9..8a590a8bb3 100644
--- a/keyboards/cannonkeys/db60/hotswap/info.json
+++ b/keyboards/cannonkeys/db60/hotswap/info.json
@@ -3,6 +3,7 @@
"usb": {
"pid": "0xDB62"
},
+ "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/cannonkeys/db60/hotswap/rules.mk b/keyboards/cannonkeys/db60/hotswap/rules.mk
index b6e5c668f8..e69de29bb2 100644
--- a/keyboards/cannonkeys/db60/hotswap/rules.mk
+++ b/keyboards/cannonkeys/db60/hotswap/rules.mk
@@ -1 +0,0 @@
-LAYOUTS = 60_ansi 60_tsangan_hhkb
diff --git a/keyboards/cannonkeys/db60/j02/info.json b/keyboards/cannonkeys/db60/j02/info.json
index 462e243a81..21fde584ae 100644
--- a/keyboards/cannonkeys/db60/j02/info.json
+++ b/keyboards/cannonkeys/db60/j02/info.json
@@ -3,6 +3,7 @@
"usb": {
"pid": "0xDB60"
},
+ "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/cannonkeys/db60/j02/rules.mk b/keyboards/cannonkeys/db60/j02/rules.mk
index f53da9b051..e69de29bb2 100644
--- a/keyboards/cannonkeys/db60/j02/rules.mk
+++ b/keyboards/cannonkeys/db60/j02/rules.mk
@@ -1 +0,0 @@
-LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso
diff --git a/keyboards/cannonkeys/db60/rev2/info.json b/keyboards/cannonkeys/db60/rev2/info.json
index 3e012930c8..db900fba51 100644
--- a/keyboards/cannonkeys/db60/rev2/info.json
+++ b/keyboards/cannonkeys/db60/rev2/info.json
@@ -3,6 +3,7 @@
"usb": {
"pid": "0xDB61"
},
+ "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/cannonkeys/db60/rev2/rules.mk b/keyboards/cannonkeys/db60/rev2/rules.mk
index f53da9b051..e69de29bb2 100644
--- a/keyboards/cannonkeys/db60/rev2/rules.mk
+++ b/keyboards/cannonkeys/db60/rev2/rules.mk
@@ -1 +0,0 @@
-LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso
diff --git a/keyboards/cannonkeys/instant60/info.json b/keyboards/cannonkeys/instant60/info.json
index 0b4d600e09..c973aed4a8 100644
--- a/keyboards/cannonkeys/instant60/info.json
+++ b/keyboards/cannonkeys/instant60/info.json
@@ -8,6 +8,7 @@
"pid": "0x1600",
"device_version": "0.0.1"
},
+ "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
"layouts": {
"LAYOUT_60_ansi": {
"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}]
diff --git a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
index a2ebb9a0c2..211e767eec 100644
--- a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
+++ b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
@@ -31,18 +31,18 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_60_tsangan_hhkb(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \
- 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, \
- 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),\
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
+ 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,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_FN1] = LAYOUT_60_tsangan_hhkb(
- 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, _______,\
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
+ 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, _______,
+ RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
)
};
diff --git a/keyboards/cannonkeys/instant60/rules.mk b/keyboards/cannonkeys/instant60/rules.mk
index e03a83f44c..440b77bd26 100644
--- a/keyboards/cannonkeys/instant60/rules.mk
+++ b/keyboards/cannonkeys/instant60/rules.mk
@@ -20,7 +20,5 @@ BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
WS2812_DRIVER = spi
-LAYOUTS = 60_ansi 60_tsangan_hhkb
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/ortho48/info.json b/keyboards/cannonkeys/ortho48/info.json
index 66b1d1f50e..25c5cdc09a 100644
--- a/keyboards/cannonkeys/ortho48/info.json
+++ b/keyboards/cannonkeys/ortho48/info.json
@@ -8,6 +8,7 @@
"pid": "0x4F48",
"device_version": "0.0.1"
},
+ "community_layouts": ["ortho_4x12"],
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho48/rules.mk b/keyboards/cannonkeys/ortho48/rules.mk
index 46b5bf7c4d..a644ef6371 100644
--- a/keyboards/cannonkeys/ortho48/rules.mk
+++ b/keyboards/cannonkeys/ortho48/rules.mk
@@ -18,8 +18,5 @@ RGBLIGHT_ENABLE = yes
SLEEP_LED_ENABLE = yes
WS2812_DRIVER = spi
-LAYOUTS = ortho_4x12
-
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/ortho60/info.json b/keyboards/cannonkeys/ortho60/info.json
index 1a4d036a69..4c8bcdcc3b 100644
--- a/keyboards/cannonkeys/ortho60/info.json
+++ b/keyboards/cannonkeys/ortho60/info.json
@@ -8,6 +8,7 @@
"pid": "0x4F60",
"device_version": "0.0.1"
},
+ "community_layouts": ["ortho_5x12"],
"layouts": {
"LAYOUT_ortho_5x12": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho60/rules.mk b/keyboards/cannonkeys/ortho60/rules.mk
index ee4390309c..a644ef6371 100644
--- a/keyboards/cannonkeys/ortho60/rules.mk
+++ b/keyboards/cannonkeys/ortho60/rules.mk
@@ -18,8 +18,5 @@ RGBLIGHT_ENABLE = yes
SLEEP_LED_ENABLE = yes
WS2812_DRIVER = spi
-LAYOUTS = ortho_5x12
-
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/ortho60v2/config.h b/keyboards/cannonkeys/ortho60v2/config.h
new file mode 100644
index 0000000000..2af75a1715
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2022 CannonKeys
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur.
+
+#define BACKLIGHT_PWM_DRIVER PWMD6
+#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
diff --git a/keyboards/cannonkeys/ortho60v2/halconf.h b/keyboards/cannonkeys/ortho60v2/halconf.h
new file mode 100644
index 0000000000..cef26f106c
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/halconf.h
@@ -0,0 +1,23 @@
+ /*
+ * Copyright Andrew Kannan 2022
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/cannonkeys/ortho60v2/info.json b/keyboards/cannonkeys/ortho60v2/info.json
new file mode 100644
index 0000000000..08f5321d84
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/info.json
@@ -0,0 +1,105 @@
+{
+ "keyboard_name": "Ortho60 v2",
+ "maintainer": "awkannan",
+ "manufacturer": "CannonKeys",
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "usb": {
+ "vid": "0xCA04",
+ "pid": "0x0019",
+ "device_version": "0.0.1"
+ },
+ "url": "https://cannonkeys.com",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0", "GP13", "GP24", "GP23", "GP22"],
+ "rows": ["GP27", "GP18", "GP19", "GP25", "GP26"]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "backlight": true,
+ "encoder": true
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "GP28", "pin_b": "GP29" }
+ ]
+ },
+ "backlight": {
+ "breathing": true,
+ "breathing_period": 5,
+ "levels": 15,
+ "pin": "GP12"
+ },
+ "layouts": {
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ { "label": "`", "matrix": [0, 0], "x": 0.0, "y": 0.0 },
+ { "label": "1", "matrix": [0, 1], "x": 1.0, "y": 0.0 },
+ { "label": "2", "matrix": [0, 2], "x": 2.0, "y": 0.0 },
+ { "label": "3", "matrix": [0, 3], "x": 3.0, "y": 0.0 },
+ { "label": "4", "matrix": [0, 4], "x": 4.0, "y": 0.0 },
+ { "label": "5", "matrix": [0, 5], "x": 5.0, "y": 0.0 },
+ { "label": "6", "matrix": [0, 6], "x": 6.0, "y": 0.0 },
+ { "label": "7", "matrix": [0, 7], "x": 7.0, "y": 0.0 },
+ { "label": "8", "matrix": [0, 8], "x": 8.0, "y": 0.0 },
+ { "label": "9", "matrix": [0, 9], "x": 9.0, "y": 0.0 },
+ { "label": "0", "matrix": [0, 10], "x": 10.0, "y": 0.0 },
+ { "label": "Del", "matrix": [0, 11], "x": 11.0, "y": 0.0 },
+ { "label": "Tab", "matrix": [1, 0], "x": 0.0, "y": 1.0 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.0, "y": 1.0 },
+ { "label": "W", "matrix": [1, 2], "x": 2.0, "y": 1.0 },
+ { "label": "E", "matrix": [1, 3], "x": 3.0, "y": 1.0 },
+ { "label": "R", "matrix": [1, 4], "x": 4.0, "y": 1.0 },
+ { "label": "T", "matrix": [1, 5], "x": 5.0, "y": 1.0 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.0, "y": 1.0 },
+ { "label": "U", "matrix": [1, 7], "x": 7.0, "y": 1.0 },
+ { "label": "I", "matrix": [1, 8], "x": 8.0, "y": 1.0 },
+ { "label": "O", "matrix": [1, 9], "x": 9.0, "y": 1.0 },
+ { "label": "P", "matrix": [1, 10], "x": 10.0, "y": 1.0 },
+ { "label": "Back Space", "matrix": [1, 11], "x": 11.0, "y": 1.0 },
+ { "label": "Esc", "matrix": [2, 0], "x": 0.0, "y": 2.0 },
+ { "label": "A", "matrix": [2, 1], "x": 1.0, "y": 2.0 },
+ { "label": "S", "matrix": [2, 2], "x": 2.0, "y": 2.0 },
+ { "label": "D", "matrix": [2, 3], "x": 3.0, "y": 2.0 },
+ { "label": "F", "matrix": [2, 4], "x": 4.0, "y": 2.0 },
+ { "label": "G", "matrix": [2, 5], "x": 5.0, "y": 2.0 },
+ { "label": "H", "matrix": [2, 6], "x": 6.0, "y": 2.0 },
+ { "label": "J", "matrix": [2, 7], "x": 7.0, "y": 2.0 },
+ { "label": "K", "matrix": [2, 8], "x": 8.0, "y": 2.0 },
+ { "label": "L", "matrix": [2, 9], "x": 9.0, "y": 2.0 },
+ { "label": ";", "matrix": [2, 10], "x": 10.0, "y": 2.0 },
+ { "label": "'", "matrix": [2, 11], "x": 11.0, "y": 2.0 },
+ { "label": "Shift", "matrix": [3, 0], "x": 0.0, "y": 3.0 },
+ { "label": "Z", "matrix": [3, 1], "x": 1.0, "y": 3.0 },
+ { "label": "X", "matrix": [3, 2], "x": 2.0, "y": 3.0 },
+ { "label": "C", "matrix": [3, 3], "x": 3.0, "y": 3.0 },
+ { "label": "V", "matrix": [3, 4], "x": 4.0, "y": 3.0 },
+ { "label": "B", "matrix": [3, 5], "x": 5.0, "y": 3.0 },
+ { "label": "N", "matrix": [3, 6], "x": 6.0, "y": 3.0 },
+ { "label": "M", "matrix": [3, 7], "x": 7.0, "y": 3.0 },
+ { "label": ",", "matrix": [3, 8], "x": 8.0, "y": 3.0 },
+ { "label": ".", "matrix": [3, 9], "x": 9.0, "y": 3.0 },
+ { "label": "/", "matrix": [3, 10], "x": 10.0, "y": 3.0 },
+ { "label": "Return", "matrix": [3, 11], "x": 11.0, "y": 3.0 },
+ { "matrix": [4, 0], "x": 0.0, "y": 4.0 },
+ { "label": "Ctrl", "matrix": [4, 1], "x": 1.0, "y": 4.0 },
+ { "label": "Alt", "matrix": [4, 2], "x": 2.0, "y": 4.0 },
+ { "label": "Super", "matrix": [4, 3], "x": 3.0, "y": 4.0 },
+ { "label": "Lower", "matrix": [4, 4], "x": 4.0, "y": 4.0 },
+ { "matrix": [4, 5], "x": 5.0, "y": 4.0 },
+ { "matrix": [4, 6], "x": 6.0, "y": 4.0 },
+ { "label": "Raise", "matrix": [4, 7], "x": 7.0, "y": 4.0 },
+ { "label": "&larr;", "matrix": [4, 8], "x": 8.0, "y": 4.0 },
+ { "label": "&darr;", "matrix": [4, 9], "x": 9.0, "y": 4.0 },
+ { "label": "&uarr;", "matrix": [4, 10], "x": 10.0, "y": 4.0 },
+ { "label": "&rarr;", "matrix": [4, 11], "x": 11.0, "y": 4.0 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1f042bdd20
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c
@@ -0,0 +1,99 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum custom_layers {
+ _BASE,
+ _RAISE,
+ _LOWER,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_BASE] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_5x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ RGB_TOG, RGB_MOD, BL_INC, BL_DEC, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+)
+};
diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..8d0060d015
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+[1] = LAYOUT_ortho_5x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+[2] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ RGB_TOG, RGB_MOD, BL_INC, BL_DEC, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+[3] = LAYOUT_ortho_5x12(
+ 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, 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, 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
+)
+};
diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk b/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho60v2/mcuconf.h b/keyboards/cannonkeys/ortho60v2/mcuconf.h
new file mode 100644
index 0000000000..533c3f1e23
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2022 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef RP_PWM_USE_PWM6
+#define RP_PWM_USE_PWM6 TRUE
diff --git a/keyboards/cannonkeys/ortho60v2/ortho60v2.c b/keyboards/cannonkeys/ortho60v2/ortho60v2.c
new file mode 100644
index 0000000000..0fc9239ee8
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/ortho60v2.c
@@ -0,0 +1,31 @@
+/*
+Copyright 2022 CannonKeys
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "ortho60v2.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/cannonkeys/ortho60v2/ortho60v2.h b/keyboards/cannonkeys/ortho60v2/ortho60v2.h
new file mode 100644
index 0000000000..a9ca3d7e47
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/ortho60v2.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2022 CannonKeys
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/cannonkeys/ortho60v2/readme.md b/keyboards/cannonkeys/ortho60v2/readme.md
new file mode 100644
index 0000000000..e02e0f0914
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/readme.md
@@ -0,0 +1,22 @@
+# Ortho60 v2
+
+A 5x12 Ortholinear keyboard powered by an onboard RP2040
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan1)
+* Hardware Supported: RP2040
+* Hardware Availability: [CannonKeys](https://cannonkeys.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/ortho60v2:default
+
+See 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).
+
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Swap the boot switch on the back of the PCB to "1" and hit the reset button. Or double tap the reset button quickly while the boot switch is set to "0".
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/cannonkeys/ortho60v2/rules.mk b/keyboards/cannonkeys/ortho60v2/rules.mk
new file mode 100644
index 0000000000..59f8593f18
--- /dev/null
+++ b/keyboards/cannonkeys/ortho60v2/rules.mk
@@ -0,0 +1,2 @@
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = rp2040_flash
diff --git a/keyboards/cannonkeys/ortho75/info.json b/keyboards/cannonkeys/ortho75/info.json
index 3cf6f3e74e..c50a774c9b 100644
--- a/keyboards/cannonkeys/ortho75/info.json
+++ b/keyboards/cannonkeys/ortho75/info.json
@@ -8,6 +8,7 @@
"pid": "0x6464",
"device_version": "0.0.1"
},
+ "community_layouts": ["ortho_5x15"],
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
diff --git a/keyboards/cannonkeys/ortho75/rules.mk b/keyboards/cannonkeys/ortho75/rules.mk
index 60b1a69199..3c35dd428f 100644
--- a/keyboards/cannonkeys/ortho75/rules.mk
+++ b/keyboards/cannonkeys/ortho75/rules.mk
@@ -19,8 +19,5 @@ SLEEP_LED_ENABLE = yes
WS2812_DRIVER = spi
ENCODER_ENABLE = yes
-LAYOUTS = ortho_5x15
-
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/cannonkeys/practice60/info.json b/keyboards/cannonkeys/practice60/info.json
index e84e2bb635..87929469a9 100644
--- a/keyboards/cannonkeys/practice60/info.json
+++ b/keyboards/cannonkeys/practice60/info.json
@@ -8,6 +8,7 @@
"pid": "0x6060",
"device_version": "0.0.1"
},
+ "community_layouts": ["60_ansi"],
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk
index 423c4d15b1..ee61de3668 100644
--- a/keyboards/cannonkeys/practice60/rules.mk
+++ b/keyboards/cannonkeys/practice60/rules.mk
@@ -18,8 +18,6 @@ RGBLIGHT_ENABLE = yes
SLEEP_LED_ENABLE = yes
WS2812_DRIVER = spi
-LAYOUTS = 60_ansi
-
DEFAULT_FOLDER = cannonkeys/practice60
diff --git a/keyboards/cannonkeys/savage65/info.json b/keyboards/cannonkeys/savage65/info.json
index 1fb0e0c58e..e821fb334c 100644
--- a/keyboards/cannonkeys/savage65/info.json
+++ b/keyboards/cannonkeys/savage65/info.json
@@ -8,6 +8,7 @@
"pid": "0x5A65",
"device_version": "0.0.1"
},
+ "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_iso_blocker"],
"layouts": {
"LAYOUT_default": {
"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}, {"x":15, "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}, {"x":15, "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}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"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}, {"x":15, "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":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
diff --git a/keyboards/cannonkeys/savage65/rules.mk b/keyboards/cannonkeys/savage65/rules.mk
index 4e43a2f56f..440b77bd26 100644
--- a/keyboards/cannonkeys/savage65/rules.mk
+++ b/keyboards/cannonkeys/savage65/rules.mk
@@ -22,5 +22,3 @@ WS2812_DRIVER = spi
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
-
-LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_iso_blocker
diff --git a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
index 5a72f71959..2a95402863 100644
--- a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
+++ b/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c
@@ -48,10 +48,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
[_BASE] = LAYOUT_default(
- KC_ESC, 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, \
- KC_PGUP, HY_ESC, 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_PGDN, KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, PLY_FN1, \
- KC_END, KC_LOPT, KC_LCMD, SPC_RAI, SPC_RAI, KC_RCMD, KC_RCTL \
+ KC_ESC, 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,
+ KC_PGUP, HY_ESC, 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_PGDN, KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, PLY_FN1,
+ KC_END, KC_LOPT, KC_LCMD, SPC_RAI, SPC_RAI, KC_RCMD, KC_RCTL
),
/**
* Reeder
@@ -65,11 +65,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ N │││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_REEDER] = LAYOUT_default( \
- KC_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_K, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_J, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_N, _______, _______, _______, _______, _______, _______ \
+ [_REEDER] = LAYOUT_default(
+ KC_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_K, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_J, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_N, _______, _______, _______, _______, _______, _______
),
/**
* Nav
@@ -83,11 +83,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │ ← │││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_NAV] = LAYOUT_default( \
- KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_LEFT, _______, _______, _______, _______, _______, _______ \
+ [_NAV] = LAYOUT_default(
+ KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LEFT, _______, _______, _______, _______, _______, _______
),
/**
* Mouse
@@ -101,11 +101,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │WhD│││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_MOUSE] = LAYOUT_default( \
- MC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- MC_WH_D, _______, _______, _______, _______, _______, _______ \
+ [_MOUSE] = LAYOUT_default(
+ MC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ MC_WH_D, _______, _______, _______, _______, _______, _______
),
/**
* Lower
@@ -119,11 +119,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Prv│││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_LOWER] = LAYOUT_default( \
- KC_MNXT, KC_DEL, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, _______, _______, _______, KC_UP, KC_MUTE, MC_SLPD, \
- KC_VOLU, HY_CAPS, _______, _______, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, _______, _______, KC_LEFT, KC_RGHT, KC_MPLY, \
- KC_VOLD, _______, XXXXXXX, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, KC_DOWN, _______, _______, \
- KC_MPRV, _______, _______, _______, _______, _______, _______ \
+ [_LOWER] = LAYOUT_default(
+ KC_MNXT, KC_DEL, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, _______, _______, _______, KC_UP, KC_MUTE, MC_SLPD,
+ KC_VOLU, HY_CAPS, _______, _______, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, _______, _______, KC_LEFT, KC_RGHT, KC_MPLY,
+ KC_VOLD, _______, XXXXXXX, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, KC_DOWN, _______, _______,
+ KC_MPRV, _______, _______, _______, _______, _______, _______
),
/**
@@ -138,11 +138,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │End│││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_RAISE] = LAYOUT_default( \
- KC_HOME, KC_GRV, 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_PGUP, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, _______, _______, _______, _______, \
- KC_PGDN, _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______, \
- KC_END, _______, _______, _______, _______, _______, _______ \
+ [_RAISE] = LAYOUT_default(
+ KC_HOME, KC_GRV, 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_PGUP, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, _______, _______, _______, _______,
+ KC_PGDN, _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______,
+ KC_END, _______, _______, _______, _______, _______, _______
),
/**
* Adjust
@@ -156,11 +156,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Mse│││││││││││   │     │        │          │     │   │││││││││││
* └───┴┴┴┴┴┴┴┴┴┴┴───┴─────┴────────┴──────────┴─────┴───┴┴┴┴┴┴┴┴┴┴┘
*/
- [_ADJUST] = LAYOUT_default( \
- TG_BASE, QM_MAKE, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- TG_NAV, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- TG_MOUS, _______, _______, _______, _______, _______, _______ \
+ [_ADJUST] = LAYOUT_default(
+ TG_BASE, QM_MAKE, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ TG_NAV, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ TG_MOUS, _______, _______, _______, _______, _______, _______
),
};