keymap.c (895B)
1 #include QMK_KEYBOARD_H 2 #include "switches.h" 3 4 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 5 LAYOUT_ortho_4x4( 6 KC_NO, KC_NO, KC_NO, KC_NO, 7 KC_NO, KC_NO, KC_NO, KC_NO, 8 KC_NO, KC_NO, KC_NO, KC_NO, 9 KC_NO, KC_NO, KC_NO, KC_NO 10 ) 11 }; 12 13 struct mechswitch switches[MATRIX_ROWS][MATRIX_COLS] = { 14 {CHERRY_MX_BLUE, CHERRY_MX_RED, CHERRY_MX_BLACK, CHERRY_MX_BROWN}, 15 {GATERON_BLUE, GATERON_RED, GATERON_BLACK, GATERON_BROWN}, 16 {KAILH_BLUE, KAILH_RED, KAILH_BLACK, KAILH_BROWN}, 17 {HAKO_CLEAR, HAKO_TRUE, HAKO_VIOLET, HAKO_ROYAL_TRUE} 18 }; 19 20 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 21 uint8_t col = record->event.key.col; 22 uint8_t row = record->event.key.row; 23 24 if (record->event.pressed) { 25 char name[MAX_SWITCH_NAME_LENGTH]; 26 switch_name(switches[row][col], name); 27 send_string(name); 28 SEND_STRING("\n"); 29 } 30 return false; 31 }