logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.c (1231B)


  1. #include QMK_KEYBOARD_H
  2. #define _BL 0
  3. #define _HL 1
  4. #define _LL 2
  5. enum keycodes {
  6. LOW,
  7. HIGH
  8. };
  9. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  10. /*
  11. * Base Layer (Numbers)
  12. */
  13. [_BL] = LAYOUT(
  14. KC_KP_7, KC_KP_8, KC_KP_9,
  15. KC_KP_4, KC_KP_5, KC_KP_6,
  16. KC_KP_1, KC_KP_2, KC_KP_3,
  17. LOW, KC_KP_0, HIGH
  18. ),
  19. /*
  20. * High Layer (Work)
  21. */
  22. [_HL] = LAYOUT(
  23. KC_NUM, KC_PAST, KC_NO,
  24. KC_PMNS, KC_PENT, KC_PPLS,
  25. KC_NO, KC_PSLS, KC_NO,
  26. KC_NO, KC_PDOT, KC_NO
  27. ),
  28. /*
  29. * Low Layer (Media)
  30. */
  31. [_LL] = LAYOUT(
  32. KC_NO, KC_VOLU, KC_NO,
  33. KC_MPRV, KC_MPLY, KC_MNXT,
  34. KC_NO, KC_VOLD, KC_NO,
  35. KC_NO, KC_NO, KC_NO
  36. ),
  37. };
  38. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  39. switch(keycode) {
  40. case HIGH:
  41. if (record->event.pressed) {
  42. layer_on(_HL);
  43. }else{
  44. layer_off(_HL);
  45. layer_off(_LL);
  46. }
  47. return false;
  48. break;
  49. case LOW:
  50. if (record->event.pressed) {
  51. layer_on(_LL);
  52. }else{
  53. layer_off(_LL);
  54. layer_off(_HL);
  55. }
  56. return false;
  57. break;
  58. }
  59. return true;
  60. }