diff options
Diffstat (limited to 'keyboards/handwired/onekey/keymaps/quine')
-rw-r--r-- | keyboards/handwired/onekey/keymaps/quine/keymap.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/keyboards/handwired/onekey/keymaps/quine/keymap.c b/keyboards/handwired/onekey/keymaps/quine/keymap.c new file mode 100644 index 0000000000..5f1416c77e --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/quine/keymap.c @@ -0,0 +1,59 @@ +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) }; +const char *buf[30] = { +"#include QMK_KEYBOARD_H", +"const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) };", +"const char *buf[30] = {", +"", +"};", +"bool process_record_user(uint16_t keycode, keyrecord_t *record) {", +" switch(keycode) {", +" case KC_A:", +" if (record->event.pressed) {", +" for (int i = 0; i < 3; i++) {", +" send_string(buf[i]);", +" tap_code(KC_ENT);", +" }", +" for (int i = 0; i < 30; i++) {", +" send_string(buf[3]);", +" tap_code16(S(KC_QUOT));", +" send_string(buf[i]);", +" tap_code16(S(KC_QUOT));", +" tap_code(KC_COMM);", +" tap_code(KC_ENT);", +" }", +" for (int i = 4; i < 30; i++) {", +" send_string(buf[i]);", +" tap_code(KC_ENT);", +" }", +" }", +" return false;", +" }", +" return true;", +"};", +}; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case KC_A: + if (record->event.pressed) { + for (int i = 0; i < 3; i++) { + send_string(buf[i]); + tap_code(KC_ENT); + } + for (int i = 0; i < 30; i++) { + send_string(buf[3]); + tap_code16(S(KC_QUOT)); + send_string(buf[i]); + tap_code16(S(KC_QUOT)); + tap_code(KC_COMM); + tap_code(KC_ENT); + } + for (int i = 4; i < 30; i++) { + send_string(buf[i]); + tap_code(KC_ENT); + } + } + return false; + } + return true; +}; |