Keyboard firmwares for Atmel AVR and Cortex-M
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.

keymap.c 1.2KB

12345678910111213141516171819202122232425262728
  1. /*
  2. * keymap for modified macway keyboard
  3. */
  4. #include <avr/pgmspace.h>
  5. #include "keymap.h"
  6. #define MATRIX_ROWS 9
  7. #define MATRIX_COLS 8
  8. static const uint8_t PROGMEM Keymap[MATRIX_COLS][MATRIX_ROWS] = {
  9. { KB_LALT, KB_1, KB_2, KB_3, KB_4, KB_7, KB_8, KB_9, KB_0 },
  10. { KB_NO, KB_ESCAPE, KB_RALT, KB_NO, KB_5, KB_6, KB_EQUAL, KB_NO, KB_MINUS },
  11. { KB_BSPACE, KB_TAB, KB_LGUI, KB_RSHIFT, KB_T, KB_Y, KB_RBRACKET, KB_NO, KB_LBRACKET },
  12. { KB_NO, KB_Q, KB_W, KB_E, KB_R, KB_U, KB_I, KB_O, KB_P },
  13. { KB_BSLASH, KB_A, KB_S, KB_D, KB_F, KB_J, KB_K, KB_L, KB_SCOLON },
  14. { KB_NO, KB_LCTRL, KB_NO, KB_UP, KB_G, KB_H, KB_NO, KB_GRAVE, KB_QUOTE },
  15. { KB_ENTER, KB_Z, KB_X, KB_C, KB_V, KB_M, KB_COMMA, KB_DOWN, KB_NO },
  16. { KB_SPACE, KB_DOWN, KB_RIGHT, KB_LEFT, KB_B, KB_N, KB_LSHIFT, KB_NO, KB_SLASH }
  17. };
  18. uint8_t get_keycode(uint8_t row, uint8_t col)
  19. {
  20. if (row >= MATRIX_ROWS)
  21. return KB_NO;
  22. if (col >= MATRIX_COLS)
  23. return KB_NO;
  24. return pgm_read_byte(&Keymap[col][row]);
  25. }