summaryrefslogtreecommitdiffstats
path: root/keyboards/1upkeyboards/sweet16/keymaps/switchtester/keymap.c
blob: caab5b343a0fd6391e9b74e47eacf5f56c139c9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include QMK_KEYBOARD_H
#include "switches.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  LAYOUT_ortho_4x4(
    KC_NO, KC_NO, KC_NO, KC_NO, 
    KC_NO, KC_NO, KC_NO, KC_NO, 
    KC_NO, KC_NO, KC_NO, KC_NO, 
    KC_NO, KC_NO, KC_NO, KC_NO 
  )
};

struct mechswitch switches[MATRIX_ROWS][MATRIX_COLS] = {
  {CHERRY_MX_BLUE, CHERRY_MX_RED, CHERRY_MX_BLACK, CHERRY_MX_BROWN},
  {GATERON_BLUE, GATERON_RED, GATERON_BLACK, GATERON_BROWN},
  {KAILH_BLUE, KAILH_RED, KAILH_BLACK, KAILH_BROWN},
  {HAKO_CLEAR, HAKO_TRUE, HAKO_VIOLET, HAKO_ROYAL_TRUE}
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  uint8_t col = record->event.key.col;
  uint8_t row = record->event.key.row;

  if (record->event.pressed) {
    char name[MAX_SWITCH_NAME_LENGTH];
    switch_name(switches[row][col], name);
    send_string(name);
    SEND_STRING("\n");
  }
  return false;
}