|
|
|
@ -1,7 +1,5 @@
|
|
|
|
|
#include QMK_KEYBOARD_H
|
|
|
|
|
|
|
|
|
|
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
|
|
|
|
|
|
|
|
|
|
#define _______ KC_TRNS
|
|
|
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
@ -22,101 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
[2] = LAYOUT(
|
|
|
|
|
_______, M(1), M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (id) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return MACRO_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void matrix_init_user(void) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void matrix_scan_user(void) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void led_set_user(uint8_t usb_led) {
|
|
|
|
|
|
|
|
|
|
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
|
|
|
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
|
|
|
|
} else {
|
|
|
|
|
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (usb_led & (1 << USB_LED_KANA)) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum function_id {
|
|
|
|
|
SHIFT_ESC,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const uint16_t PROGMEM fn_actions[] = {
|
|
|
|
|
[0] = ACTION_FUNCTION(SHIFT_ESC),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
|
|
|
static uint8_t shift_esc_shift_mask;
|
|
|
|
|
switch (id) {
|
|
|
|
|
case SHIFT_ESC:
|
|
|
|
|
shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
|
|
|
|
|
if (record->event.pressed) {
|
|
|
|
|
if (shift_esc_shift_mask) {
|
|
|
|
|
add_key(KC_GRV);
|
|
|
|
|
send_keyboard_report();
|
|
|
|
|
} else {
|
|
|
|
|
add_key(KC_ESC);
|
|
|
|
|
send_keyboard_report();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (shift_esc_shift_mask) {
|
|
|
|
|
del_key(KC_GRV);
|
|
|
|
|
send_keyboard_report();
|
|
|
|
|
} else {
|
|
|
|
|
del_key(KC_ESC);
|
|
|
|
|
send_keyboard_report();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|