]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
adds random base64 character generator
authorJack Humbert <jack.humb@gmail.com>
Wed, 29 Jun 2016 22:29:20 +0000 (18:29 -0400)
committerJack Humbert <jack.humb@gmail.com>
Wed, 29 Jun 2016 22:29:20 +0000 (18:29 -0400)
keyboards/planck/keymaps/experimental/keymap.c
keyboards/planck/rev3/Makefile
keyboards/planck/rev4/Makefile
quantum/quantum.c
quantum/quantum.h

index 041285684ab16b3b39c5916b4a7ed2affea43022..85605928960a0235ba04b4d4c3bb5fe274e4d3f7 100644 (file)
@@ -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);
     }
index 55940968237a90ff98f75851304b6d3586046ee3..3ed1445e434f081285ea25e3b0c6cdde98b9e62c 100644 (file)
@@ -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
index 01d848e98c611438467026076c08a52c1c52e8e7..ed09f85a4d49fb5ac4a2a1113f033255e2e6cab6 100644 (file)
@@ -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
index c0580e0aa5f2def66b95f25cd2147ba9c9064331..224bfb79514885462dc4200c72aa476dead2cb83 100644 (file)
@@ -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();
index ad180c71f82a6913032a4940f7d02522136ac5f1..dd290ac00ca29f03db7e96f8e4402050ee730353 100644 (file)
@@ -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)))