mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-21 15:12:02 +00:00
Adding support for two new The Mad Noodle Keypads (Revised..Again)
This commit is contained in:
parent
4b1e78ba36
commit
93042496d9
@ -1,51 +0,0 @@
|
|||||||
#include QMK_KEYBOARD_H
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
/* LAYER 0
|
|
||||||
* ,-----------------------.
|
|
||||||
* | << | MUTE | >> | ENCODER - PRESS (MUTE) / KNOB (Brush size)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | STOP | PLAY | MEDIA |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | CALC | MAIL | PC/FN |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
[0] = LAYOUT(
|
|
||||||
KC_MPRV, KC_MUTE, KC_MNXT,
|
|
||||||
KC_MSTP, KC_MPLY, KC_MSEL,
|
|
||||||
KC_CALC, KC_MAIL, LT(1, KC_MYCM)
|
|
||||||
),
|
|
||||||
|
|
||||||
/* LAYER 1
|
|
||||||
* ,-----------------------.
|
|
||||||
* |BL TOG | | BREATH|
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | BL + | BL - |BL CYCL|
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | BL ON | BL OFF| |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
[1] = LAYOUT(
|
|
||||||
BL_TOGG, KC_TRNS, BL_BRTG,
|
|
||||||
BL_INC, BL_DEC, BL_STEP,
|
|
||||||
BL_ON, BL_OFF, KC_TRNS
|
|
||||||
)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
|
||||||
if (index == 0) { /* First encoder */
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_RBRC);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_LBRC);
|
|
||||||
}
|
|
||||||
} else if (index == 1) { /* Second encoder */
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_RBRC);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_LBRC);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,145 +0,0 @@
|
|||||||
#include QMK_KEYBOARD_H
|
|
||||||
|
|
||||||
|
|
||||||
bool is_alt_tab_active = false;
|
|
||||||
uint16_t alt_tab_timer = 0;
|
|
||||||
|
|
||||||
enum custom_keycodes {
|
|
||||||
ALT_TAB = SAFE_RANGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case ALT_TAB:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
if (!is_alt_tab_active) {
|
|
||||||
is_alt_tab_active = true;
|
|
||||||
register_code(KC_LALT);
|
|
||||||
}
|
|
||||||
alt_tab_timer = timer_read();
|
|
||||||
register_code(KC_TAB);
|
|
||||||
} else {
|
|
||||||
unregister_code(KC_TAB);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
if (is_alt_tab_active) {
|
|
||||||
if (timer_elapsed(alt_tab_timer) > 1000) {
|
|
||||||
unregister_code(KC_LALT);
|
|
||||||
is_alt_tab_active = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
/* LAYER 0
|
|
||||||
* ,-----------------------.
|
|
||||||
* | << | MUTE | >> | ENCODER - PRESS (MUTE) / KNOB (VOLUME CONTROL)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | STOP | PLAY | MEDIA |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | CALC | MAIL | PC/FN |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[0] = LAYOUT(
|
|
||||||
LCA(KC_M), LT(2, LCA(KC_G)), LCA(KC_Q),
|
|
||||||
LCA(KC_R), LCA(KC_C), LCA(KC_B),
|
|
||||||
LT(3,LCA(KC_N)), LCA(KC_K), LT(1, KC_MYCM)
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
/* LAYER 1
|
|
||||||
* ,-----------------------.
|
|
||||||
* | MODE+ |RGB TOG| MODE- | ENCODER - PRESS (NA) / KNOB (Hue Control)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | SPD- | SPD+ |Bright |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | SAT+ | SAT- | |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[1] = LAYOUT(
|
|
||||||
RGB_TOG, RGB_TOG, RGB_RMOD,
|
|
||||||
RGB_SPI, RGB_SPD, RGB_VAI,
|
|
||||||
RGB_SAI, RGB_SAD, KC_TRNS
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
/* LAYER 2 (ENCODER)
|
|
||||||
* ,-----------------------.
|
|
||||||
* | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[2] = LAYOUT(
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
)
|
|
||||||
|
|
||||||
/* LAYER 3 (Layers)
|
|
||||||
* ,-----------------------.
|
|
||||||
* | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[2] = LAYOUT(
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
|
||||||
|
|
||||||
switch (biton32(layer_state)) {
|
|
||||||
case 1: //Layer 2 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
rgblight_increase_hue();
|
|
||||||
} else {
|
|
||||||
rgblight_decrease_hue();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2: //Layer 1 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_RGHT);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_LEFT);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
default: //Layer 0 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
|
|
||||||
tap_code16(LALT(S(KC_TAB)));
|
|
||||||
|
|
||||||
|
|
||||||
} else {
|
|
||||||
tap_code16(ALT_TAB);
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,127 +0,0 @@
|
|||||||
#include QMK_KEYBOARD_H
|
|
||||||
|
|
||||||
|
|
||||||
bool is_alt_tab_active = false;
|
|
||||||
uint16_t alt_tab_timer = 0;
|
|
||||||
|
|
||||||
enum custom_keycodes {
|
|
||||||
ALT_TAB = SAFE_RANGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case ALT_TAB:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
if (!is_alt_tab_active) {
|
|
||||||
is_alt_tab_active = true;
|
|
||||||
register_code(KC_LALT);
|
|
||||||
}
|
|
||||||
alt_tab_timer = timer_read();
|
|
||||||
register_code(KC_TAB);
|
|
||||||
} else {
|
|
||||||
unregister_code(KC_TAB);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
if (is_alt_tab_active) {
|
|
||||||
if (timer_elapsed(alt_tab_timer) > 1000) {
|
|
||||||
unregister_code(KC_LALT);
|
|
||||||
is_alt_tab_active = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
/* LAYER 0
|
|
||||||
* ,-----------------------.
|
|
||||||
* | << | MUTE | >> | ENCODER - PRESS (MUTE) / KNOB (VOLUME CONTROL)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | STOP | PLAY | MEDIA |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | CALC | MAIL | PC/FN |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[0] = LAYOUT(
|
|
||||||
KC_MPRV, LT(2, KC_MUTE), KC_MNXT,
|
|
||||||
KC_MSTP, KC_MPLY, KC_MSEL,
|
|
||||||
KC_CALC, KC_MAIL, LT(1, KC_MYCM)
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
/* LAYER 1
|
|
||||||
* ,-----------------------.
|
|
||||||
* | MODE+ |RGB TOG| MODE- | ENCODER - PRESS (NA) / KNOB (Hue Control)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | SPD- | SPD+ |Bright |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | SAT+ | SAT- | |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[1] = LAYOUT(
|
|
||||||
RGB_TOG, RGB_TOG, RGB_RMOD,
|
|
||||||
RGB_SPI, RGB_SPD, RGB_VAI,
|
|
||||||
RGB_SAI, RGB_SAD, KC_TRNS
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
/* LAYER 2 (ENCODER)
|
|
||||||
* ,-----------------------.
|
|
||||||
* | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right)
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* |-------+-------+-------|
|
|
||||||
* | | | |
|
|
||||||
* `-----------------------'
|
|
||||||
*/
|
|
||||||
|
|
||||||
[2] = LAYOUT(
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
|
||||||
|
|
||||||
switch (biton32(layer_state)) {
|
|
||||||
case 1: //Layer 2 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
rgblight_increase_hue();
|
|
||||||
} else {
|
|
||||||
rgblight_decrease_hue();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2: //Layer 1 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_RGHT);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_LEFT);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
default: //Layer 0 Encoder
|
|
||||||
if (clockwise) {
|
|
||||||
|
|
||||||
tap_code16(LALT(S(KC_TAB)));
|
|
||||||
|
|
||||||
|
|
||||||
} else {
|
|
||||||
tap_code16(ALT_TAB);
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user