functions.h 938 B

1234567891011121314151617181920212223242526272829303132
  1. // Copyright 2022 David Kristoffersen (@davidkristoffersen)
  2. // SPDX-License-Identifier: GPL-3.0-or-later
  3. #pragma once
  4. #include "davidkristoffersen.h"
  5. // Default layer if none is specified
  6. #define LAYER_DEFAULT -1
  7. // Check if layer is an active default layer
  8. #define IS_DEFAULT_ON(layer) is_default_on(layer)
  9. // Check if layer is an inactive default layer
  10. #define IS_DEFAULT_OFF(layer) !is_default_on(layer)
  11. // Return false if test equal false
  12. #define HANDLE_FALSE(bool) if (!bool) return false;
  13. // Generic array lenght define
  14. #define ARR_LEN(arr) (sizeof(arr) / sizeof(arr)[0])
  15. // Printf-like functionality for send_string
  16. #define SEND_VAR(str, ...) \
  17. do { \
  18. char var[128]; \
  19. sprintf(var, str, __VA_ARGS__); \
  20. send_string(var); \
  21. } while(0)
  22. // Get special shifted code
  23. uint16_t get_special_shifted_code(uint16_t keycode);
  24. // Get language specific code
  25. uint16_t get_norwegian_code(uint16_t keycode);