aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/dichotemy/dichotemy.h2
-rw-r--r--keyboards/dichotemy/info.json12
-rw-r--r--keyboards/dichotemy/keymaps/default/keymap.c84
3 files changed, 55 insertions, 43 deletions
diff --git a/keyboards/dichotemy/dichotemy.h b/keyboards/dichotemy/dichotemy.h
index 09b9dfcf2..1d617d91c 100644
--- a/keyboards/dichotemy/dichotemy.h
+++ b/keyboards/dichotemy/dichotemy.h
@@ -49,7 +49,7 @@
49// This a shortcut to help you visually see your layout. 49// This a shortcut to help you visually see your layout.
50// The first section contains all of the arguements 50// The first section contains all of the arguements
51// The second converts the arguments into a two-dimensional array 51// The second converts the arguments into a two-dimensional array
52#define KEYMAP( \ 52#define LAYOUT( \
53 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ 53 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
54 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ 54 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
55 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ 55 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
diff --git a/keyboards/dichotemy/info.json b/keyboards/dichotemy/info.json
new file mode 100644
index 000000000..fc4390cdd
--- /dev/null
+++ b/keyboards/dichotemy/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "Dichotemy",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 13,
6 "height": 6,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"label":"k00", "x":0, "y":0.5}, {"label":"k01", "x":1, "y":0.5}, {"label":"k02", "x":2, "y":0.25}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0.5}, {"label":"k05", "x":5, "y":0.5}, {"label":"k06", "x":7, "y":0.5}, {"label":"k07", "x":8, "y":0.5}, {"label":"k08", "x":9, "y":0}, {"label":"k09", "x":10, "y":0.25}, {"label":"k0A", "x":11, "y":0.5}, {"label":"k0B", "x":12, "y":0.5}, {"label":"k10", "x":0, "y":1.5}, {"label":"k11", "x":1, "y":1.5}, {"label":"k12", "x":2, "y":1.25}, {"label":"k13", "x":3, "y":1}, {"label":"k14", "x":4, "y":1.5}, {"label":"k15", "x":5, "y":1.5}, {"label":"k16", "x":7, "y":1.5}, {"label":"k17", "x":8, "y":1.5}, {"label":"k18", "x":9, "y":1}, {"label":"k19", "x":10, "y":1.25}, {"label":"k1A", "x":11, "y":1.5}, {"label":"k1B", "x":12, "y":1.5}, {"label":"k20", "x":0, "y":2.5}, {"label":"k21", "x":1, "y":2.5}, {"label":"k22", "x":2, "y":2.25}, {"label":"k23", "x":3, "y":2}, {"label":"k24", "x":4, "y":2.5}, {"label":"k25", "x":5, "y":2.5}, {"label":"k26", "x":7, "y":2.5}, {"label":"k27", "x":8, "y":2.5}, {"label":"k28", "x":9, "y":2}, {"label":"k29", "x":10, "y":2.25}, {"label":"k2A", "x":11, "y":2.5}, {"label":"k2B", "x":12, "y":2.5}, {"label":"k33", "x":3, "y":4}, {"label":"k34", "x":4, "y":4}, {"label":"k35", "x":5, "y":4}, {"label":"k36", "x":7, "y":4}, {"label":"k37", "x":8, "y":4}, {"label":"k38", "x":9, "y":4}, {"label":"k43", "x":3, "y":5}, {"label":"k44", "x":4, "y":5}, {"label":"k45", "x":5, "y":5}, {"label":"k46", "x":7, "y":5}, {"label":"k47", "x":8, "y":5}, {"label":"k48", "x":9, "y":5}]
10 }
11 }
12}
diff --git a/keyboards/dichotemy/keymaps/default/keymap.c b/keyboards/dichotemy/keymaps/default/keymap.c
index 2298ecb22..8742116f1 100644
--- a/keyboards/dichotemy/keymaps/default/keymap.c
+++ b/keyboards/dichotemy/keymaps/default/keymap.c
@@ -1,8 +1,7 @@
1// this is the style you want to emulate. 1// this is the style you want to emulate.
2// This is the canonical layout file for the Quantum project. If you want to add another keyboard, 2// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
3 3
4#include "dichotemy.h" 4#include QMK_KEYBOARD_H
5#include "report.h"
6#include "pointing_device.h" 5#include "pointing_device.h"
7 6
8// Each layer gets a name for readability, which is then used in the keymap matrix below. 7// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -20,7 +19,7 @@ enum dichotemy_layers
20 19
21#define LONGPRESS_COUNT 4 20#define LONGPRESS_COUNT 4
22 21
23enum dichotemy_keycodes 22enum dichotemy_keycodes
24{ 23{
25 CK_1G = SAFE_RANGE, 24 CK_1G = SAFE_RANGE,
26 CK_BSPE, 25 CK_BSPE,
@@ -53,45 +52,46 @@ enum dichotemy_macros
53#define XXXXXXX KC_NO 52#define XXXXXXX KC_NO
54 53
55const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 54const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56[_BS] = { /* Base layout, nearly qwerty but with modifications because it's not a full keyboard. Obviously. */
57 {CK_TE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
58 {NUMKEY, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CK_QE },
59 {SFTKEY, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUSE },
60 {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_RCTL, XXXXXXX, XXXXXXX, XXXXXXX },
61 {XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_LPRN, KC_QUOT, KC_SPC, KC_RPRN, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX }
62},
63 55
64[_SF] = { /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */ 56 [_BS] = LAYOUT( /* Base layout, nearly qwerty but with modifications because it's not a full keyboard. Obviously. */
65 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, 57 CK_TE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
66 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, 58 NUMKEY, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CK_QE,
67 {_______, _______, _______, _______, _______, _______, _______, _______, NS_HYPH, KC_UNDS, _______, _______ }, 59 SFTKEY, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUSE,
68 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX }, 60 KC_LCTL, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_RCTL,
69 {XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_LABK, _______, _______, KC_RABK, _______, XXXXXXX, XXXXXXX, XXXXXXX } 61 KC_LBRC, KC_LPRN, KC_QUOT, KC_SPC, KC_RPRN, KC_RBRC
70}, 62 ),
71 63
72[_NM] = { /* Number layout, basically the main function layer */ 64 [_SF] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */
73 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ }, 65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
74 {_______, CK_1G, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, CK_BSPE }, 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 {_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______ }, 67 _______, _______, _______, _______, _______, _______, _______, _______, NS_HYPH, KC_UNDS, _______, _______,
76 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX }, 68 _______, _______, _______, _______, _______, _______,
77 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX } 69 _______, KC_LABK, _______, _______, KC_RABK, _______
78}, 70 ),
79 71
80[_NS] = { /* Shifted number/function layout, for per-key control. Only active when shift is held, and number is toggled or held */ 72 [_NM] = LAYOUT( /* Number layout, basically the main function layer */
81 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, 73 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
82 {_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, NS_EQU, _______ }, 74 _______, CK_1G, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, CK_BSPE,
83 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, 75 _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______,
84 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX }, 76 _______, _______, _______, _______, _______, _______,
85 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX } 77 _______, _______, _______, _______, _______, _______
86}, 78 ),
87 79
88[_MS] = { /* Mouse layer, including buttons for clicking. */ 80 [_NS] = LAYOUT( /* Shifted number/function layout, for per-key control. Only active when shift is held, and number is toggled or held */
89 {_______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______ }, 81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 {_______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______ }, 82 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, NS_EQU, _______,
91 {_______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______ }, 83 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, KC_UP, _______, XXXXXXX, XXXXXXX, XXXXXXX }, 84 _______, _______, _______, _______, _______, _______,
93 {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX } 85 _______, _______, _______, _______, _______, _______
94} 86 ),
87
88 [_MS] = LAYOUT( /* Mouse layer, including buttons for clicking. */
89 _______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______,
92 _______, _______, _______, _______, KC_UP, _______,
93 _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
94 )
95 95
96}; 96};
97 97
@@ -259,8 +259,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
259 special_timers[CK_TE-SAFE_RANGE] = 0xFFFF; 259 special_timers[CK_TE-SAFE_RANGE] = 0xFFFF;
260 } 260 }
261 break; 261 break;
262 //No-shift keys, they unregister the KC_LSFT code so they can send 262 //No-shift keys, they unregister the KC_LSFT code so they can send
263 //unshifted values - but they don't change the bool. if any other 263 //unshifted values - but they don't change the bool. if any other
264 //key is pressed and the bool is set, KC_LSFT is registered again. 264 //key is pressed and the bool is set, KC_LSFT is registered again.
265 case NS_HYPH: 265 case NS_HYPH:
266 if (record->event.pressed) { 266 if (record->event.pressed) {
@@ -288,7 +288,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
288 } 288 }
289 } 289 }
290 break; 290 break;
291 291
292 //mouse buttons, for 1-3, to update the mouse report: 292 //mouse buttons, for 1-3, to update the mouse report:
293 case MS_BTN1: 293 case MS_BTN1:
294 currentReport = pointing_device_get_report(); 294 currentReport = pointing_device_get_report();
@@ -335,7 +335,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
335 } 335 }
336 pointing_device_set_report(currentReport); 336 pointing_device_set_report(currentReport);
337 break;*/ 337 break;*/
338 338
339 //If any other key was pressed during the layer mod hold period, 339 //If any other key was pressed during the layer mod hold period,
340 //then the layer mod was used momentarily, and should block latching 340 //then the layer mod was used momentarily, and should block latching
341 //Additionally, if NS_ keys are in use, then shift may be held (but is 341 //Additionally, if NS_ keys are in use, then shift may be held (but is