mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-25 18:48:05 +06:00
adds random base64 character generator
This commit is contained in:
parent
65faab3b89
commit
197f152dee
@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{KC_LEAD, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Colemak
|
||||
@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
|
||||
{KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{KC_LEAD, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Lower
|
||||
@ -326,6 +326,17 @@ void matrix_scan_user(void) {
|
||||
leading = false;
|
||||
leader_end();
|
||||
|
||||
SEQ_ONE_KEY (KC_R) {
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
tap_random_base64();
|
||||
}
|
||||
SEQ_ONE_KEY (KC_V) {
|
||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
AUDIO_ENABLE ?= no # Audio output on port C6
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../Makefile
|
||||
|
@ -1,4 +1,4 @@
|
||||
AUDIO_ENABLE = yes # Audio output on port C6
|
||||
AUDIO_ENABLE ?= yes # Audio output on port C6
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../Makefile
|
||||
|
@ -307,6 +307,41 @@ void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
|
||||
}
|
||||
}
|
||||
|
||||
void tap_random_base64(void) {
|
||||
uint8_t key = (TCNT0 + TCNT1 + TCNT3 + TCNT4) % 64;
|
||||
// uint8_t key = rand() % 64;
|
||||
switch (key) {
|
||||
case 0 ... 25:
|
||||
register_code(KC_LSFT);
|
||||
register_code(key + KC_A);
|
||||
unregister_code(key + KC_A);
|
||||
unregister_code(KC_LSFT);
|
||||
break;
|
||||
case 26 ... 51:
|
||||
register_code(key - 26 + KC_A);
|
||||
unregister_code(key - 26 + KC_A);
|
||||
break;
|
||||
case 52:
|
||||
register_code(KC_0);
|
||||
unregister_code(KC_0);
|
||||
break;
|
||||
case 53 ... 61:
|
||||
register_code(key - 53 + KC_1);
|
||||
unregister_code(key - 53 + KC_1);
|
||||
break;
|
||||
case 62:
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_EQL);
|
||||
unregister_code(KC_EQL);
|
||||
unregister_code(KC_LSFT);
|
||||
break;
|
||||
case 63:
|
||||
register_code(KC_SLSH);
|
||||
unregister_code(KC_SLSH);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_init_quantum() {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_init_ports();
|
||||
|
@ -60,6 +60,9 @@ void send_string(const char *str);
|
||||
|
||||
// For tri-layer
|
||||
void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3);
|
||||
|
||||
void tap_random_base64(void);
|
||||
|
||||
#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer)))
|
||||
#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer)))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user