mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-27 11:06:37 +06:00
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
This commit is contained in:
commit
2d59c97ec1
|
@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D,
|
NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||||
KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
|
KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
|
||||||
MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA),
|
MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA),
|
||||||
NO_AMP, NO_PIPE,
|
NO_AMPR, NO_PIPE,
|
||||||
NO_PLUS,
|
NO_PLUS,
|
||||||
KC_FN1,CTL_T(KC_DOT),ALT_T(NO_MINS),
|
KC_FN1,CTL_T(KC_DOT),ALT_T(NO_MINS),
|
||||||
// right hand
|
// right hand
|
||||||
|
|
|
@ -160,7 +160,7 @@ KEYMAP(
|
||||||
[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover
|
[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover
|
||||||
// left hand
|
// left hand
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
|
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
|
||||||
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||||
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO,
|
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO,
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
@ -169,7 +169,7 @@ KEYMAP(
|
||||||
KC_C, KC_V, KC_NO,
|
KC_C, KC_V, KC_NO,
|
||||||
// right hand
|
// right hand
|
||||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||||
KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
|
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
|
#include "planck.h"
|
||||||
#include "planck.h"
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#endif
|
#endif
|
||||||
#include "..\..\..\..\quantum\keymap_extras\keymap_german.h"
|
#include "keymap_german.h"
|
||||||
#include "..\..\..\..\quantum\keymap_common.h"
|
|
||||||
#include "..\..\..\..\tmk_core\common\keycode.h"
|
#define _______ KC_TRNS
|
||||||
#define _______ = KC_TRNS;
|
|
||||||
|
|
||||||
/* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
|
/* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
|
||||||
It has "üäöß" as it is optimized for a mix of German & English.
|
It has "üäöß" as it is optimized for a mix of German & English.
|
||||||
|
@ -88,7 +86,7 @@ accessed by sliding from M2 to M3 with thumb
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[3] = {
|
[3] = {
|
||||||
{ KC_NO, KC_NO, DE_7, DE_8 DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO },
|
{ KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO },
|
||||||
{ _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ },
|
{ _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ },
|
||||||
{ _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ },
|
{ _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ },
|
||||||
{ _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ }
|
{ _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ }
|
||||||
|
@ -112,7 +110,7 @@ slide from m4 to m5 to access flipped version
|
||||||
{ KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO },
|
{ KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO },
|
||||||
{ _______, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ },
|
{ _______, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ },
|
||||||
{ _______, _______, _______, _______, MO(5), _______, _______, MO(5), _______, _______, _______, _______ }
|
{ _______, _______, _______, _______, MO(5), _______, _______, MO(5), _______, _______, _______, _______ }
|
||||||
}
|
},
|
||||||
|
|
||||||
|
|
||||||
/* flipped Function & Media Keys
|
/* flipped Function & Media Keys
|
||||||
|
@ -128,8 +126,8 @@ slide from m4 to m5 to access flipped version
|
||||||
*/
|
*/
|
||||||
[5] = {
|
[5] = {
|
||||||
{ KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO },
|
{ KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO },
|
||||||
{ KC_NO, KC_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO },
|
{ KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO },
|
||||||
{ _______, KC_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ },
|
{ _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ },
|
||||||
{ _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ }
|
{ _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,20 +1,15 @@
|
||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
// USB Device descriptor parameter
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0003
|
|
||||||
#define MANUFACTURER Custom
|
|
||||||
#define PRODUCT GH60 rev.CHN
|
|
||||||
#define DESCRIPTION QMK keyboard firmware for GH60 with WS2812 support
|
|
||||||
|
|
||||||
// Backlight configuration
|
// Backlight configuration
|
||||||
|
#undef BACKLIGHT_LEVELS
|
||||||
#define BACKLIGHT_LEVELS 3
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
// Underlight configuration
|
// Underlight configuration
|
||||||
#define RGB_DI_PIN E2
|
#undef RGBLED_NUM
|
||||||
#define RGBLIGHT_TIMER
|
|
||||||
#define RGBLED_NUM 6 // Number of LEDs
|
#define RGBLED_NUM 6 // Number of LEDs
|
||||||
|
#undef RGBLIGHT_HUE_STEP
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#undef RGBLIGHT_SAT_STEP
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#undef RGBLIGHT_VAL_STEP
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
static qk_tap_dance_state_t qk_tap_dance_state;
|
static qk_tap_dance_state_t qk_tap_dance_state;
|
||||||
|
bool td_debug_enable = false;
|
||||||
|
|
||||||
|
#if CONSOLE_ENABLE
|
||||||
|
#define td_debug(s) if (td_debug_enable) \
|
||||||
|
{ \
|
||||||
|
xprintf ("D:tap_dance:%s:%s = { keycode = %d, count = %d, active = %d, pressed = %d }\n", __FUNCTION__, s, \
|
||||||
|
qk_tap_dance_state.keycode, qk_tap_dance_state.count, \
|
||||||
|
qk_tap_dance_state.active, qk_tap_dance_state.pressed); \
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define td_debug(s)
|
||||||
|
#endif
|
||||||
|
|
||||||
void qk_tap_dance_pair_finished (qk_tap_dance_state_t *state, void *user_data) {
|
void qk_tap_dance_pair_finished (qk_tap_dance_state_t *state, void *user_data) {
|
||||||
qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
|
qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
|
||||||
|
@ -33,16 +45,19 @@ static inline void _process_tap_dance_action_fn (qk_tap_dance_state_t *state,
|
||||||
|
|
||||||
static inline void process_tap_dance_action_on_each_tap (qk_tap_dance_action_t action)
|
static inline void process_tap_dance_action_on_each_tap (qk_tap_dance_action_t action)
|
||||||
{
|
{
|
||||||
|
td_debug("trigger");
|
||||||
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_each_tap);
|
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_each_tap);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void process_tap_dance_action_on_dance_finished (qk_tap_dance_action_t action)
|
static inline void process_tap_dance_action_on_dance_finished (qk_tap_dance_action_t action)
|
||||||
{
|
{
|
||||||
|
td_debug("trigger");
|
||||||
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_dance_finished);
|
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_dance_finished);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void process_tap_dance_action_on_reset (qk_tap_dance_action_t action)
|
static inline void process_tap_dance_action_on_reset (qk_tap_dance_action_t action)
|
||||||
{
|
{
|
||||||
|
td_debug("trigger")
|
||||||
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_reset);
|
_process_tap_dance_action_fn (&qk_tap_dance_state, action.user_data, action.fn.on_reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,7 @@ typedef struct
|
||||||
}
|
}
|
||||||
|
|
||||||
extern const qk_tap_dance_action_t tap_dance_actions[];
|
extern const qk_tap_dance_action_t tap_dance_actions[];
|
||||||
|
extern bool td_debug_enable;
|
||||||
|
|
||||||
/* To be used internally */
|
/* To be used internally */
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ void layer_debug(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
|
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
|
||||||
uint8_t source_layers_cache[(MATRIX_ROWS * MATRIX_COLS + 7) / 8][MAX_LAYER_BITS] = {0};
|
uint8_t source_layers_cache[(MATRIX_ROWS * MATRIX_COLS + 7) / 8][MAX_LAYER_BITS] = {{0}};
|
||||||
|
|
||||||
void update_source_layers_cache(keypos_t key, uint8_t layer)
|
void update_source_layers_cache(keypos_t key, uint8_t layer)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user