Compare commits

..

11 Commits

Author SHA1 Message Date
Konstantin Đorđević
e040028f1b Change xprintf() calls in rgblight.c to dprintf() (#6363) 2019-07-19 08:47:04 -07:00
fauxpark
d417b0cc7d Tidy up ALF X1.1 (#6367)
* Tidy up ALF X1.1

* Correct x positions

* 4 spaces

* Remove a stray TRNS key
2019-07-18 22:05:25 -07:00
mechmerlin
b12b26946d simple readme fix 2019-07-18 21:16:30 -07:00
trinity1561
918fb7f8da Print Screen and Pause placement swap (#5981)
* Update x11.h

The original json file that was given by the designer was incorrect.  The Print Screen and Pause button is swapped.

* Update space65.c

Fixing the Caps Lock LED.

* Revert "Update space65.c"

This reverts commit 1f5de1abae.
2019-07-18 20:04:01 -07:00
jotix
455f15528c Jotix (#6355)
* add unicode_map

* add unicode_map

* numpad change
2019-07-18 19:27:09 -07:00
Joao Maia
00c6892b3f [Keyboard] Add 6macro keyboard (#6362)
* Initial commit for 6macro firmware

* Updated layout documentation

* Removed unused commented code
2019-07-18 12:31:40 -07:00
Fred Silberberg
171f7c561b Add more layouts for the ergodash (#6336) 2019-07-18 07:45:48 -07:00
fauxpark
5b4187ad1b Correct backlight on state docs (#6358)
* Correct backlight on state docs

* Reword to make it less confusing
2019-07-18 07:45:00 -07:00
Ethan Madden
d5b01bd34b Add prime_e keymap (#6350) 2019-07-18 06:55:31 -07:00
jshuf
1650ba00f1 Allow userspace the opportunity to handle keycodes 2019-07-17 12:38:08 -07:00
dsanchezseco
f9d47ebe2f cleanup and start sound (#6353) 2019-07-17 09:24:49 -07:00
29 changed files with 1392 additions and 334 deletions

View File

@@ -73,8 +73,10 @@ To change the behaviour of the backlighting, `#define` these in your `config.h`:
## Backlight On State
Most backlight circuits are driven by an N-channel MOSFET or NPN transistor. This means that to turn the transistor *on* and light the LEDs, you must drive the backlight pin, connected to the gate or base, *low*.
Sometimes, however, a P-channel MOSFET, or a PNP transistor is used. In this case you must `#define BACKLIGHT_ON_STATE 1`, so that when the transistor is on, the pin is driven *high* instead.
Most backlight circuits are driven by an N-channel MOSFET or NPN transistor. This means that to turn the transistor *on* and light the LEDs, you must drive the backlight pin, connected to the gate or base, *high*.
Sometimes, however, a P-channel MOSFET, or a PNP transistor is used. In this case, when the transistor is on, the pin is driven *low* instead.
This functionality is configured at the keyboard level with the `BACKLIGHT_ON_STATE` define.
## Multiple backlight pins

View File

@@ -1,103 +1,112 @@
{
"keyboard_name": "QMK80",
"url": "",
"maintainer": "qmk",
"width": 18.25,
"height": 6.5,
"layouts": {
"LAYOUT": {
"key_count": 88,
"layout": [
{"label":"K00", "x":0, "y":0},
{"label":"K01", "x":2, "y":0},
{"label":"K02", "x":3, "y":0},
{"label":"K03", "x":4, "y":0},
{"label":"K04", "x":5, "y":0},
{"label":"K05", "x":6.5, "y":0},
{"label":"K06", "x":7.5, "y":0},
{"label":"K07", "x":8.5, "y":0},
{"label":"K08", "x":9.5, "y":0},
{"label":"K09", "x":11, "y":0},
{"label":"K0A", "x":12, "y":0},
{"label":"K0B", "x":13, "y":0},
{"label":"K0C", "x":14, "y":0},
{"label":"K60", "x":15.25, "y":0},
{"label":"K61", "x":16.25, "y":0},
{"label":"K62", "x":17.25, "y":0},
{"label":"K10", "x":0, "y":1.5},
{"label":"K11", "x":1, "y":1.5},
{"label":"K12", "x":2, "y":1.5},
{"label":"K13", "x":3, "y":1.5},
{"label":"K14", "x":4, "y":1.5},
{"label":"K15", "x":5, "y":1.5},
{"label":"K16", "x":6, "y":1.5},
{"label":"K17", "x":7, "y":1.5},
{"label":"K18", "x":8, "y":1.5},
{"label":"K19", "x":9, "y":1.5},
{"label":"K1A", "x":10, "y":1.5},
{"label":"K1B", "x":11, "y":1.5},
{"label":"K1C", "x":12, "y":1.5},
{"label":"K5A", "x":13, "y":1.5, "w":2},
{"label":"K63", "x":15.25, "y":1.5},
{"label":"K65", "x":16.25, "y":1.5},
{"label":"K67", "x":17.25, "y":1.5},
{"label":"K20", "x":0, "y":2.5, "w":1.5},
{"label":"K21", "x":1.5, "y":2.5},
{"label":"K22", "x":2.5, "y":2.5},
{"label":"K23", "x":3.5, "y":2.5},
{"label":"K24", "x":4.5, "y":2.5},
{"label":"K25", "x":5.5, "y":2.5},
{"label":"K26", "x":6.5, "y":2.5},
{"label":"K27", "x":7.5, "y":2.5},
{"label":"K28", "x":8.5, "y":2.5},
{"label":"K29", "x":9.5, "y":2.5},
{"label":"K2A", "x":10.5, "y":2.5},
{"label":"K2B", "x":11.5, "y":2.5},
{"label":"K2C", "x":12.5, "y":2.5},
{"label":"K4C", "x":13.5, "y":2.5, "w":1.5},
{"label":"K64", "x":15.25, "y":2.5},
{"label":"K66", "x":16.25, "y":2.5},
{"label":"K68", "x":17.25, "y":2.5},
{"label":"K30", "x":0, "y":3.5, "w":1.75},
{"label":"K31", "x":1.75, "y":3.5},
{"label":"K32", "x":2.75, "y":3.5},
{"label":"K33", "x":3.75, "y":3.5},
{"label":"K34", "x":4.75, "y":3.5},
{"label":"K35", "x":5.75, "y":3.5},
{"label":"K36", "x":6.75, "y":3.5},
{"label":"K37", "x":7.75, "y":3.5},
{"label":"K38", "x":8.75, "y":3.5},
{"label":"K39", "x":9.75, "y":3.5},
{"label":"K3A", "x":10.75, "y":3.5},
{"label":"K3B", "x":11.75, "y":3.5},
{"label":"K3C", "x":12.75, "y":3.5, "w":2.25},
{"label":"K40", "x":0, "y":4.5, "w":2.25},
{"label":"K41", "x":2.25, "y":4.5},
{"label":"K42", "x":3.25, "y":4.5},
{"label":"K43", "x":4.25, "y":4.5},
{"label":"K44", "x":5.25, "y":4.5},
{"label":"K45", "x":6.25, "y":4.5},
{"label":"K46", "x":7.25, "y":4.5},
{"label":"K47", "x":8.25, "y":4.5},
{"label":"K48", "x":9.25, "y":4.5},
{"label":"K49", "x":10.25, "y":4.5},
{"label":"K4A", "x":11.25, "y":4.5},
{"label":"K4B", "x":12.25, "y":4.5, "w":1.75},
{"label":"K69", "x":14, "y":4.5},
{"label":"K58", "x":16.25, "y":4.5},
{"label":"K50", "x":0, "y":5.5, "w":1.25},
{"label":"K51", "x":1.25, "y":5.5, "w":1.25},
{"label":"K52", "x":2.5, "y":5.5, "w":1.25},
{"label":"K53", "x":3.75, "y":5.5, "w":6.25},
{"label":"K54", "x":10, "y":5.5, "w":1.25},
{"label":"K55", "x":11.25, "y":5.5, "w":1.25},
{"label":"K56", "x":12.5, "y":5.5, "w":1.25},
{"label":"K57", "x":13.75, "y":5.5, "w":1.25},
{"label":"K6A", "x":15.25, "y":5.5},
{"label":"K59", "x":16.25, "y":5.5},
{"label":"K6B", "x":17.25, "y":5.5}
]
}
"keyboard_name": "x11",
"url": "",
"maintainer": "qmk",
"width": 18.25,
"height": 6.5,
"layouts": {
"LAYOUT": {
"key_count": 88,
"layout": [
{"label":"K00", "x":0, "y":0},
{"label":"K01", "x":2, "y":0},
{"label":"K02", "x":3, "y":0},
{"label":"K03", "x":4, "y":0},
{"label":"K04", "x":5, "y":0},
{"label":"K05", "x":6.5, "y":0},
{"label":"K06", "x":7.5, "y":0},
{"label":"K07", "x":8.5, "y":0},
{"label":"K08", "x":9.5, "y":0},
{"label":"K09", "x":11, "y":0},
{"label":"K0A", "x":12, "y":0},
{"label":"K0B", "x":13, "y":0},
{"label":"K0C", "x":14, "y":0},
{"label":"K62", "x":15.25, "y":0},
{"label":"K61", "x":16.25, "y":0},
{"label":"K60", "x":17.25, "y":0},
{"label":"K10", "x":0, "y":1.5},
{"label":"K11", "x":1, "y":1.5},
{"label":"K12", "x":2, "y":1.5},
{"label":"K13", "x":3, "y":1.5},
{"label":"K14", "x":4, "y":1.5},
{"label":"K15", "x":5, "y":1.5},
{"label":"K16", "x":6, "y":1.5},
{"label":"K17", "x":7, "y":1.5},
{"label":"K18", "x":8, "y":1.5},
{"label":"K19", "x":9, "y":1.5},
{"label":"K1A", "x":10, "y":1.5},
{"label":"K1B", "x":11, "y":1.5},
{"label":"K1C", "x":12, "y":1.5},
{"label":"K5A", "x":13, "y":1.5, "w":2},
{"label":"K63", "x":15.25, "y":1.5},
{"label":"K65", "x":16.25, "y":1.5},
{"label":"K67", "x":17.25, "y":1.5},
{"label":"K20", "x":0, "y":2.5, "w":1.5},
{"label":"K21", "x":1.5, "y":2.5},
{"label":"K22", "x":2.5, "y":2.5},
{"label":"K23", "x":3.5, "y":2.5},
{"label":"K24", "x":4.5, "y":2.5},
{"label":"K25", "x":5.5, "y":2.5},
{"label":"K26", "x":6.5, "y":2.5},
{"label":"K27", "x":7.5, "y":2.5},
{"label":"K28", "x":8.5, "y":2.5},
{"label":"K29", "x":9.5, "y":2.5},
{"label":"K2A", "x":10.5, "y":2.5},
{"label":"K2B", "x":11.5, "y":2.5},
{"label":"K2C", "x":12.5, "y":2.5},
{"label":"K4C", "x":13.5, "y":2.5, "w":1.5},
{"label":"K64", "x":15.25, "y":2.5},
{"label":"K66", "x":16.25, "y":2.5},
{"label":"K68", "x":17.25, "y":2.5},
{"label":"K30", "x":0, "y":3.5, "w":1.75},
{"label":"K31", "x":1.75, "y":3.5},
{"label":"K32", "x":2.75, "y":3.5},
{"label":"K33", "x":3.75, "y":3.5},
{"label":"K34", "x":4.75, "y":3.5},
{"label":"K35", "x":5.75, "y":3.5},
{"label":"K36", "x":6.75, "y":3.5},
{"label":"K37", "x":7.75, "y":3.5},
{"label":"K38", "x":8.75, "y":3.5},
{"label":"K39", "x":9.75, "y":3.5},
{"label":"K3A", "x":10.75, "y":3.5},
{"label":"K3B", "x":11.75, "y":3.5},
{"label":"K3C", "x":12.75, "y":3.5, "w":2.25},
{"label":"K40", "x":0, "y":4.5, "w":2.25},
{"label":"K41", "x":2.25, "y":4.5},
{"label":"K42", "x":3.25, "y":4.5},
{"label":"K43", "x":4.25, "y":4.5},
{"label":"K44", "x":5.25, "y":4.5},
{"label":"K45", "x":6.25, "y":4.5},
{"label":"K46", "x":7.25, "y":4.5},
{"label":"K47", "x":8.25, "y":4.5},
{"label":"K48", "x":9.25, "y":4.5},
{"label":"K49", "x":10.25, "y":4.5},
{"label":"K4A", "x":11.25, "y":4.5},
{"label":"K4B", "x":12.25, "y":4.5, "w":1.75},
{"label":"K69", "x":14, "y":4.5},
{"label":"K58", "x":16.25, "y":4.5},
{"label":"K50", "x":0, "y":5.5, "w":1.25},
{"label":"K51", "x":1.25, "y":5.5, "w":1.25},
{"label":"K52", "x":2.5, "y":5.5, "w":1.25},
{"label":"K53", "x":3.75, "y":5.5, "w":6.25},
{"label":"K54", "x":10, "y":5.5, "w":1.25},
{"label":"K55", "x":11.25, "y":5.5, "w":1.25},
{"label":"K56", "x":12.5, "y":5.5, "w":1.25},
{"label":"K57", "x":13.75, "y":5.5, "w":1.25},
{"label":"K6A", "x":15.25, "y":5.5},
{"label":"K59", "x":16.25, "y":5.5},
{"label":"K6B", "x":17.25, "y":5.5}
]
}
}
}

View File

@@ -15,64 +15,23 @@
*/
#include QMK_KEYBOARD_H
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( \
KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_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(1), KC_UP, KC_LCTL, \
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
[1] = LAYOUT( \
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, RESET, 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, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_MPLY, KC_MSTP, RGB_TOG, RGB_MOD, \
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, RGB_VAI, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_VAD, RGB_SAD \
),
[0] = LAYOUT(
KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS,
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_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_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(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) {
}

View File

@@ -16,48 +16,49 @@
#include "x11.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
setPinOutput(C6);
setPinOutput(E6);
setPinOutput(C7);
matrix_init_user();
// put your keyboard start-up code here
// runs once when the firmware starts up
setPinOutput(C6);
setPinOutput(E6);
setPinOutput(C7);
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
// put your looping keyboard code here
// runs every cycle (a lot)
matrix_scan_user();
matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// put your per-action keyboard code here
// runs for every action, just before processing by the firmware
// put your per-action keyboard code here
// runs for every action, just before processing by the firmware
return process_record_user(keycode, record);
return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(C6);
} else {
writePinHigh(C6);
}
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(C6);
} else {
writePinHigh(C6);
}
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
writePinLow(E6);
} else {
writePinHigh(E6);
}
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
writePinLow(E6);
} else {
writePinHigh(E6);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
writePinLow(C7);
} else {
writePinHigh(C7);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
writePinLow(C7);
} else {
writePinHigh(C7);
}
led_set_user(usb_led);
led_set_user(usb_led);
}

View File

@@ -26,18 +26,18 @@
* represents the switch matrix.
*/
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K60, K61, K62, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K5A, K63, K65, K67, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K4C, K64, K66, K68, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K69, K58, \
K50, K51, K52, K53, K54, K55, K56, K57, K6A, K59, K6B \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K62, K61, K60, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K5A, K63, K65, K67, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K4C, K64, K66, K68, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K69, K58, \
K50, K51, K52, K53, K54, K55, K56, K57, K6A, K59, K6B \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, KC_NO, KC_NO }, \
{ K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, KC_NO }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, KC_NO, KC_NO }, \
{ K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, KC_NO }, \
}

View File

@@ -162,7 +162,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
#endif //DYNAMIC_KEYMAP_ENABLE
return true;
return process_record_user(keycode, record);;
}

View File

@@ -1,13 +1,366 @@
{
"keyboard_name": "ErgoDash rev2",
"url": "",
"maintainer": "qmk",
"width": 18,
"height": 6.25,
"layouts": {
"LAYOUT": {
"key_count": 70,
"layout": [{"label":"L00", "x":0, "y":0.375}, {"label":"L01", "x":1, "y":0.375}, {"label":"L02", "x":2, "y":0.125}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"L06", "x":6, "y":0.75}, {"label":"R00", "x":11, "y":0.75}, {"label":"R01", "x":12, "y":0.25}, {"label":"R02", "x":13, "y":0.125}, {"label":"R03", "x":14, "y":0}, {"label":"R04", "x":15, "y":0.125}, {"label":"R05", "x":16, "y":0.375}, {"label":"R06", "x":17, "y":0.375}, {"label":"L10", "x":0, "y":1.375}, {"label":"L11", "x":1, "y":1.375}, {"label":"L12", "x":2, "y":1.125}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"L16", "x":6, "y":1.75}, {"label":"R10", "x":11, "y":1.75}, {"label":"R11", "x":12, "y":1.25}, {"label":"R12", "x":13, "y":1.125}, {"label":"R13", "x":14, "y":1}, {"label":"R14", "x":15, "y":1.125}, {"label":"R15", "x":16, "y":1.375}, {"label":"R16", "x":17, "y":1.375}, {"label":"L20", "x":0, "y":2.375}, {"label":"L21", "x":1, "y":2.375}, {"label":"L22", "x":2, "y":2.125}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"L26", "x":6, "y":2.75}, {"label":"R20", "x":11, "y":2.75}, {"label":"R21", "x":12, "y":2.25}, {"label":"R22", "x":13, "y":2.125}, {"label":"R23", "x":14, "y":2}, {"label":"R24", "x":15, "y":2.125}, {"label":"R25", "x":16, "y":2.375}, {"label":"R26", "x":17, "y":2.375}, {"label":"L30", "x":0, "y":3.375}, {"label":"L31", "x":1, "y":3.375}, {"label":"L32", "x":2, "y":3.125}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3.125}, {"label":"L35", "x":5, "y":3.25}, {"label":"L36", "x":6.5, "y":4.25}, {"label":"R30", "x":10.5, "y":4.25}, {"label":"R31", "x":12, "y":3.25}, {"label":"R32", "x":13, "y":3.125}, {"label":"R33", "x":14, "y":3}, {"label":"R34", "x":15, "y":3.125}, {"label":"R35", "x":16, "y":3.375}, {"label":"R36", "x":17, "y":3.375}, {"label":"L40", "x":0, "y":4.375}, {"label":"L41", "x":1, "y":4.375}, {"label":"L42", "x":2, "y":4.125}, {"label":"L43", "x":3, "y":4}, {"label":"L44", "x":5.5, "y":5.25}, {"label":"L45", "x":6.5, "y":5.25}, {"label":"L46", "x":7.5, "y":4.25, "h":2}, {"label":"R40", "x":9.5, "y":4.25, "h":2}, {"label":"R41", "x":10.5, "y":5.25}, {"label":"R42", "x":11.5, "y":5.25}, {"label":"R43", "x":14, "y":4}, {"label":"R44", "x":15, "y":4.125}, {"label":"R45", "x":16, "y":4.375}, {"label":"R46", "x":17, "y":4.375}]
"keyboard_name": "ErgoDash rev1.2",
"url": "",
"maintainer": "qmk",
"width": 19,
"height": 8.375,
"layouts": {
"LAYOUT_4key": {
"layout": [
{"y": 0.375, "x": 0.5, "label": "L00"},
{"y": 0.375, "x": 1.5, "label": "L01"},
{"y": 0.125, "x": 2.5, "label": "L02"},
{"y": 0, "x": 3.5, "label": "L03"},
{"y": 0.125, "x": 4.5, "label": "L04"},
{"y": 0.25, "x": 5.5, "label": "L05"},
{"y": 0.75, "x": 6.5, "label": "L06"},
{"y": 0.75, "x": 12, "label": "R00"},
{"y": 0.25, "x": 13, "label": "R01"},
{"y": 0.125, "x": 14, "label": "R02"},
{"y": 0, "x": 15, "label": "R03"},
{"y": 0.125, "x": 16, "label": "R04"},
{"y": 0.375, "x": 17, "label": "R05"},
{"y": 0.375, "x": 18, "label": "R06"},
{"y": 1.375, "x": 0.5, "label": "L10"},
{"y": 1.375, "x": 1.5, "label": "L11"},
{"y": 1.125, "x": 2.5, "label": "L12"},
{"y": 1, "x": 3.5, "label": "L13"},
{"y": 1.125, "x": 4.5, "label": "L14"},
{"y": 1.25, "x": 5.5, "label": "L15"},
{"y": 1.75, "x": 6.5, "label": "L16"},
{"y": 1.75, "x": 12, "label": "R10"},
{"y": 1.25, "x": 13, "label": "R11"},
{"y": 1.125, "x": 14, "label": "R12"},
{"y": 1, "x": 15, "label": "R13"},
{"y": 1.125, "x": 16, "label": "R14"},
{"y": 1.375, "x": 17, "label": "R15"},
{"y": 1.375, "x": 18, "label": "R16"},
{"y": 2.375, "x": 0.5, "label": "L20"},
{"y": 2.375, "x": 1.5, "label": "L21"},
{"y": 2.125, "x": 2.5, "label": "L22"},
{"y": 2, "x": 3.5, "label": "L23"},
{"y": 2.125, "x": 4.5, "label": "L24"},
{"y": 2.25, "x": 5.5, "label": "L25"},
{"y": 2.75, "x": 6.5, "label": "L26"},
{"y": 2.75, "x": 12, "label": "R20"},
{"y": 2.25, "x": 13, "label": "R21"},
{"y": 2.125, "x": 14, "label": "R22"},
{"y": 2, "x": 15, "label": "R23"},
{"y": 2.125, "x": 16, "label": "R24"},
{"y": 2.375, "x": 17, "label": "R25"},
{"y": 2.375, "x": 18, "label": "R26"},
{"y": 3.375, "x": 0.5, "label": "L30"},
{"y": 3.375, "x": 1.5, "label": "L31"},
{"y": 3.125, "x": 2.5, "label": "L32"},
{"y": 3, "x": 3.5, "label": "L33"},
{"y": 3.125, "x": 4.5, "label": "L34"},
{"y": 3.25, "x": 5.5, "label": "L35"},
{"y": 4, "x": 6.5, "label": "L36"},
{"y": 4, "x": 12, "label": "R30"},
{"y": 3.25, "x": 13, "label": "R31"},
{"y": 3.125, "x": 14, "label": "R32"},
{"y": 3, "x": 15, "label": "R33"},
{"y": 3.125, "x": 16, "label": "R34"},
{"y": 3.375, "x": 17, "label": "R35"},
{"y": 3.375, "x": 18, "label": "R36"},
{"y": 4.375, "x": 0.5, "label": "L40"},
{"y": 4.375, "x": 1.5, "label": "L41"},
{"y": 4.125, "x": 2.5, "label": "L42"},
{"y": 4, "x": 3.5, "label": "L43"},
{"y": 5, "x": 5.5, "label": "L44"},
{"y": 5, "x": 6.5, "label": "L45"},
{"h": 2, "y": 4, "x": 7.5, "label": "L46"},
{"h": 2, "y": 4, "x": 11, "label": "R40"},
{"y": 5, "x": 12, "label": "R41"},
{"y": 5, "x": 13, "label": "R42"},
{"y": 4, "x": 15, "label": "R43"},
{"y": 4.125, "x": 16, "label": "R44"},
{"y": 4.375, "x": 17, "label": "R45"},
{"y": 4.375, "x": 18, "label": "R46"}]
},
"LAYOUT_4key_2u_inner": {
"layout": [
{"y": 0.375, "x": 0.5, "label": "L00"},
{"y": 0.375, "x": 1.5, "label": "L01"},
{"y": 0.125, "x": 2.5, "label": "L02"},
{"y": 0, "x": 3.5, "label": "L03"},
{"y": 0.125, "x": 4.5, "label": "L04"},
{"y": 0.25, "x": 5.5, "label": "L05"},
{"y": 0.75, "x": 6.5, "label": "L06"},
{"y": 0.75, "x": 12, "label": "R00"},
{"y": 0.25, "x": 13, "label": "R01"},
{"y": 0.125, "x": 14, "label": "R02"},
{"y": 0, "x": 15, "label": "R03"},
{"y": 0.125, "x": 16, "label": "R04"},
{"y": 0.375, "x": 17, "label": "R05"},
{"y": 0.375, "x": 18, "label": "R06"},
{"y": 1.375, "x": 0.5, "label": "L10"},
{"y": 1.375, "x": 1.5, "label": "L11"},
{"y": 1.125, "x": 2.5, "label": "L12"},
{"y": 1, "x": 3.5, "label": "L13"},
{"y": 1.125, "x": 4.5, "label": "L14"},
{"y": 1.25, "x": 5.5, "label": "L15"},
{"y": 1.75, "x": 6.5, "label": "L16"},
{"y": 1.75, "x": 12, "label": "R10"},
{"y": 1.25, "x": 13, "label": "R11"},
{"y": 1.125, "x": 14, "label": "R12"},
{"y": 1, "x": 15, "label": "R13"},
{"y": 1.125, "x": 16, "label": "R14"},
{"y": 1.375, "x": 17, "label": "R15"},
{"y": 1.375, "x": 18, "label": "R16"},
{"y": 2.375, "x": 0.5, "label": "L20"},
{"y": 2.375, "x": 1.5, "label": "L21"},
{"y": 2.125, "x": 2.5, "label": "L22"},
{"y": 2, "x": 3.5, "label": "L23"},
{"y": 2.125, "x": 4.5, "label": "L24"},
{"y": 2.25, "x": 5.5, "label": "L25"},
{"y": 2.75, "x": 6.5, "label": "L26"},
{"y": 2.75, "x": 12, "label": "R20"},
{"y": 2.25, "x": 13, "label": "R21"},
{"y": 2.125, "x": 14, "label": "R22"},
{"y": 2, "x": 15, "label": "R23"},
{"y": 2.125, "x": 16, "label": "R24"},
{"y": 2.375, "x": 17, "label": "R25"},
{"y": 2.375, "x": 18, "label": "R26"},
{"y": 3.375, "x": 0.5, "label": "L30"},
{"y": 3.375, "x": 1.5, "label": "L31"},
{"y": 3.125, "x": 2.5, "label": "L32"},
{"y": 3, "x": 3.5, "label": "L33"},
{"y": 3.125, "x": 4.5, "label": "L34"},
{"y": 3.25, "x": 5.5, "label": "L35"},
{"y": 4, "x": 7.5, "label": "L36"},
{"y": 4, "x": 11, "label": "R30"},
{"y": 3.25, "x": 13, "label": "R31"},
{"y": 3.125, "x": 14, "label": "R32"},
{"y": 3, "x": 15, "label": "R33"},
{"y": 3.125, "x": 16, "label": "R34"},
{"y": 3.375, "x": 17, "label": "R35"},
{"y": 3.375, "x": 18, "label": "R36"},
{"y": 4.375, "x": 0.5, "label": "L40"},
{"y": 4.375, "x": 1.5, "label": "L41"},
{"y": 4.125, "x": 2.5, "label": "L42"},
{"y": 4, "x": 3.5, "label": "L43"},
{"y": 5, "x": 5.5, "label": "L44"},
{"h": 2, "y": 4, "x": 6.5, "label": "L45"},
{"y": 5, "x": 7.5, "label": "L46"},
{"y": 5, "x": 11, "label": "R40"},
{"h": 2, "y": 4, "x": 12, "label": "R41"},
{"y": 5, "x": 13, "label": "R42"},
{"y": 4, "x": 15, "label": "R43"},
{"y": 4.125, "x": 16, "label": "R44"},
{"y": 4.375, "x": 17, "label": "R45"},
{"y": 4.375, "x": 18, "label": "R46"}]
},
"LAYOUT_3key_2us": {
"layout": [
{"y": 0.375, "x": 0.5, "label": "L00"},
{"y": 0.375, "x": 1.5, "label": "L01"},
{"y": 0.125, "x": 2.5, "label": "L02"},
{"y": 0, "x": 3.5, "label": "L03"},
{"y": 0.125, "x": 4.5, "label": "L04"},
{"y": 0.25, "x": 5.5, "label": "L05"},
{"y": 0.75, "x": 6.5, "label": "L06"},
{"y": 0.75, "x": 12, "label": "R00"},
{"y": 0.25, "x": 13, "label": "R01"},
{"y": 0.125, "x": 14, "label": "R02"},
{"y": 0, "x": 15, "label": "R03"},
{"y": 0.125, "x": 16, "label": "R04"},
{"y": 0.375, "x": 17, "label": "R05"},
{"y": 0.375, "x": 18, "label": "R06"},
{"y": 1.375, "x": 0.5, "label": "L10"},
{"y": 1.375, "x": 1.5, "label": "L11"},
{"y": 1.125, "x": 2.5, "label": "L12"},
{"y": 1, "x": 3.5, "label": "L13"},
{"y": 1.125, "x": 4.5, "label": "L14"},
{"y": 1.25, "x": 5.5, "label": "L15"},
{"y": 1.75, "x": 6.5, "label": "L16"},
{"y": 1.75, "x": 12, "label": "R10"},
{"y": 1.25, "x": 13, "label": "R11"},
{"y": 1.125, "x": 14, "label": "R12"},
{"y": 1, "x": 15, "label": "R13"},
{"y": 1.125, "x": 16, "label": "R14"},
{"y": 1.375, "x": 17, "label": "R15"},
{"y": 1.375, "x": 18, "label": "R16"},
{"y": 2.375, "x": 0.5, "label": "L20"},
{"y": 2.375, "x": 1.5, "label": "L21"},
{"y": 2.125, "x": 2.5, "label": "L22"},
{"y": 2, "x": 3.5, "label": "L23"},
{"y": 2.125, "x": 4.5, "label": "L24"},
{"y": 2.25, "x": 5.5, "label": "L25"},
{"y": 2.75, "x": 6.5, "label": "L26"},
{"y": 2.75, "x": 12, "label": "R20"},
{"y": 2.25, "x": 13, "label": "R21"},
{"y": 2.125, "x": 14, "label": "R22"},
{"y": 2, "x": 15, "label": "R23"},
{"y": 2.125, "x": 16, "label": "R24"},
{"y": 2.375, "x": 17, "label": "R25"},
{"y": 2.375, "x": 18, "label": "R26"},
{"y": 3.375, "x": 0.5, "label": "L30"},
{"y": 3.375, "x": 1.5, "label": "L31"},
{"y": 3.125, "x": 2.5, "label": "L32"},
{"y": 3, "x": 3.5, "label": "L33"},
{"y": 3.125, "x": 4.5, "label": "L34"},
{"y": 3.25, "x": 5.5, "label": "L35"},
{"y": 3.25, "x": 13, "label": "R31"},
{"y": 3.125, "x": 14, "label": "R32"},
{"y": 3, "x": 15, "label": "R33"},
{"y": 3.125, "x": 16, "label": "R34"},
{"y": 3.375, "x": 17, "label": "R35"},
{"y": 3.375, "x": 18, "label": "R36"},
{"y": 4.375, "x": 0.5, "label": "L40"},
{"y": 4.375, "x": 1.5, "label": "L41"},
{"y": 4.125, "x": 2.5, "label": "L42"},
{"y": 4, "x": 3.5, "label": "L43"},
{"y": 5, "x": 5.5, "label": "L44"},
{"h": 2, "y": 4, "x": 6.5, "label": "L45"},
{"h": 2, "y": 4, "x": 7.5, "label": "L46"},
{"h": 2, "y": 4, "x": 11, "label": "R40"},
{"h": 2, "y": 4, "x": 12, "label": "R41"},
{"y": 5, "x": 13, "label": "R42"},
{"y": 4, "x": 15, "label": "R43"},
{"y": 4.125, "x": 16, "label": "R44"},
{"y": 4.375, "x": 17, "label": "R45"},
{"y": 4.375, "x": 18, "label": "R46"}]
},
"LAYOUT_3key_1us": {
"layout": [
{"y": 0.375, "x": 0.5, "label": "L00"},
{"y": 0.375, "x": 1.5, "label": "L01"},
{"y": 0.125, "x": 2.5, "label": "L02"},
{"y": 0, "x": 3.5, "label": "L03"},
{"y": 0.125, "x": 4.5, "label": "L04"},
{"y": 0.25, "x": 5.5, "label": "L05"},
{"y": 0.75, "x": 6.5, "label": "L06"},
{"y": 0.75, "x": 12, "label": "R00"},
{"y": 0.25, "x": 13, "label": "R01"},
{"y": 0.125, "x": 14, "label": "R02"},
{"y": 0, "x": 15, "label": "R03"},
{"y": 0.125, "x": 16, "label": "R04"},
{"y": 0.375, "x": 17, "label": "R05"},
{"y": 0.375, "x": 18, "label": "R06"},
{"y": 1.375, "x": 0.5, "label": "L10"},
{"y": 1.375, "x": 1.5, "label": "L11"},
{"y": 1.125, "x": 2.5, "label": "L12"},
{"y": 1, "x": 3.5, "label": "L13"},
{"y": 1.125, "x": 4.5, "label": "L14"},
{"y": 1.25, "x": 5.5, "label": "L15"},
{"y": 1.75, "x": 6.5, "label": "L16"},
{"y": 1.75, "x": 12, "label": "R10"},
{"y": 1.25, "x": 13, "label": "R11"},
{"y": 1.125, "x": 14, "label": "R12"},
{"y": 1, "x": 15, "label": "R13"},
{"y": 1.125, "x": 16, "label": "R14"},
{"y": 1.375, "x": 17, "label": "R15"},
{"y": 1.375, "x": 18, "label": "R16"},
{"y": 2.375, "x": 0.5, "label": "L20"},
{"y": 2.375, "x": 1.5, "label": "L21"},
{"y": 2.125, "x": 2.5, "label": "L22"},
{"y": 2, "x": 3.5, "label": "L23"},
{"y": 2.125, "x": 4.5, "label": "L24"},
{"y": 2.25, "x": 5.5, "label": "L25"},
{"y": 2.75, "x": 6.5, "label": "L26"},
{"y": 2.75, "x": 12, "label": "R20"},
{"y": 2.25, "x": 13, "label": "R21"},
{"y": 2.125, "x": 14, "label": "R22"},
{"y": 2, "x": 15, "label": "R23"},
{"y": 2.125, "x": 16, "label": "R24"},
{"y": 2.375, "x": 17, "label": "R25"},
{"y": 2.375, "x": 18, "label": "R26"},
{"y": 3.375, "x": 0.5, "label": "L30"},
{"y": 3.375, "x": 1.5, "label": "L31"},
{"y": 3.125, "x": 2.5, "label": "L32"},
{"y": 3, "x": 3.5, "label": "L33"},
{"y": 3.125, "x": 4.5, "label": "L34"},
{"y": 3.25, "x": 5.5, "label": "L35"},
{"y": 4, "x": 6.5, "label": "L36"},
{"y": 4, "x": 12, "label": "R30"},
{"y": 3.25, "x": 13, "label": "R31"},
{"y": 3.125, "x": 14, "label": "R32"},
{"y": 3, "x": 15, "label": "R33"},
{"y": 3.125, "x": 16, "label": "R34"},
{"y": 3.375, "x": 17, "label": "R35"},
{"y": 3.375, "x": 18, "label": "R36"},
{"y": 4.375, "x": 0.5, "label": "L40"},
{"y": 4.375, "x": 1.5, "label": "L41"},
{"y": 4.125, "x": 2.5, "label": "L42"},
{"y": 4, "x": 3.5, "label": "L43"},
{"y": 5, "x": 5.5, "label": "L44"},
{"y": 5, "x": 6.5, "label": "L45"},
{"y": 5, "x": 12, "label": "R41"},
{"y": 5, "x": 13, "label": "R42"},
{"y": 4, "x": 15, "label": "R43"},
{"y": 4.125, "x": 16, "label": "R44"},
{"y": 4.375, "x": 17, "label": "R45"},
{"y": 4.375, "x": 18, "label": "R46"}]
},
"LAYOUT_2key": {
"layout": [
{"y": 0.375, "x": 0.5, "label": "L00"},
{"y": 0.375, "x": 1.5, "label": "L01"},
{"y": 0.125, "x": 2.5, "label": "L02"},
{"y": 0, "x": 3.5, "label": "L03"},
{"y": 0.125, "x": 4.5, "label": "L04"},
{"y": 0.25, "x": 5.5, "label": "L05"},
{"y": 0.75, "x": 6.5, "label": "L06"},
{"y": 0.75, "x": 12, "label": "R00"},
{"y": 0.25, "x": 13, "label": "R01"},
{"y": 0.125, "x": 14, "label": "R02"},
{"y": 0, "x": 15, "label": "R03"},
{"y": 0.125, "x": 16, "label": "R04"},
{"y": 0.375, "x": 17, "label": "R05"},
{"y": 0.375, "x": 18, "label": "R06"},
{"y": 1.375, "x": 0.5, "label": "L10"},
{"y": 1.375, "x": 1.5, "label": "L11"},
{"y": 1.125, "x": 2.5, "label": "L12"},
{"y": 1, "x": 3.5, "label": "L13"},
{"y": 1.125, "x": 4.5, "label": "L14"},
{"y": 1.25, "x": 5.5, "label": "L15"},
{"y": 1.75, "x": 6.5, "label": "L16"},
{"y": 1.75, "x": 12, "label": "R10"},
{"y": 1.25, "x": 13, "label": "R11"},
{"y": 1.125, "x": 14, "label": "R12"},
{"y": 1, "x": 15, "label": "R13"},
{"y": 1.125, "x": 16, "label": "R14"},
{"y": 1.375, "x": 17, "label": "R15"},
{"y": 1.375, "x": 18, "label": "R16"},
{"y": 2.375, "x": 0.5, "label": "L20"},
{"y": 2.375, "x": 1.5, "label": "L21"},
{"y": 2.125, "x": 2.5, "label": "L22"},
{"y": 2, "x": 3.5, "label": "L23"},
{"y": 2.125, "x": 4.5, "label": "L24"},
{"y": 2.25, "x": 5.5, "label": "L25"},
{"y": 2.75, "x": 6.5, "label": "L26"},
{"y": 2.75, "x": 12, "label": "R20"},
{"y": 2.25, "x": 13, "label": "R21"},
{"y": 2.125, "x": 14, "label": "R22"},
{"y": 2, "x": 15, "label": "R23"},
{"y": 2.125, "x": 16, "label": "R24"},
{"y": 2.375, "x": 17, "label": "R25"},
{"y": 2.375, "x": 18, "label": "R26"},
{"y": 3.375, "x": 0.5, "label": "L30"},
{"y": 3.375, "x": 1.5, "label": "L31"},
{"y": 3.125, "x": 2.5, "label": "L32"},
{"y": 3, "x": 3.5, "label": "L33"},
{"y": 3.125, "x": 4.5, "label": "L34"},
{"y": 3.25, "x": 5.5, "label": "L35"},
{"y": 3.25, "x": 13, "label": "R31"},
{"y": 3.125, "x": 14, "label": "R32"},
{"y": 3, "x": 15, "label": "R33"},
{"y": 3.125, "x": 16, "label": "R34"},
{"y": 3.375, "x": 17, "label": "R35"},
{"y": 3.375, "x": 18, "label": "R36"},
{"y": 4.375, "x": 0.5, "label": "L40"},
{"y": 4.375, "x": 1.5, "label": "L41"},
{"y": 4.125, "x": 2.5, "label": "L42"},
{"y": 4, "x": 3.5, "label": "L43"},
{"y": 5, "x": 5.5, "label": "L44"},
{"h": 2, "y": 4, "x": 6.5, "label": "L45"},
{"h": 2, "y": 4, "x": 12, "label": "R41"},
{"y": 5, "x": 13, "label": "R42"},
{"y": 4, "x": 15, "label": "R43"},
{"y": 4.125, "x": 16, "label": "R44"},
{"y": 4.375, "x": 17, "label": "R45"},
{"y": 4.375, "x": 18, "label": "R46"}]
}
}
}
}

View File

@@ -10,8 +10,8 @@
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#endif
#endif
@@ -20,47 +20,132 @@
#ifndef FLIP_HALF
// Standard Keymap
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, R30 }, \
{ R46, R45, R44, R43, R42, R41, R40 } \
}
#define LAYOUT_4key( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, R30 }, \
{ R46, R45, R44, R43, R42, R41, R40 } \
}
// Just defined for configurator support, the matrix is identical to LAYOUT_4key
#define LAYOUT_4key_2u_inner( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, R30 }, \
{ R46, R45, R44, R43, R42, R41, R40 } \
}
#define LAYOUT_3key_2us( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, KC_NO }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, KC_NO }, \
{ R46, R45, R44, R43, R42, R41, R40 } \
}
#define LAYOUT_3key_1us( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, KC_NO }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, R30 }, \
{ R46, R45, R44, R43, R42, R41, KC_NO } \
}
#define LAYOUT_2key( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, KC_NO }, \
{ L40, L41, L42, L43, L44, L45, KC_NO }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, KC_NO }, \
{ R46, R45, R44, R43, R42, R41, KC_NO } \
}
#define LAYOUT LAYOUT_4key
#else
// Keymap with right side flipped
// (TRRS jack on both halves are to the right)
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R00, R01, R02, R03, R04, R05, R06 }, \
{ R10, R11, R12, R13, R14, R15, R16 }, \
{ R20, R21, R22, R23, R24, R25, R26 }, \
{ R30, R31, R32, R33, R34, R35, R36 }, \
{ R40, R41, R42, R43, R44, R45, R46 } \
}
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R00, R01, R02, R03, R04, R05, R06 }, \
{ R10, R11, R12, R13, R14, R15, R16 }, \
{ R20, R21, R22, R23, R24, R25, R26 }, \
{ R30, R31, R32, R33, R34, R35, R36 }, \
{ R40, R41, R42, R43, R44, R45, R46 } \
}
#endif
#endif

View File

@@ -0,0 +1,16 @@
/* Copyright 2019 joaofbmaia
*
* 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 "6macro.h"

View File

@@ -0,0 +1,35 @@
/* Copyright 2019 joaofbmaia
*
* 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"
/* This a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT( \
k00, k01, k02, \
k10, k11, k12 \
) \
{ \
{ k00, k01, k02 }, \
{ k10, k11, k12 }, \
}

View File

@@ -0,0 +1,70 @@
/*
Copyright 2019 joaofbmaia
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0037
#define DEVICE_VER 0x0001
#define MANUFACTURER joaofbmaia
#define PRODUCT 6macro
#define DESCRIPTION 6macro
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
/* pinout - DON'T CHANGE */
#define MATRIX_ROW_PINS { B3, B4 }
#define MATRIX_COL_PINS { B0, B1, B2 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define RGB_DI_PIN D2
#define RGBLED_NUM 10
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
// #define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
// /*==== use exp() and sin() ====*/
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

View File

@@ -0,0 +1,13 @@
{
"keyboard_name": "6macro",
"url": "",
"maintainer": "joaofbmaia",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
}
}
}

View File

@@ -0,0 +1,18 @@
/* Copyright 2019 joaofbmaia
*
* 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

View File

@@ -0,0 +1,56 @@
/* Copyright 2019 joaofbmaia
*
* 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] = {
/* LAYER 0
* ,-----------------------.
* | F13 | F14 | F15/FN| Hold for FN
* |-------+-------+-------|
* | F16 | F17 | F18 |
* `-------+-------+-------'
*/
[0] = LAYOUT(
KC_F13, KC_F14, LT(1, KC_F15), \
KC_F16, KC_F17, KC_F18 \
),
/* LAYER 1
* ,-----------------------.
* |RGB_TOG|RGBMOD+| |
* |-------+-------+-------|
* |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (RESET)
* `-------+-------+-------'
*/
[1] = LAYOUT(
RGB_TOG, RGB_MOD, KC_TRNS, \
RGB_HUI, RGB_VAI, MO(2) \
),
/* LAYER 2
* ,-----------------------.
* | RESET |RGBMOD-| |
* |-------+-------+-------|
* |RGBHUE-|RGBBRI-| |
* `-------+-------+-------'
*/
[2] = LAYOUT(
RESET, RGB_RMOD, KC_NO, \
RGB_HUD, RGB_VAD, KC_TRNS \
)
};

View File

@@ -0,0 +1,15 @@
Layer 0:
![Layer 0](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer0_default.png)
Layer 1:
![Layer 1](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer1.png)
Layer 2:
![Layer 2](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer2.png)
# Default 6macro Layout
This is the default layout. Layer 0 is mappped to function keys 13-18. Top right key switches to layer above when held. Upper layers are for RGB control.

View File

@@ -0,0 +1,18 @@
/* Copyright 2019 joaofbmaia
*
* 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

View File

@@ -0,0 +1,56 @@
/* Copyright 2019 joaofbmaia
*
* 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] = {
/* LAYER 0
* ,-----------------------.
* | ESC | ~ | SPC/FN| Hold for FN
* |-------+-------+-------|
* | C | Z | X |
* `-------+-------+-------'
*/
[0] = LAYOUT(
KC_ESC, KC_GRAVE, LT(1, KC_SPC), \
KC_C, KC_Z, KC_X \
),
/* LAYER 1
* ,-----------------------.
* |RGB_TOG|RGBMOD+| |
* |-------+-------+-------|
* |RGBHUE+|RGBBRI+|Spec FN| Hold along with previous to access special funtions (RESET)
* `-------+-------+-------'
*/
[1] = LAYOUT(
RGB_TOG, RGB_MOD, KC_TRNS, \
RGB_HUI, RGB_VAI, MO(2) \
),
/* LAYER 2
* ,-----------------------.
* | RESET |RGBMOD-| |
* |-------+-------+-------|
* |RGBHUE-|RGBBRI-| |
* `-------+-------+-------'
*/
[2] = LAYOUT(
RESET, RGB_RMOD, KC_NO, \
RGB_HUD, RGB_VAD, KC_TRNS \
)
};

View File

@@ -0,0 +1,15 @@
Layer 0:
![Layer 0](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer0_osu.png)
Layer 1:
![Layer 1](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer1.png)
Layer 2:
![Layer 2](https://raw.githubusercontent.com/joaofbmaia/6macro/master/layer2.png)
# OSU 6macro Layout
This layout is for the game OSU. Layer 0 is mappped as shown above. Top right key switches to layer above when held. Upper layers are for RGB control.

View File

@@ -0,0 +1,15 @@
# 6macro
![6macro photo](https://raw.githubusercontent.com/joaofbmaia/6macro/master/photo.jpg)
![6macro photo with RGB](https://raw.githubusercontent.com/joaofbmaia/6macro/master/photo_rgb.jpg)
This is a 6-key keyboard intended for macros or as a dedicated controller for games with few bindings.
Keyboard Maintainer: [joaofbmaia](https://github.com/joaofbmaia)
Hardware: https://github.com/joaofbmaia/6macro
Make example for this keyboard (after setting up your build environment):
make handwired/6macro: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).

View File

@@ -0,0 +1,81 @@
# MCU name
MCU = atmega32u2
# Processor frequency.
# This will define a symbol, F_CPU, in all source code files equal to the
# processor frequency in Hz. You can then use this symbol in your source code to
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
# automatically to create a 32-bit value in your source code.
#
# This will be an integer division of F_USB below, as it is sourced by
# F_USB after it has run through any CPU prescalers. Note that this value
# does not *change* the processor frequency - it should merely be updated to
# reflect the processor speed set externally so that the code can use accurate
# software delays.
F_CPU = 16000000
#
# LUFA specific
#
# Target architecture (see library "Board Types" documentation).
ARCH = AVR8
# Input clock frequency.
# This will define a symbol, F_USB, in all source code files equal to the
# input clock frequency (before any prescaling is performed) in Hz. This value may
# differ from F_CPU if prescaling is used on the latter, and is required as the
# raw input clock is fed directly to the PLL sections of the AVR for high speed
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
# at the end, this will be done automatically to create a 32-bit value in your
# source code.
#
# If no clock division is performed on the input clock inside the AVR (via the
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
F_USB = $(F_CPU)
# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# atmega32a bootloadHID
BOOTLOADER = atmel-dfu
# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
# Teensy halfKay 512
# Teensy++ halfKay 1024
# Atmel DFU loader 4096
# LUFA bootloader 4096
# USBaspLoader 2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
#RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500)
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = yes # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)

View File

@@ -1,39 +1,5 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#define STARTUP_SONG SONG(DVORAK_SOUND)
#endif
/*
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 2
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4

View File

@@ -1,19 +1,3 @@
/* Copyright 2015-2017 Jack Humbert
*
* 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
#include "muse.h"

View File

@@ -0,0 +1,79 @@
/* Copyright 2018 Holten Campbell
*
* 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(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
LT(2, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(2, KC_ENT),
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, LT(3, KC_B), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(1, KC_SPC), KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT(
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_TRNS,
KC_TRNS, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
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_TRNS,
KC_TRNS, KC_UNDS, KC_PLUS, KC_COLN, KC_DQUO, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, 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_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
)
};
void matrix_init_user(void) {
// set CapsLock LED to output and low
setPinOutput(B1);
writePinLow(B1);
// set NumLock LED to output and low
setPinOutput(B2);
writePinLow(B2);
// set ScrollLock LED to output and low
setPinOutput(B3);
writePinLow(B3);
}
//function for layer indicator LED
uint32_t layer_state_set_user(uint32_t state)
{
if (state & (1<<1)) {
writePinHigh(B1);
} else {
writePinLow(B1);
}
if (state & (1<<2)) {
writePinHigh(B2);
} else {
writePinLow(B2);
}
if (state & (1<<3)) {
writePinHigh(B3);
} else {
writePinLow(B3);
}
return state;
}

View File

@@ -20,6 +20,8 @@ Flashing
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
**Reset Key:** Hold down the key located at `K00`, commonly programmed as `Esc` while plugging in the keyboard.
Windows:
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
2. Place your keyboard into reset.
@@ -41,9 +43,10 @@ macOS:
brew install python3
pip3 install pyusb
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
```
4. Place your keyboard into reset.
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
See [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.
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).

View File

@@ -1,14 +1,19 @@
#include QMK_KEYBOARD_H
#include "unicode.c"
enum layers {
_QWERTY,
_LOWER,
_RAISE,
_UNI_LCK
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define UNI_LCK MO(_UNI_LCK)
#define TGLOWER TG(_LOWER)
#define TGRAISE TG(_RAISE)
#define SHRAISE LM(_RAISE, MOD_LSFT)
static bool is_ctl_pressed;
static bool is_esc_pressed;
@@ -22,33 +27,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN, KC_ENT,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM, KC_DOT, KC_UP, KC_SLSH,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM, KC_DOT, KC_UP ,KC_SLSH,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_LCTL,KC_LGUI,KC_LALT,TGLOWER, LOWER , KC_SPC, KC_SPC, RAISE ,KC_RALT,KC_LEFT,KC_DOWN,KC_RGHT
KC_LCTL,KC_LGUI,KC_LALT,UNI_LCK, LOWER , KC_SPC, KC_SPC, RAISE ,SHRAISE,KC_LEFT,KC_DOWN,KC_RGHT
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_LOWER] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
KC_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,_______,
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 ,_______, KC_INS, KC_P7 , KC_P8 , KC_P9 ,KC_PMNS,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______, KC_F1 , KC_F2 , KC_F3, KC_F4 ,_______,KC_LBRC,KC_RBRC,KC_BSLS,KC_QUOT,_______,_______,
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 ,KC_HOME,KC_PGUP, KC_P4 , KC_P5 , KC_P6 ,KC_PPLS,KC_PENT,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 ,_______,KC_MINS, KC_EQL,_______,_______,_______,_______,
_______, KC_F9 , KC_F10, KC_F11, KC_F12, KC_END,KC_PGDN, KC_P1 , KC_P2 , KC_P3 ,KC_PAST,KC_PSLS,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
_______,_______,_______,_______,_______,_______,_______,_______, KC_P0 ,KC_PDOT,KC_LPRN,KC_RPRN
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_RAISE] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
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_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_CAPS, KC_F9 , KC_F10, KC_F11, KC_F12,_______,KC_LCBR,KC_RCBR,KC_PIPE,KC_DQUO,_______,_______,
KC_CAPS,_______,_______,_______,_______,_______,KC_LBRC,KC_RBRC,KC_BSLS,KC_QUOT,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,KC_UNDS,KC_PLUS,KC_HOME,KC_PGUP,KC_VOLU,_______,
_______,_______,_______,_______,_______,_______,KC_MINS, KC_EQL,_______,_______,KC_VOLU,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_VOLD,KC_MUTE
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_VOLD,KC_MUTE
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_UNI_LCK] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
UN_ESC, UN_Q , UN_W , UN_E , UN_R , UN_T , UN_Y , UN_U , UN_I , UN_O , UN_P ,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______, UN_A , UN_S , UN_D , UN_F , UN_G , UN_H , UN_J , UN_K , UN_L ,UN_SCLN,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______, UN_Z , UN_X , UN_C , UN_V , UN_B , UN_N , UN_M ,UN_COMM, UN_DOT, UN_UP ,UN_SLSH,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
UC_M_LN,UC_M_WI,UC_M_OS,_______,TGLOWER,_______,_______,TGRAISE,_______,UN_LEFT,UN_DOWN,UN_RGHT
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
@@ -65,6 +82,10 @@ uint32_t layer_state_set_user(uint32_t state) {
writePinLow(JOTANCK_LED1);
writePinHigh(JOTANCK_LED2);
break;
case _UNI_LCK:
writePinHigh(JOTANCK_LED1);
writePinHigh(JOTANCK_LED2);
break;
default:
writePinLow(JOTANCK_LED1);
writePinLow(JOTANCK_LED2);
@@ -74,6 +95,16 @@ uint32_t layer_state_set_user(uint32_t state) {
return state;
}
void led_set_user(uint8_t usb_led) {
if (!(IS_LED_ON(usb_led, USB_LED_NUM_LOCK))) {
tap_code(KC_NUMLOCK);
}
}
void keyboard_post_init_user(void) {
set_unicode_input_mode(UC_LNX);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_LCTL:
@@ -88,7 +119,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
return true;
}
void matrix_scan_user(void) {
if (is_ctl_pressed && is_esc_pressed && is_bspc_pressed) {
reset_keyboard();

View File

@@ -1,6 +1,6 @@
# Jotix ortho 4x12 keymap
![keymap](https://i.imgur.com/CpZCcuy.png)
![keymap](https://i.imgur.com/hfCyDRD.png)
Tested on:

View File

@@ -0,0 +1 @@
UNICODEMAP_ENABLE = yes

View File

@@ -0,0 +1,185 @@
enum unicode_names {
A_ACUTE,
A_ACUTEC,
E_ACUTE,
E_ACUTEC,
I_ACUTE,
I_ACUTEC,
O_ACUTE,
O_ACUTEC,
U_ACUTE,
U_ACUTEC,
U_DIERESIS,
U_DIERESISC,
N_TILDE,
N_TILDEC,
OPEN_EXCML,
OPEN_QUEST,
EURO,
POUND,
LEFT_ARROW,
DOWN_ARROW,
UP_ARROW,
RIGHT_ARROW,
LEFT_DARROW,
DOWN_DARROW,
UP_DARROW,
RIGHT_DAROW,
LEFT_DQUOT,
RGHT_DQUOT,
DEGREE,
DEGREE_CELCIUS,
SUPER_1,
SUPER_2,
SUPER_3,
ONE_HALF,
PER_MILLE,
PER_THOUS,
PILCROW,
COPYRIGHT,
REGISTERED,
MICRO,
MIDDLE_DOT,
BOX_CORNER_1,
BOX_CORNER_2,
BOX_CORNER_3,
BOX_CORNER_4,
BOX_HORIZONTAL,
BOX_VERTICAL,
BOX_CROSS,
BOX_UNION_1,
BOX_UNION_2,
BOX_UNION_3,
BOX_UNION_4,
DBOX_CORNER_1,
DBOX_CORNER_2,
DBOX_CORNER_3,
DBOX_CORNER_4,
DBOX_HORIZONT,
DBOX_VERTICAL,
DBOX_CROSS,
DBOX_UNION_1,
DBOX_UNION_2,
DBOX_UNION_3,
DBOX_UNION_4,
LESS_EQUAL,
MORE_EQUAL,
DIVISION,
SQUARE_ROOT,
CUBE_ROOT,
SPADE_SUIT,
TREBOL_SUIT,
HEART_SUIT,
DIAMOND_SUIT,
};
const uint32_t PROGMEM unicode_map[] = {
[A_ACUTE] = 0x00E1,
[A_ACUTEC] = 0x00C1,
[E_ACUTE] = 0x00E9,
[E_ACUTEC] = 0x00C9,
[I_ACUTE] = 0x00ED,
[I_ACUTEC] = 0x00CD,
[O_ACUTE] = 0x00F3,
[O_ACUTEC] = 0x00D3,
[U_ACUTE] = 0x00FA,
[U_ACUTEC] = 0x00DA,
[U_DIERESIS] = 0x00FC,
[U_DIERESISC] = 0x00DC,
[N_TILDE] = 0x00F1,
[N_TILDEC] = 0x00D1,
[OPEN_EXCML] = 0x00A1,
[OPEN_QUEST] = 0x00BF,
[EURO] = 0x20AC,
[POUND] = 0x00A3,
[LEFT_ARROW] = 0x2190,
[DOWN_ARROW] = 0x2193,
[UP_ARROW] = 0x2191,
[RIGHT_ARROW] = 0x2192,
[LEFT_DARROW] = 0x21E6,
[DOWN_DARROW] = 0x21D3,
[UP_DARROW] = 0x21D1,
[RIGHT_DAROW] = 0x21D2,
[LEFT_DQUOT] = 0x00AB,
[RGHT_DQUOT] = 0x00BB,
[DEGREE] = 0x00B0,
[DEGREE_CELCIUS]= 0x2103,
[SUPER_1] = 0x00B9,
[SUPER_2] = 0x00B2,
[SUPER_3] = 0x00B3,
[ONE_HALF] = 0x00BD,
[PER_MILLE] = 0x0609,
[PER_THOUS] = 0x060A,
[PILCROW] = 0x00B6,
[COPYRIGHT] = 0x00A9,
[REGISTERED] = 0x00AE,
[MICRO] = 0x00B5,
[MIDDLE_DOT] = 0x00B7,
[BOX_CORNER_1] = 0x250C,
[BOX_CORNER_2] = 0x2510,
[BOX_CORNER_3] = 0x2514,
[BOX_CORNER_4] = 0x2518,
[BOX_HORIZONTAL]= 0x2500,
[BOX_VERTICAL] = 0x2502,
[BOX_CROSS] = 0x253C,
[BOX_UNION_1] = 0x2524,
[BOX_UNION_2] = 0x252C,
[BOX_UNION_3] = 0x2534,
[BOX_UNION_4] = 0x251C,
[DBOX_CORNER_1] = 0x2554,
[DBOX_CORNER_2] = 0x2557,
[DBOX_CORNER_3] = 0x255A,
[DBOX_CORNER_4] = 0x255D,
[DBOX_HORIZONT] = 0x2550,
[DBOX_VERTICAL] = 0x2551,
[DBOX_CROSS] = 0x256C,
[DBOX_UNION_1] = 0x2563,
[DBOX_UNION_2] = 0x2566,
[DBOX_UNION_3] = 0x2569,
[DBOX_UNION_4] = 0x2560,
[LESS_EQUAL] = 0x2264,
[MORE_EQUAL] = 0x2265,
[DIVISION] = 0x00F7,
[SQUARE_ROOT] = 0x221A,
[CUBE_ROOT] = 0x221B,
[SPADE_SUIT] = 0x2660,
[TREBOL_SUIT] = 0x2663,
[HEART_SUIT] = 0x2664,
[DIAMOND_SUIT] = 0x2665
};
#define UN_ESC XP(DEGREE, DEGREE_CELCIUS)
#define UN_Q XP(OPEN_EXCML, SUPER_1)
#define UN_W XP(SUPER_2, SUPER_3)
#define UN_E XP(E_ACUTE, E_ACUTEC)
#define UN_R XP(EURO, ONE_HALF)
#define UN_T XP(PER_MILLE, PER_THOUS)
#define UN_Y XP(U_DIERESIS, U_DIERESISC)
#define UN_U XP(U_ACUTE, U_ACUTEC)
#define UN_I XP(I_ACUTE, I_ACUTEC)
#define UN_O XP(O_ACUTE, O_ACUTEC)
#define UN_P XP(POUND, PILCROW)
#define UN_A XP(A_ACUTE, A_ACUTEC)
#define UN_S XP(BOX_CORNER_1, DBOX_CORNER_1)
#define UN_D XP(BOX_CORNER_2, DBOX_CORNER_2)
#define UN_F XP(BOX_CORNER_3, DBOX_CORNER_3)
#define UN_G XP(BOX_CORNER_4, DBOX_CORNER_4)
#define UN_H XP(BOX_UNION_1, DBOX_UNION_1)
#define UN_J XP(BOX_UNION_2, DBOX_UNION_2)
#define UN_K XP(BOX_UNION_3, DBOX_UNION_3)
#define UN_L XP(BOX_UNION_4, DBOX_UNION_4)
#define UN_SCLN XP(BOX_HORIZONTAL, DBOX_HORIZONT)
#define UN_Z XP(BOX_VERTICAL, DBOX_VERTICAL)
#define UN_X XP(BOX_CROSS, DBOX_CROSS)
#define UN_C XP(COPYRIGHT, REGISTERED)
#define UN_V XP(SPADE_SUIT, TREBOL_SUIT)
#define UN_B XP(HEART_SUIT, DIAMOND_SUIT)
#define UN_N XP(N_TILDE, N_TILDEC)
#define UN_M XP(MICRO, MIDDLE_DOT)
#define UN_COMM XP(LESS_EQUAL, LEFT_DQUOT)
#define UN_DOT XP(MORE_EQUAL, RGHT_DQUOT)
#define UN_SLSH XP(OPEN_QUEST, DIVISION)
#define UN_LEFT XP(LEFT_ARROW, LEFT_DARROW)
#define UN_DOWN XP(DOWN_ARROW, DOWN_DARROW)
#define UN_UP XP(UP_ARROW, UP_DARROW)
#define UN_RGHT XP(RIGHT_ARROW, RIGHT_DAROW)

View File

@@ -167,7 +167,6 @@ void eeconfig_update_rgblight(uint32_t val) {
}
void eeconfig_update_rgblight_default(void) {
//dprintf("eeconfig_update_rgblight_default\n");
rgblight_config.enable = 1;
rgblight_config.mode = RGBLIGHT_MODE_STATIC_LIGHT;
rgblight_config.hue = 0;
@@ -179,7 +178,7 @@ void eeconfig_update_rgblight_default(void) {
}
void eeconfig_debug_rgblight(void) {
dprintf("rgblight_config eprom\n");
dprintf("rgblight_config EEPROM:\n");
dprintf("rgblight_config.enable = %d\n", rgblight_config.enable);
dprintf("rghlight_config.mode = %d\n", rgblight_config.mode);
dprintf("rgblight_config.hue = %d\n", rgblight_config.hue);
@@ -308,9 +307,9 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
RGBLIGHT_SPLIT_SET_CHANGE_MODE;
if (write_to_eeprom) {
eeconfig_update_rgblight(rgblight_config.raw);
xprintf("rgblight mode [EEPROM]: %u\n", rgblight_config.mode);
dprintf("rgblight mode [EEPROM]: %u\n", rgblight_config.mode);
} else {
xprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode);
dprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode);
}
if( is_static_effect(rgblight_config.mode) ) {
#ifdef RGBLIGHT_USE_TIMER
@@ -337,7 +336,7 @@ void rgblight_mode_noeeprom(uint8_t mode) {
void rgblight_toggle(void) {
xprintf("rgblight toggle [EEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable);
dprintf("rgblight toggle [EEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable);
if (rgblight_config.enable) {
rgblight_disable();
}
@@ -347,7 +346,7 @@ void rgblight_toggle(void) {
}
void rgblight_toggle_noeeprom(void) {
xprintf("rgblight toggle [NOEEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable);
dprintf("rgblight toggle [NOEEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable);
if (rgblight_config.enable) {
rgblight_disable_noeeprom();
}
@@ -360,20 +359,20 @@ void rgblight_enable(void) {
rgblight_config.enable = 1;
// No need to update EEPROM here. rgblight_mode() will do that, actually
//eeconfig_update_rgblight(rgblight_config.raw);
xprintf("rgblight enable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
dprintf("rgblight enable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
rgblight_mode(rgblight_config.mode);
}
void rgblight_enable_noeeprom(void) {
rgblight_config.enable = 1;
xprintf("rgblight enable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
dprintf("rgblight enable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
rgblight_mode_noeeprom(rgblight_config.mode);
}
void rgblight_disable(void) {
rgblight_config.enable = 0;
eeconfig_update_rgblight(rgblight_config.raw);
xprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
#ifdef RGBLIGHT_USE_TIMER
rgblight_timer_disable();
#endif
@@ -384,7 +383,7 @@ void rgblight_disable(void) {
void rgblight_disable_noeeprom(void) {
rgblight_config.enable = 0;
xprintf("rgblight disable [noEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
dprintf("rgblight disable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
#ifdef RGBLIGHT_USE_TIMER
rgblight_timer_disable();
#endif
@@ -471,7 +470,6 @@ void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) {
if (rgblight_config.enable) {
LED_TYPE tmp_led;
sethsv(hue, sat, val, &tmp_led);
// dprintf("rgblight set hue [MEMORY]: %u,%u,%u\n", inmem_config.hue, inmem_config.sat, inmem_config.val);
rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b);
}
}
@@ -543,9 +541,9 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
rgblight_config.val = val;
if (write_to_eeprom) {
eeconfig_update_rgblight(rgblight_config.raw);
xprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
dprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
} else {
xprintf("rgblight set hsv [NOEEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
dprintf("rgblight set hsv [NOEEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
}
}
}
@@ -866,7 +864,6 @@ void rgblight_task(void) {
uint16_t oldpos16;
if (tick_flag) {
tick_flag = false;
//dprintf("rgblight animation tick\n");
if (timer_elapsed(report_last_timer) >= 30000) {
report_last_timer = timer_read();
dprintf("rgblight animation tick report to slave\n");
@@ -874,15 +871,11 @@ void rgblight_task(void) {
}
}
oldpos16 = animation_status.pos16;
//dprintf("call effect function\n");
#endif
animation_status.last_timer += interval_time;
effect_func(&animation_status);
#if defined(RGBLIGHT_SPLIT) && !defined(RGBLIGHT_SPLIT_NO_ANIMATION_SYNC)
//dprintf("pos16, oldpos16 = %d %d\n",
// animation_status.pos16,oldpos16);
if (animation_status.pos16 == 0 && oldpos16 != 0) {
//dprintf("flag on\n");
tick_flag = true;
}
#endif