Kaleidoscope
Classes | Macros
Kaleidoscope-Hardware-Model01.h File Reference
#include <Arduino.h>
#include "KeyboardioScanner.h"
Include dependency graph for Kaleidoscope-Hardware-Model01.h:

Go to the source code of this file.

Classes

class  Model01
 

Macros

#define HARDWARE_IMPLEMENTATION   Model01
 
#define COLS   16
 
#define ROWS   4
 
#define CRGB(r, g, b)   (cRGB){b, g, r}
 
#define SCANBIT(row, col)   ((uint32_t)1 << ((row) * 8 + (7 - (col))))
 
#define R0C0   SCANBIT(0, 0)
 
#define R0C1   SCANBIT(0, 1)
 
#define R0C2   SCANBIT(0, 2)
 
#define R0C3   SCANBIT(0, 3)
 
#define R0C4   SCANBIT(0, 4)
 
#define R0C5   SCANBIT(0, 5)
 
#define R0C6   SCANBIT(0, 6)
 
#define R0C7   SCANBIT(0, 7)
 
#define R1C0   SCANBIT(1, 0)
 
#define R1C1   SCANBIT(1, 1)
 
#define R1C2   SCANBIT(1, 2)
 
#define R1C3   SCANBIT(1, 3)
 
#define R1C4   SCANBIT(1, 4)
 
#define R1C5   SCANBIT(1, 5)
 
#define R1C6   SCANBIT(1, 6)
 
#define R1C7   SCANBIT(1, 7)
 
#define R2C0   SCANBIT(2, 0)
 
#define R2C1   SCANBIT(2, 1)
 
#define R2C2   SCANBIT(2, 2)
 
#define R2C3   SCANBIT(2, 3)
 
#define R2C4   SCANBIT(2, 4)
 
#define R2C5   SCANBIT(2, 5)
 
#define R2C6   SCANBIT(2, 6)
 
#define R2C7   SCANBIT(2, 7)
 
#define R3C0   SCANBIT(3, 0)
 
#define R3C1   SCANBIT(3, 1)
 
#define R3C2   SCANBIT(3, 2)
 
#define R3C3   SCANBIT(3, 3)
 
#define R3C4   SCANBIT(3, 4)
 
#define R3C5   SCANBIT(3, 5)
 
#define R3C6   SCANBIT(3, 6)
 
#define R3C7   SCANBIT(3, 7)
 
#define R0C8   SCANBIT(0, 0)
 
#define R0C9   SCANBIT(0, 1)
 
#define R0C10   SCANBIT(0, 2)
 
#define R0C11   SCANBIT(0, 3)
 
#define R0C12   SCANBIT(0, 4)
 
#define R0C13   SCANBIT(0, 5)
 
#define R0C14   SCANBIT(0, 6)
 
#define R0C15   SCANBIT(0, 7)
 
#define R1C8   SCANBIT(1, 0)
 
#define R1C9   SCANBIT(1, 1)
 
#define R1C10   SCANBIT(1, 2)
 
#define R1C11   SCANBIT(1, 3)
 
#define R1C12   SCANBIT(1, 4)
 
#define R1C13   SCANBIT(1, 5)
 
#define R1C14   SCANBIT(1, 6)
 
#define R1C15   SCANBIT(1, 7)
 
#define R2C8   SCANBIT(2, 0)
 
#define R2C9   SCANBIT(2, 1)
 
#define R2C10   SCANBIT(2, 2)
 
#define R2C11   SCANBIT(2, 3)
 
#define R2C12   SCANBIT(2, 4)
 
#define R2C13   SCANBIT(2, 5)
 
#define R2C14   SCANBIT(2, 6)
 
#define R2C15   SCANBIT(2, 7)
 
#define R3C8   SCANBIT(3, 0)
 
#define R3C9   SCANBIT(3, 1)
 
#define R3C10   SCANBIT(3, 2)
 
#define R3C11   SCANBIT(3, 3)
 
#define R3C12   SCANBIT(3, 4)
 
#define R3C13   SCANBIT(3, 5)
 
#define R3C14   SCANBIT(3, 6)
 
#define R3C15   SCANBIT(3, 7)
 
#define LED_COUNT   64
 
#define LED_PGDN   0
 
#define LED_PGUP   1
 
#define LED_BACKTICK   2
 
#define LED_PROG   3
 
#define LED_1   4
 
#define LED_Q   5
 
#define LED_A   6
 
#define LED_Z   7
 
#define LED_X   8
 
#define LED_S   9
 
#define LED_W   10
 
#define LED_2   11
 
#define LED_3   12
 
#define LED_E   13
 
#define LED_D   14
 
#define LED_C   15
 
#define LED_V   16
 
#define LED_F   17
 
#define LED_R   18
 
#define LED_4   19
 
#define LED_5   20
 
#define LED_T   21
 
#define LED_G   22
 
#define LED_B   23
 
#define LED_ESC   24
 
#define LED_TAB   25
 
#define LED_LED   26
 
#define LED_L_FN   27
 
#define LED_L_CTRL   28
 
#define LED_DEL   29
 
#define LED_CMD   30
 
#define LED_L_SHIFT   31
 
#define LED_R_SHIFT   32
 
#define LED_ALT   33
 
#define LED_SPACE   34
 
#define LED_CTRL   35
 
#define LED_R_FN   36
 
#define LED_ANY   37
 
#define LED_RETURN   38
 
#define LED_BUTTERFLY   39
 
#define LED_N   40
 
#define LED_H   41
 
#define LED_Y   42
 
#define LED_6   43
 
#define LED_7   44
 
#define LED_U   45
 
#define LED_J   46
 
#define LED_M   47
 
#define LED_COMMA   48
 
#define LED_K   49
 
#define LED_I   50
 
#define LED_8   51
 
#define LED_9   52
 
#define LED_O   53
 
#define LED_L   54
 
#define LED_PERIOD   55
 
#define LED_SLASH   56
 
#define LED_SEMICOLON   57
 
#define LED_P   58
 
#define LED_0   59
 
#define LED_NUM   60
 
#define LED_EQUALS   61
 
#define LED_APOSTROPHE   62
 
#define LED_MINUS   63
 
#define KEYMAP_STACKED( r0c0, r0c1, r0c2, r0c3, r0c4, r0c5, r0c6, r1c0, r1c1, r1c2, r1c3, r1c4, r1c5, r1c6, r2c0, r2c1, r2c2, r2c3, r2c4, r2c5, r3c0, r3c1, r3c2, r3c3, r3c4, r3c5, r2c6, r0c7, r1c7, r2c7, r3c7, r3c6, r0c9, r0c10, r0c11, r0c12, r0c13, r0c14, r0c15, r1c9, r1c10, r1c11, r1c12, r1c13, r1c14, r1c15, r2c10, r2c11, r2c12, r2c13, r2c14, r2c15, r2c9, r3c10, r3c11, r3c12, r3c13, r3c14, r3c15, r3c8, r2c8, r1c8, r0c8, r3c9)
 
#define KEYMAP( r0c0, r0c1, r0c2, r0c3, r0c4, r0c5, r0c6, r0c9, r0c10, r0c11, r0c12, r0c13, r0c14, r0c15, r1c0, r1c1, r1c2, r1c3, r1c4, r1c5, r1c6, r1c9, r1c10, r1c11, r1c12, r1c13, r1c14, r1c15, r2c0, r2c1, r2c2, r2c3, r2c4, r2c5, r2c10, r2c11, r2c12, r2c13, r2c14, r2c15, r3c0, r3c1, r3c2, r3c3, r3c4, r3c5, r2c6, r2c9, r3c10, r3c11, r3c12, r3c13, r3c14, r3c15, r0c7, r1c7, r2c7, r3c7, r3c8, r2c8, r1c8, r0c8, r3c6, r3c9)
 

Macro Definition Documentation

◆ COLS

#define COLS   16

◆ CRGB

#define CRGB (   r,
  g,
 
)    (cRGB){b, g, r}

◆ HARDWARE_IMPLEMENTATION

#define HARDWARE_IMPLEMENTATION   Model01

◆ KEYMAP

#define KEYMAP (   r0c0,
  r0c1,
  r0c2,
  r0c3,
  r0c4,
  r0c5,
  r0c6,
  r0c9,
  r0c10,
  r0c11,
  r0c12,
  r0c13,
  r0c14,
  r0c15,
  r1c0,
  r1c1,
  r1c2,
  r1c3,
  r1c4,
  r1c5,
  r1c6,
  r1c9,
  r1c10,
  r1c11,
  r1c12,
  r1c13,
  r1c14,
  r1c15,
  r2c0,
  r2c1,
  r2c2,
  r2c3,
  r2c4,
  r2c5,
  r2c10,
  r2c11,
  r2c12,
  r2c13,
  r2c14,
  r2c15,
  r3c0,
  r3c1,
  r3c2,
  r3c3,
  r3c4,
  r3c5,
  r2c6,
  r2c9,
  r3c10,
  r3c11,
  r3c12,
  r3c13,
  r3c14,
  r3c15,
  r0c7,
  r1c7,
  r2c7,
  r3c7,
  r3c8,
  r2c8,
  r1c8,
  r0c8,
  r3c6,
  r3c9 
)
Value:
{ \
{r0c0, r0c1, r0c2, r0c3, r0c4, r0c5, r0c6, r0c7, r0c8, r0c9, r0c10, r0c11, r0c12, r0c13, r0c14, r0c15}, \
{r1c0, r1c1, r1c2, r1c3, r1c4, r1c5, r1c6, r1c7, r1c8, r1c9, r1c10, r1c11, r1c12, r1c13, r1c14, r1c15}, \
{r2c0, r2c1, r2c2, r2c3, r2c4, r2c5, r2c6, r2c7, r2c8, r2c9, r2c10, r2c11, r2c12, r2c13, r2c14, r2c15}, \
{r3c0, r3c1, r3c2, r3c3, r3c4, r3c5, r3c6, r3c7, r3c8, r3c9, r3c10, r3c11, r3c12, r3c13, r3c14, r3c15}, \
}

◆ KEYMAP_STACKED

#define KEYMAP_STACKED (   r0c0,
  r0c1,
  r0c2,
  r0c3,
  r0c4,
  r0c5,
  r0c6,
  r1c0,
  r1c1,
  r1c2,
  r1c3,
  r1c4,
  r1c5,
  r1c6,
  r2c0,
  r2c1,
  r2c2,
  r2c3,
  r2c4,
  r2c5,
  r3c0,
  r3c1,
  r3c2,
  r3c3,
  r3c4,
  r3c5,
  r2c6,
  r0c7,
  r1c7,
  r2c7,
  r3c7,
  r3c6,
  r0c9,
  r0c10,
  r0c11,
  r0c12,
  r0c13,
  r0c14,
  r0c15,
  r1c9,
  r1c10,
  r1c11,
  r1c12,
  r1c13,
  r1c14,
  r1c15,
  r2c10,
  r2c11,
  r2c12,
  r2c13,
  r2c14,
  r2c15,
  r2c9,
  r3c10,
  r3c11,
  r3c12,
  r3c13,
  r3c14,
  r3c15,
  r3c8,
  r2c8,
  r1c8,
  r0c8,
  r3c9 
)
Value:
{ \
{r0c0, r0c1, r0c2, r0c3, r0c4, r0c5, r0c6, r0c7, r0c8, r0c9, r0c10, r0c11, r0c12, r0c13, r0c14, r0c15}, \
{r1c0, r1c1, r1c2, r1c3, r1c4, r1c5, r1c6, r1c7, r1c8, r1c9, r1c10, r1c11, r1c12, r1c13, r1c14, r1c15}, \
{r2c0, r2c1, r2c2, r2c3, r2c4, r2c5, r2c6, r2c7, r2c8, r2c9, r2c10, r2c11, r2c12, r2c13, r2c14, r2c15}, \
{r3c0, r3c1, r3c2, r3c3, r3c4, r3c5, r3c6, r3c7, r3c8, r3c9, r3c10, r3c11, r3c12, r3c13, r3c14, r3c15}, \
}

◆ LED_0

#define LED_0   59

◆ LED_1

#define LED_1   4

◆ LED_2

#define LED_2   11

◆ LED_3

#define LED_3   12

◆ LED_4

#define LED_4   19

◆ LED_5

#define LED_5   20

◆ LED_6

#define LED_6   43

◆ LED_7

#define LED_7   44

◆ LED_8

#define LED_8   51

◆ LED_9

#define LED_9   52

◆ LED_A

#define LED_A   6

◆ LED_ALT

#define LED_ALT   33

◆ LED_ANY

#define LED_ANY   37

◆ LED_APOSTROPHE

#define LED_APOSTROPHE   62

◆ LED_B

#define LED_B   23

◆ LED_BACKTICK

#define LED_BACKTICK   2

◆ LED_BUTTERFLY

#define LED_BUTTERFLY   39

◆ LED_C

#define LED_C   15

◆ LED_CMD

#define LED_CMD   30

◆ LED_COMMA

#define LED_COMMA   48

◆ LED_COUNT

#define LED_COUNT   64

◆ LED_CTRL

#define LED_CTRL   35

◆ LED_D

#define LED_D   14

◆ LED_DEL

#define LED_DEL   29

◆ LED_E

#define LED_E   13

◆ LED_EQUALS

#define LED_EQUALS   61

◆ LED_ESC

#define LED_ESC   24

◆ LED_F

#define LED_F   17

◆ LED_G

#define LED_G   22

◆ LED_H

#define LED_H   41

◆ LED_I

#define LED_I   50

◆ LED_J

#define LED_J   46

◆ LED_K

#define LED_K   49

◆ LED_L

#define LED_L   54

◆ LED_L_CTRL

#define LED_L_CTRL   28

◆ LED_L_FN

#define LED_L_FN   27

◆ LED_L_SHIFT

#define LED_L_SHIFT   31

◆ LED_LED

#define LED_LED   26

◆ LED_M

#define LED_M   47

◆ LED_MINUS

#define LED_MINUS   63

◆ LED_N

#define LED_N   40

◆ LED_NUM

#define LED_NUM   60

◆ LED_O

#define LED_O   53

◆ LED_P

#define LED_P   58

◆ LED_PERIOD

#define LED_PERIOD   55

◆ LED_PGDN

#define LED_PGDN   0

◆ LED_PGUP

#define LED_PGUP   1

◆ LED_PROG

#define LED_PROG   3

◆ LED_Q

#define LED_Q   5

◆ LED_R

#define LED_R   18

◆ LED_R_FN

#define LED_R_FN   36

◆ LED_R_SHIFT

#define LED_R_SHIFT   32

◆ LED_RETURN

#define LED_RETURN   38

◆ LED_S

#define LED_S   9

◆ LED_SEMICOLON

#define LED_SEMICOLON   57

◆ LED_SLASH

#define LED_SLASH   56

◆ LED_SPACE

#define LED_SPACE   34

◆ LED_T

#define LED_T   21

◆ LED_TAB

#define LED_TAB   25

◆ LED_U

#define LED_U   45

◆ LED_V

#define LED_V   16

◆ LED_W

#define LED_W   10

◆ LED_X

#define LED_X   8

◆ LED_Y

#define LED_Y   42

◆ LED_Z

#define LED_Z   7

◆ R0C0

#define R0C0   SCANBIT(0, 0)

◆ R0C1

#define R0C1   SCANBIT(0, 1)

◆ R0C10

#define R0C10   SCANBIT(0, 2)

◆ R0C11

#define R0C11   SCANBIT(0, 3)

◆ R0C12

#define R0C12   SCANBIT(0, 4)

◆ R0C13

#define R0C13   SCANBIT(0, 5)

◆ R0C14

#define R0C14   SCANBIT(0, 6)

◆ R0C15

#define R0C15   SCANBIT(0, 7)

◆ R0C2

#define R0C2   SCANBIT(0, 2)

◆ R0C3

#define R0C3   SCANBIT(0, 3)

◆ R0C4

#define R0C4   SCANBIT(0, 4)

◆ R0C5

#define R0C5   SCANBIT(0, 5)

◆ R0C6

#define R0C6   SCANBIT(0, 6)

◆ R0C7

#define R0C7   SCANBIT(0, 7)

◆ R0C8

#define R0C8   SCANBIT(0, 0)

◆ R0C9

#define R0C9   SCANBIT(0, 1)

◆ R1C0

#define R1C0   SCANBIT(1, 0)

◆ R1C1

#define R1C1   SCANBIT(1, 1)

◆ R1C10

#define R1C10   SCANBIT(1, 2)

◆ R1C11

#define R1C11   SCANBIT(1, 3)

◆ R1C12

#define R1C12   SCANBIT(1, 4)

◆ R1C13

#define R1C13   SCANBIT(1, 5)

◆ R1C14

#define R1C14   SCANBIT(1, 6)

◆ R1C15

#define R1C15   SCANBIT(1, 7)

◆ R1C2

#define R1C2   SCANBIT(1, 2)

◆ R1C3

#define R1C3   SCANBIT(1, 3)

◆ R1C4

#define R1C4   SCANBIT(1, 4)

◆ R1C5

#define R1C5   SCANBIT(1, 5)

◆ R1C6

#define R1C6   SCANBIT(1, 6)

◆ R1C7

#define R1C7   SCANBIT(1, 7)

◆ R1C8

#define R1C8   SCANBIT(1, 0)

◆ R1C9

#define R1C9   SCANBIT(1, 1)

◆ R2C0

#define R2C0   SCANBIT(2, 0)

◆ R2C1

#define R2C1   SCANBIT(2, 1)

◆ R2C10

#define R2C10   SCANBIT(2, 2)

◆ R2C11

#define R2C11   SCANBIT(2, 3)

◆ R2C12

#define R2C12   SCANBIT(2, 4)

◆ R2C13

#define R2C13   SCANBIT(2, 5)

◆ R2C14

#define R2C14   SCANBIT(2, 6)

◆ R2C15

#define R2C15   SCANBIT(2, 7)

◆ R2C2

#define R2C2   SCANBIT(2, 2)

◆ R2C3

#define R2C3   SCANBIT(2, 3)

◆ R2C4

#define R2C4   SCANBIT(2, 4)

◆ R2C5

#define R2C5   SCANBIT(2, 5)

◆ R2C6

#define R2C6   SCANBIT(2, 6)

◆ R2C7

#define R2C7   SCANBIT(2, 7)

◆ R2C8

#define R2C8   SCANBIT(2, 0)

◆ R2C9

#define R2C9   SCANBIT(2, 1)

◆ R3C0

#define R3C0   SCANBIT(3, 0)

◆ R3C1

#define R3C1   SCANBIT(3, 1)

◆ R3C10

#define R3C10   SCANBIT(3, 2)

◆ R3C11

#define R3C11   SCANBIT(3, 3)

◆ R3C12

#define R3C12   SCANBIT(3, 4)

◆ R3C13

#define R3C13   SCANBIT(3, 5)

◆ R3C14

#define R3C14   SCANBIT(3, 6)

◆ R3C15

#define R3C15   SCANBIT(3, 7)

◆ R3C2

#define R3C2   SCANBIT(3, 2)

◆ R3C3

#define R3C3   SCANBIT(3, 3)

◆ R3C4

#define R3C4   SCANBIT(3, 4)

◆ R3C5

#define R3C5   SCANBIT(3, 5)

◆ R3C6

#define R3C6   SCANBIT(3, 6)

◆ R3C7

#define R3C7   SCANBIT(3, 7)

◆ R3C8

#define R3C8   SCANBIT(3, 0)

◆ R3C9

#define R3C9   SCANBIT(3, 1)

◆ ROWS

#define ROWS   4

◆ SCANBIT

#define SCANBIT (   row,
  col 
)    ((uint32_t)1 << ((row) * 8 + (7 - (col))))