sixkeyboard.h 955 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "quantum.h"
  3. // This macro is an example of using a non-standard row-column matrix. The
  4. // keyboard in question had 11 rows and 8 columns, but the rows were not all
  5. // horizontal, and the columns were not all vertical. For example, row 2
  6. // contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and
  7. // "Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B",
  8. // "Left Alt", "Up Arrow", and "Down Arrow".
  9. //
  10. // The macro makes programming the keys easier and in a more straight-forward
  11. // manner because it realigns the keys into a 6x15 sensible keyboard layout
  12. // instead of the obtuse 11x8 matrix.
  13. /*
  14. * ┌───┬───┬───┐
  15. * │ A │ B │ C │
  16. * ├───┼───┼───┤
  17. * │ D │ E │ F │
  18. * └───┴───┴───┘
  19. */
  20. #define LAYOUT( \
  21. k00, k01, k02, \
  22. k10, k11, k12 \
  23. ) { \
  24. { k00, k01, k02 }, \
  25. { k10, k11, k12 } \
  26. }