diff --git a/src/board/system76/addw2/include/board/keymap.h b/src/board/system76/addw2/include/board/keymap.h index 4d94498..412144d 100644 --- a/src/board/system76/addw2/include/board/keymap.h +++ b/src/board/system76/addw2/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,16 +42,6 @@ { K35, K1C, K4F, K51, K4D, K58, K5A, ___ } \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/bonw14/include/board/keymap.h b/src/board/system76/bonw14/include/board/keymap.h index f755148..85b07ea 100644 --- a/src/board/system76/bonw14/include/board/keymap.h +++ b/src/board/system76/bonw14/include/board/keymap.h @@ -3,9 +3,17 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 +// Keyboard has n-key rollover +#define KM_NKEY 1 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,18 +44,6 @@ { ___, ___, ___, ___, ___, ___, ___, ___ } /* 17 */ \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 -// Keyboard has n-key rollover -#define KM_NKEY 1 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 0 #define MATRIX_ESC_OUTPUT 6 diff --git a/src/board/system76/darp5/include/board/keymap.h b/src/board/system76/darp5/include/board/keymap.h index 4d94498..412144d 100644 --- a/src/board/system76/darp5/include/board/keymap.h +++ b/src/board/system76/darp5/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,16 +42,6 @@ { K35, K1C, K4F, K51, K4D, K58, K5A, ___ } \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/galp3-c/include/board/keymap.h b/src/board/system76/galp3-c/include/board/keymap.h index 44e5819..0be51a7 100644 --- a/src/board/system76/galp3-c/include/board/keymap.h +++ b/src/board/system76/galp3-c/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 16 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -34,16 +40,6 @@ { K56, ___, K3C, ___, K59, K0C, K4D, K3D } \ } -// Keymap output pins -#define KM_OUT 16 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/gaze15/include/board/keymap.h b/src/board/system76/gaze15/include/board/keymap.h index 4d94498..412144d 100644 --- a/src/board/system76/gaze15/include/board/keymap.h +++ b/src/board/system76/gaze15/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,16 +42,6 @@ { K35, K1C, K4F, K51, K4D, K58, K5A, ___ } \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/lemp9/include/board/keymap.h b/src/board/system76/lemp9/include/board/keymap.h index a335a87..843d1f0 100644 --- a/src/board/system76/lemp9/include/board/keymap.h +++ b/src/board/system76/lemp9/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 16 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -35,16 +41,6 @@ { ___, ___, K3C, ___, K61, K0C, ___, K59 } \ } -// Keymap output pins -#define KM_OUT 16 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/oryp5/include/board/keymap.h b/src/board/system76/oryp5/include/board/keymap.h index 4d94498..412144d 100644 --- a/src/board/system76/oryp5/include/board/keymap.h +++ b/src/board/system76/oryp5/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,16 +42,6 @@ { K35, K1C, K4F, K51, K4D, K58, K5A, ___ } \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/board/system76/oryp6/include/board/keymap.h b/src/board/system76/oryp6/include/board/keymap.h index 4d94498..412144d 100644 --- a/src/board/system76/oryp6/include/board/keymap.h +++ b/src/board/system76/oryp6/include/board/keymap.h @@ -3,9 +3,15 @@ #ifndef _BOARD_KEYMAP_H #define _BOARD_KEYMAP_H -#include +// Keymap layers (normal, Fn) +#define KM_LAY 2 +// Keymap output pins +#define KM_OUT 18 +// Keymap input pins +#define KM_IN 8 -#define ___ 0 +// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions +#include // Conversion of physical layout to keyboard matrix #define LAYOUT( \ @@ -36,16 +42,6 @@ { K35, K1C, K4F, K51, K4D, K58, K5A, ___ } \ } -// Keymap output pins -#define KM_OUT 18 -// Keymap input pins -#define KM_IN 8 -// Keymap layers (normal, Fn) -#define KM_LAY 2 - -// Keymap -extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; - // Position of physical Esc key in the matrix #define MATRIX_ESC_INPUT 7 #define MATRIX_ESC_OUTPUT 7 diff --git a/src/common/include/common/keymap.h b/src/common/include/common/keymap.h index a30f91c..447b620 100644 --- a/src/common/include/common/keymap.h +++ b/src/common/include/common/keymap.h @@ -5,9 +5,16 @@ #include +#if defined(KM_LAY) && defined(KM_OUT) && defined(KM_IN) +extern uint16_t __xdata KEYMAP[KM_LAY][KM_OUT][KM_IN]; +#endif + // Translate a keycode from PS/2 set 2 to PS/2 set 1 uint16_t keymap_translate(uint16_t key); +// Helper definition for empty key +#define ___ 0 + // Key types #define KT_MASK (0xF000)