Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* https://www.reddit.com/r/olkb/comments/pgdsh6/possible_to_keep_screen_alive_with_qmk/
- * Code to prevent computer from falling asleep.
- * This should go into keymap.c
- */
- #define SCREENSAVE_DELAY 120000 //configure how long to wait after last activity. 120000ms = 2 mins
- enum custom_keycodes {
- NO_SLEEP = SAFE_RANGE, //custom macro key. turns on screensaver mode
- //other macros,
- //...
- };
- bool stop_screensaver = false; //screensaver mode status
- uint32_t last_activity_timer = 0;
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed)
- stop_screensaver = false; //turn off screensaver mode on any keypress
- switch (keycode) {
- case NO_SLEEP:
- if (record->event.pressed) { //if NO_SLEEP is pressed
- stop_screensaver = true; //turn on screensaver mode
- last_activity_timer = timer_read32(); //reset timer
- }
- break;
- //other macros...
- }
- return true;
- }
- void matrix_scan_user(void) {
- if (stop_screensaver) { //if screensaver mode is active
- if (timer_elapsed32(last_activity_timer) > SCREENSAVE_DELAY) { //and no key has been pressed in more than SCREENSAVE_DELAY ms
- tap_code16(KC_F13); // tap F13
- last_activity_timer = timer_read32(); // reset last_activity_timer
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement