aboutsummaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-29 18:29:20 -0400
committerJack Humbert <jack.humb@gmail.com>2016-06-29 18:29:20 -0400
commit197f152dee834a737cd820f2a95d1ade98be4898 (patch)
tree5b545c4c4ea27d151defa607ddae8750a3feb3f4 /quantum
parent65faab3b89245f81c50b029ca178aed175d5f330 (diff)
downloadqmk_firmware-197f152dee834a737cd820f2a95d1ade98be4898.tar.gz
qmk_firmware-197f152dee834a737cd820f2a95d1ade98be4898.zip
adds random base64 character generator
Diffstat (limited to 'quantum')
-rw-r--r--quantum/quantum.c35
-rw-r--r--quantum/quantum.h3
2 files changed, 38 insertions, 0 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c
index c0580e0aa..224bfb795 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -307,6 +307,41 @@ void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
307 } 307 }
308} 308}
309 309
310void tap_random_base64(void) {
311 uint8_t key = (TCNT0 + TCNT1 + TCNT3 + TCNT4) % 64;
312 // uint8_t key = rand() % 64;
313 switch (key) {
314 case 0 ... 25:
315 register_code(KC_LSFT);
316 register_code(key + KC_A);
317 unregister_code(key + KC_A);
318 unregister_code(KC_LSFT);
319 break;
320 case 26 ... 51:
321 register_code(key - 26 + KC_A);
322 unregister_code(key - 26 + KC_A);
323 break;
324 case 52:
325 register_code(KC_0);
326 unregister_code(KC_0);
327 break;
328 case 53 ... 61:
329 register_code(key - 53 + KC_1);
330 unregister_code(key - 53 + KC_1);
331 break;
332 case 62:
333 register_code(KC_LSFT);
334 register_code(KC_EQL);
335 unregister_code(KC_EQL);
336 unregister_code(KC_LSFT);
337 break;
338 case 63:
339 register_code(KC_SLSH);
340 unregister_code(KC_SLSH);
341 break;
342 }
343}
344
310void matrix_init_quantum() { 345void matrix_init_quantum() {
311 #ifdef BACKLIGHT_ENABLE 346 #ifdef BACKLIGHT_ENABLE
312 backlight_init_ports(); 347 backlight_init_ports();
diff --git a/quantum/quantum.h b/quantum/quantum.h
index ad180c71f..dd290ac00 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -60,6 +60,9 @@ void send_string(const char *str);
60 60
61// For tri-layer 61// For tri-layer
62void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); 62void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3);
63
64void tap_random_base64(void);
65
63#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) 66#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer)))
64#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) 67#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer)))
65 68