mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-24 17:37:40 +06:00
d9e4dad0a8
* .build containment implemented * no destructive variable setting - builds in either folder * make from 3 places * cleans before each build * make from root with keyboard=keyboard, keymap=keymap * make from keyboard/keyboard with keymap=keymap * make from keymaps/keymap * only implemented on planck * adds color diag to avr-gcc * makefiles for all plancks, clean-up * quick build-all makefile for plancks * reformatting of make output (colors) * color toggle, tmk path corrections * correct if statement for color * move config.h to main makefile, updates preonic, atomic * format update, all keyboards targets * makefile optional for build all target, alps and arrow_pad updated * alps updated * make planck default, trying out travis recipe for all-keyboards * all-keymaps target, different travis recipe * updates alps64 * updates keyboards to new format * updates clue* projects * all projects updated, specialise EZ .hex, let .hex through * updates travis * automatically find root, keyboard, keymap * silent echo, cleaned-up mass make output * updates all keyboards' .hex files except EZ * Rename Bantam44.c to bantam44.c * Rename Bantam44.h to bantam44.h * nananana * adds six key keyboard * does same to ez as rest * updates send_string example * brings ergodox_ez up to date * updates template/new project script * adds sixkeyboard * adds readme for sixkeyboard * adds sixkeyboard to travis * filenames, gitignore mess * define clock prescaler stuff manually * make quick, size test example * documentation and dfu-no-build
123 lines
3.2 KiB
C
123 lines
3.2 KiB
C
#include "cluepad.h"
|
|
|
|
#include "backlight.h"
|
|
#include "rgblight.h"
|
|
|
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
|
// entirely and just use numbers.
|
|
#define _BL 0
|
|
#define _FL 1
|
|
#define _RS 2
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
/* Keymap _BL: (Base Layer) Default Layer
|
|
* .-------------------.
|
|
* |NL F| /| *| -|
|
|
* |-------------------|
|
|
* | 7| 8| 9| |
|
|
* |--------------| |
|
|
* | 4| 5| 6| +|
|
|
* |-------------------|
|
|
* | 1| 2| 3| |
|
|
* |--------------| |
|
|
* | 0| .| Ent|
|
|
* '-------------------'
|
|
*/
|
|
[_BL] = KEYMAP(
|
|
LT(_FL, KC_NLCK), KC_PSLS, KC_PAST, KC_PMNS, \
|
|
KC_P7, KC_P8, KC_P9, KC_PPLS, \
|
|
KC_P4, KC_P5, KC_P6, \
|
|
KC_P1, KC_P2, KC_P3, KC_PENT, \
|
|
KC_P0, KC_PDOT),
|
|
|
|
/* Keymap _FL: Function Layer
|
|
* .-------------------.
|
|
* |NL F| | | Fn0|
|
|
* |-------------------|
|
|
* | | Fn4| | |
|
|
* |--------------| |
|
|
* | Fn3|BL_S| Fn2| Fn6|
|
|
* |-------------------|
|
|
* | | Fn5| | |
|
|
* |--------------| |
|
|
* | Fn1| | Fn7|
|
|
* '-------------------'
|
|
*/
|
|
[_FL] = KEYMAP(
|
|
LT(_FL, KC_NLCK), KC_TRNS, KC_TRNS, F(0), \
|
|
KC_TRNS, F(4), KC_TRNS, F(6), \
|
|
F(3), BL_STEP, F(2), \
|
|
KC_TRNS, F(5), KC_TRNS, F(7), \
|
|
F(1), KC_TRNS)
|
|
};
|
|
|
|
enum function_id {
|
|
RGBLED_TOGGLE,
|
|
RGBLED_STEP_MODE,
|
|
RGBLED_INCREASE_HUE,
|
|
RGBLED_DECREASE_HUE,
|
|
RGBLED_INCREASE_SAT,
|
|
RGBLED_DECREASE_SAT,
|
|
RGBLED_INCREASE_VAL,
|
|
RGBLED_DECREASE_VAL,
|
|
};
|
|
|
|
const uint16_t PROGMEM fn_actions[] = {
|
|
[0] = ACTION_FUNCTION(RGBLED_TOGGLE),
|
|
[1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
|
|
[2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
|
|
[3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
|
|
[4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
|
|
[5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
|
|
[6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
|
|
[7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
|
|
};
|
|
|
|
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
switch (id) {
|
|
case RGBLED_TOGGLE:
|
|
if (record->event.pressed) {
|
|
rgblight_toggle();
|
|
}
|
|
break;
|
|
case RGBLED_INCREASE_HUE:
|
|
if (record->event.pressed) {
|
|
rgblight_increase_hue();
|
|
}
|
|
break;
|
|
case RGBLED_DECREASE_HUE:
|
|
if (record->event.pressed) {
|
|
rgblight_decrease_hue();
|
|
}
|
|
break;
|
|
case RGBLED_INCREASE_SAT:
|
|
if (record->event.pressed) {
|
|
rgblight_increase_sat();
|
|
}
|
|
break;
|
|
case RGBLED_DECREASE_SAT:
|
|
if (record->event.pressed) {
|
|
rgblight_decrease_sat();
|
|
}
|
|
break;
|
|
case RGBLED_INCREASE_VAL:
|
|
if (record->event.pressed) {
|
|
rgblight_increase_val();
|
|
}
|
|
break;
|
|
case RGBLED_DECREASE_VAL:
|
|
if (record->event.pressed) {
|
|
rgblight_decrease_val();
|
|
}
|
|
break;
|
|
case RGBLED_STEP_MODE:
|
|
if (record->event.pressed) {
|
|
rgblight_step();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|