From 6b1170cb9704e3ce3c81a61695d60cce371d1222 Mon Sep 17 00:00:00 2001 From: ridingqwerty Date: Sun, 28 Feb 2021 00:31:40 -0500 Subject: [PATCH] Onekey keymap: quine (#10732) --- .../handwired/onekey/keymaps/quine/keymap.c | 60 +++++++++++++++++++ .../handwired/onekey/keymaps/quine/rules.mk | 1 + 2 files changed, 61 insertions(+) create mode 100644 keyboards/handwired/onekey/keymaps/quine/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/quine/rules.mk diff --git a/keyboards/handwired/onekey/keymaps/quine/keymap.c b/keyboards/handwired/onekey/keymaps/quine/keymap.c new file mode 100644 index 000000000..e7c1e6d06 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/quine/keymap.c @@ -0,0 +1,60 @@ +#include +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) }; +const char *buf[30] = { +"#include ", +"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; +}; + diff --git a/keyboards/handwired/onekey/keymaps/quine/rules.mk b/keyboards/handwired/onekey/keymaps/quine/rules.mk new file mode 100644 index 000000000..7da32a7bc --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/quine/rules.mk @@ -0,0 +1 @@ +BOOTLOADER=atmel-dfu