summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2021-10-12 00:41:31 +1100
committerGitHub <noreply@github.com>2021-10-11 14:41:31 +0100
commit633ef1441b23755186f95b55957c50fb5c568e9f (patch)
treea79a0ef79b0f4639bb874dd2426e0ade6c6806bc /keyboards
parent5640b6cd77392222547f62c0fda1313e5e4a4ed3 (diff)
handwired/nicekey optimisation (#14788)
* handwired/nicekey optimisation * Add some consts * Read address from progmem, pass it into send_string_with_delay_P
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/handwired/nicekey/keymaps/default/keymap.c187
-rw-r--r--keyboards/handwired/nicekey/readme.md9
-rw-r--r--keyboards/handwired/nicekey/rules.mk19
3 files changed, 138 insertions, 77 deletions
diff --git a/keyboards/handwired/nicekey/keymaps/default/keymap.c b/keyboards/handwired/nicekey/keymaps/default/keymap.c
index 139ea6a3be..d7539a5c17 100644
--- a/keyboards/handwired/nicekey/keymaps/default/keymap.c
+++ b/keyboards/handwired/nicekey/keymaps/default/keymap.c
@@ -1,75 +1,132 @@
#include QMK_KEYBOARD_H
+#define RANDOM_STRING_DELAY 100
+
enum custom_keycodes {
- RANDOM_STRING_MACRO = SAFE_RANGE
+ RANDOM_STRING_MACRO = SAFE_RANGE
};
-const int delay = 100;
-const char *sentences[] = {
- "I hope you have a great day!\n",
- "You are an awesome person.\n",
- "I wish I knew you better, you seem nice!\n",
- "Your views restore my faith in humanity\n",
- "You are as cool as a norm-critical disney princess\n",
- "You have impeccable manners.\n",
- "You are making me smile\n",
- "You are making a difference\n",
- "You bring out the best in other people\n",
- "You are all that and a super-size bag of chips.\n",
- "You are not someone I pretend to not see in public.\n",
- "Are you a beaver, because damn.\n",
- "I bet you make babies smile.\n",
- "You are awkward, in a cute way. Like an elevator ride, but with puppies.\n",
- "Looking like a complete idiot with you is really fun.\n",
- "If you cooked something really bad, I would tell you instead of eating it.\n",
- "I love how passionate you are about your hobby.\n",
- "Our conversations always make me feel better.\n",
- "It is amazing how far out of your way you go to help people.\n",
- "I am so glad that you wrote something here.\n",
- "Hey you! How nice to see a friendly person in my feed!\n",
- "I hope we know each other for a long time.\n",
- "I bet if Britney Spears knew you, 2008 would have gone a lot differently.\n",
- "I would trust you with my passwords.\n",
- "You are a great problem solver\n",
- "I would love to hear you laugh!\n",
- "Please, have a monologue about your week, I just want to listen to you!\n",
- "You are very far from being Trump.\n",
- "I think my dog might like you more than me\n",
- "I feel like you would be a great person to do a group project with\n",
- "I bet animals love you\n",
- "I bet even Kanye would like you more than himself\n",
- "You are just doing a great job at life\n",
- "I like how you are challenging me.\n",
- "You would do be a great mother!\n",
- "I... Baked bread for you.\n",
- "Wow. You.\n",
- "You would not have let that balrog pass!\n",
- "Thank you.\n",
- "You would be standing out in a crowd\n",
- "Your sense of style is amazing.\n",
- "You have a beautiful mind.\n",
- "I like that big juicy brain of yours\n",
- "I would share my cinnamon bun with you\n",
- "I like you more than i like my moms apple pie\n",
- "You give me the same feeling as a summers night\n",
- "I enjoy you more than the click of my mechanical switch\n",
- "I would let you pop my bubble wrap\n",
- "Being near you is like being inside of a poem\n"
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ LAYOUT(
+ RANDOM_STRING_MACRO
+ )
+};
+
+const char sentence_01[] PROGMEM = "I hope you have a great day!";
+const char sentence_02[] PROGMEM = "You are an awesome person.";
+const char sentence_03[] PROGMEM = "I wish I knew you better, you seem nice!";
+const char sentence_04[] PROGMEM = "Your views restore my faith in humanity";
+const char sentence_05[] PROGMEM = "You are as cool as a norm-critical disney princess";
+const char sentence_06[] PROGMEM = "You have impeccable manners.";
+const char sentence_07[] PROGMEM = "You are making me smile";
+const char sentence_08[] PROGMEM = "You are making a difference";
+const char sentence_09[] PROGMEM = "You bring out the best in other people";
+const char sentence_10[] PROGMEM = "You are all that and a super-size bag of chips.";
+const char sentence_11[] PROGMEM = "You are not someone I pretend to not see in public.";
+const char sentence_12[] PROGMEM = "Are you a beaver, because damn.";
+const char sentence_13[] PROGMEM = "I bet you make babies smile.";
+const char sentence_14[] PROGMEM = "You are awkward, in a cute way. Like an elevator ride, but with puppies.";
+const char sentence_15[] PROGMEM = "Looking like a complete idiot with you is really fun.";
+const char sentence_16[] PROGMEM = "If you cooked something really bad, I would tell you instead of eating it.";
+const char sentence_17[] PROGMEM = "I love how passionate you are about your hobby.";
+const char sentence_18[] PROGMEM = "Our conversations always make me feel better.";
+const char sentence_19[] PROGMEM = "It is amazing how far out of your way you go to help people.";
+const char sentence_20[] PROGMEM = "I am so glad that you wrote something here.";
+const char sentence_21[] PROGMEM = "Hey you! How nice to see a friendly person in my feed!";
+const char sentence_22[] PROGMEM = "I hope we know each other for a long time.";
+const char sentence_23[] PROGMEM = "I bet if Britney Spears knew you, 2008 would have gone a lot differently.";
+const char sentence_24[] PROGMEM = "I would trust you with my passwords.";
+const char sentence_25[] PROGMEM = "You are a great problem solver";
+const char sentence_26[] PROGMEM = "I would love to hear you laugh!";
+const char sentence_27[] PROGMEM = "Please, have a monologue about your week, I just want to listen to you!";
+const char sentence_28[] PROGMEM = "You are very far from being Trump.";
+const char sentence_29[] PROGMEM = "I think my dog might like you more than me";
+const char sentence_30[] PROGMEM = "I feel like you would be a great person to do a group project with";
+const char sentence_31[] PROGMEM = "I bet animals love you";
+const char sentence_32[] PROGMEM = "I bet even Kanye would like you more than himself";
+const char sentence_33[] PROGMEM = "You are just doing a great job at life";
+const char sentence_34[] PROGMEM = "I like how you are challenging me.";
+const char sentence_35[] PROGMEM = "You would do be a great mother!";
+const char sentence_36[] PROGMEM = "I... Baked bread for you.";
+const char sentence_37[] PROGMEM = "Wow. You.";
+const char sentence_38[] PROGMEM = "You would not have let that balrog pass!";
+const char sentence_39[] PROGMEM = "Thank you.";
+const char sentence_40[] PROGMEM = "You would be standing out in a crowd";
+const char sentence_41[] PROGMEM = "Your sense of style is amazing.";
+const char sentence_42[] PROGMEM = "You have a beautiful mind.";
+const char sentence_43[] PROGMEM = "I like that big juicy brain of yours";
+const char sentence_44[] PROGMEM = "I would share my cinnamon bun with you";
+const char sentence_45[] PROGMEM = "I like you more than i like my moms apple pie";
+const char sentence_46[] PROGMEM = "You give me the same feeling as a summers night";
+const char sentence_47[] PROGMEM = "I enjoy you more than the click of my mechanical switch";
+const char sentence_48[] PROGMEM = "I would let you pop my bubble wrap";
+const char sentence_49[] PROGMEM = "Being near you is like being inside of a poem";
+
+PGM_P const sentences[] PROGMEM = {
+ sentence_01,
+ sentence_02,
+ sentence_03,
+ sentence_04,
+ sentence_05,
+ sentence_06,
+ sentence_07,
+ sentence_08,
+ sentence_09,
+ sentence_10,
+ sentence_11,
+ sentence_12,
+ sentence_13,
+ sentence_14,
+ sentence_15,
+ sentence_16,
+ sentence_17,
+ sentence_18,
+ sentence_19,
+ sentence_20,
+ sentence_21,
+ sentence_22,
+ sentence_23,
+ sentence_24,
+ sentence_25,
+ sentence_26,
+ sentence_27,
+ sentence_28,
+ sentence_29,
+ sentence_30,
+ sentence_31,
+ sentence_32,
+ sentence_33,
+ sentence_34,
+ sentence_35,
+ sentence_36,
+ sentence_37,
+ sentence_38,
+ sentence_39,
+ sentence_40,
+ sentence_41,
+ sentence_42,
+ sentence_43,
+ sentence_44,
+ sentence_45,
+ sentence_46,
+ sentence_47,
+ sentence_48,
+ sentence_49
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- int sentences_size = sizeof(sentences) / sizeof(sentences[0]);
- int i = rand() % sentences_size;
- switch(keycode) {
- case RANDOM_STRING_MACRO:
- send_string_with_delay(sentences[i], delay);
- return false;
+ if (record->event.pressed) {
+ int sentences_size = sizeof(sentences) / sizeof(sentences[0]);
+ int i = rand() % sentences_size;
+
+ switch (keycode) {
+ case RANDOM_STRING_MACRO:
+ send_string_with_delay_P((PGM_P)pgm_read_word(&(sentences[i])), RANDOM_STRING_DELAY);
+ tap_code(KC_ENT);
+
+ return false;
+ }
}
- }
- return true;
-};
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT( RANDOM_STRING_MACRO )
-};
+ return true;
+}
diff --git a/keyboards/handwired/nicekey/readme.md b/keyboards/handwired/nicekey/readme.md
index e108b38dd1..8215fc2705 100644
--- a/keyboards/handwired/nicekey/readme.md
+++ b/keyboards/handwired/nicekey/readme.md
@@ -2,14 +2,13 @@
![The first NiceKey](https://s3.eu-central-1.amazonaws.com/mindlevel/nicekey.jpg)
-
Custom handwired nicekey, a one key keyboard that writes random compliments.
-Keyboard Maintainer: [spydon](https://github.com/spydon)
-Hardware Supported: Custom handwired one key
-Hardware Availability:
+* Keyboard Maintainer: [spydon](https://github.com/spydon)
+* Hardware Supported: Custom handwired one key
+* Hardware Availability: n/a
-Switch must be connected to pins C6 and B6.
+Switch must be connected to pins C6 and B6.
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/handwired/nicekey/rules.mk b/keyboards/handwired/nicekey/rules.mk
index 45ade5409a..6302e743d4 100644
--- a/keyboards/handwired/nicekey/rules.mk
+++ b/keyboards/handwired/nicekey/rules.mk
@@ -5,12 +5,17 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output