diff --git a/src/board/system76/galp3-c/include/board/kbc.h b/src/board/system76/galp3-c/include/board/kbc.h index c9d6bb7..6f9f960 100644 --- a/src/board/system76/galp3-c/include/board/kbc.h +++ b/src/board/system76/galp3-c/include/board/kbc.h @@ -4,7 +4,6 @@ #include void kbc_init(void); - void kbc_event(struct Kbc * kbc); #endif // _BOARD_KBC_H diff --git a/src/board/system76/galp3-c/include/board/kbscan.h b/src/board/system76/galp3-c/include/board/kbscan.h index 27db45b..2a0a26d 100644 --- a/src/board/system76/galp3-c/include/board/kbscan.h +++ b/src/board/system76/galp3-c/include/board/kbscan.h @@ -4,7 +4,6 @@ #include void kbscan_init(void); - void kbscan_event(void); #endif // _BOARD_KBSCAN_H diff --git a/src/board/system76/galp3-c/include/board/keymap.h b/src/board/system76/galp3-c/include/board/keymap.h new file mode 100644 index 0000000..e5fa825 --- /dev/null +++ b/src/board/system76/galp3-c/include/board/keymap.h @@ -0,0 +1,8 @@ +#ifndef _BOARD_KEYMAP_H +#define _BOARD_KEYMAP_H + +#include + +uint16_t keymap(int layer, int output, int input); + +#endif // _BOARD_KEYMAP_H diff --git a/src/board/system76/galp3-c/keymap.c b/src/board/system76/galp3-c/keymap.c new file mode 100644 index 0000000..d602ef5 --- /dev/null +++ b/src/board/system76/galp3-c/keymap.c @@ -0,0 +1,21 @@ +#include + +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 16 +// Keymap input pins +#define KM_IN 8 + +uint16_t __code KEYMAP[KM_IN][KM_OUT][KM_LAY] = { + // TODO + { { 0 } } +}; + +uint16_t keymap(int layer, int output, int input) { + if (layer < KM_LAY && output < KM_OUT && input < KM_IN) { + return KEYMAP[input][output][layer]; + } else { + return 0; + } +}