You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.5 KiB

  1. // Copyright 2023 Your Name (@rpbaptist)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include QMK_KEYBOARD_H
  5. #include "quantum.h"
  6. #if defined(RGB_MATRIX_ENABLE)
  7. # include "rgb.h"
  8. #endif
  9. #if defined(OLED_ENABLE)
  10. # include "oled.h"
  11. #endif
  12. enum layer_names {
  13. _COLEMAKDH,
  14. _GAMING,
  15. _WASD,
  16. _GAMING_EXT,
  17. _NUMPAD,
  18. _SYM,
  19. _NAV,
  20. _UTIL
  21. };
  22. enum custom_keycodes {
  23. BSP_DEL = SAFE_RANGE,
  24. #if defined(RGB_MATRIX_ENABLE)
  25. RGB_RST, // Reset RGB
  26. RGB_UND, // Toggle RGB underglow as layer indicator
  27. RGB_ATG, // Toggle active RGB mode
  28. RGB_PST, // Toggle simple passive RGB mode
  29. RGB_PCT, // Toggle colorful passive RGB mode
  30. RGB_IDL, // RGB Idling animations
  31. #endif
  32. TYPING, // Switch to Colemak layer
  33. GAMING, // Switch to gaming Colemak layer
  34. WASD // Switch to gaming with WASD positions
  35. };
  36. // Layer toggle and switch
  37. #define T_NAV TT(_NAV)
  38. #define S_NAV MO(_NAV)
  39. #define T_SYM TT(_SYM)
  40. #define S_SYM MO(_SYM)
  41. // Layer keys with functionality on tap
  42. #define NAV_0 LT(_NAV, KC_0)
  43. #define TAB_NUM LT(_NUMPAD, KC_TAB)
  44. #define LCK_NMP TG(_NUMPAD)
  45. #define S_NUM MO(_NUMPAD)
  46. #define EXTALT LT(_GAMING_EXT, KC_LALT)
  47. // Tap/mod keys
  48. #define RCTL_BR RCTL_T(KC_RBRC)
  49. #define LCTL_BR LCTL_T(KC_LBRC)
  50. #define SFT_SPC LSFT_T(KC_SPACE)
  51. #define SFT_ENT RSFT_T(KC_ENTER)
  52. // Global tab forward and backward
  53. #define TAB_FWD LCTL(KC_TAB)
  54. #define TAB_BCK LCTL(LSFT(KC_TAB))
  55. #define TAB_CLS LCTL(KC_W)
  56. #define WIN_CLS LALT(KC_F4)
  57. // €
  58. #define KC_EUR ALGR(KC_5)