remove the special NUMPAD_ID definition; move the keymap definitions into the variable declaration.
This has the advantage of having one fewer construct to explain
This commit is contained in:
parent
e99467aa48
commit
b759e003af
@ -96,9 +96,24 @@ enum { MACRO_VERSION_INFO,
|
|||||||
* using ___ to let keypresses fall through to the previously active layer
|
* using ___ to let keypresses fall through to the previously active layer
|
||||||
* using XXX to mark a keyswitch as 'blocked' on this layer
|
* using XXX to mark a keyswitch as 'blocked' on this layer
|
||||||
* using Key_Keymap_ keys to change the active keymap.
|
* using Key_Keymap_ keys to change the active keymap.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* The "keymaps" data structure is a list of the keymaps compiled into the firmware.
|
||||||
|
* The order of keymaps in the list is important, as the Key_Keymap# and Key_Keymap#_Momentary
|
||||||
|
* keys switch to key layers based on this list.
|
||||||
|
*
|
||||||
|
* Keymaps are "0-indexed" -- That is the first keymap is Keymap 0. The second one is Keymap 1.
|
||||||
|
* The third one is Keymap 2.
|
||||||
|
|
||||||
|
* A key defined as 'Key_Keymap1_Momentary' will switch to FUNCTION while held.
|
||||||
|
* Similarly, a key defined as 'Key_Keymap2' will switch to NUMPAD when tapped.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define QWERTY_KEYMAP KEYMAP_STACKED ( \
|
enum { QWERTY, FUNCTION, NUMPAD }; // layers
|
||||||
|
|
||||||
|
const Key keymaps[][ROWS][COLS] PROGMEM = {
|
||||||
|
|
||||||
|
[QWERTY] = KEYMAP_STACKED(\
|
||||||
___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext, \
|
___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext, \
|
||||||
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab, \
|
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab, \
|
||||||
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, \
|
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, \
|
||||||
@ -111,11 +126,9 @@ enum { MACRO_VERSION_INFO,
|
|||||||
Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, \
|
Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, \
|
||||||
Key_RightAlt, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, \
|
Key_RightAlt, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, \
|
||||||
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl, \
|
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl, \
|
||||||
Key_Keymap1_Momentary \
|
Key_Keymap1_Momentary),
|
||||||
)
|
|
||||||
|
|
||||||
|
[FUNCTION] = KEYMAP_STACKED(\
|
||||||
#define FUNCTION_KEYMAP KEYMAP_STACKED ( \
|
|
||||||
___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, XXX, \
|
___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, XXX, \
|
||||||
Key_Tab, ___, Key_mouseUp, ___, Key_mouseBtnR, Key_mouseWarpEnd, Key_mouseWarpNE, \
|
Key_Tab, ___, Key_mouseUp, ___, Key_mouseBtnR, Key_mouseWarpEnd, Key_mouseWarpNE, \
|
||||||
Key_Home, Key_mouseL, Key_mouseDn, Key_mouseR, Key_mouseBtnL, Key_mouseWarpNW, \
|
Key_Home, Key_mouseL, Key_mouseDn, Key_mouseR, Key_mouseBtnL, Key_mouseWarpNW, \
|
||||||
@ -128,11 +141,10 @@ Consumer_PlaySlashPause, Consumer_ScanNextTrack, Key_LeftCurlyBracket, Ke
|
|||||||
Key_LeftArrow, Key_DownArrow, Key_UpArrow, Key_RightArrow, ___, ___, \
|
Key_LeftArrow, Key_DownArrow, Key_UpArrow, Key_RightArrow, ___, ___, \
|
||||||
Key_PcApplication, Key_Mute, Consumer_VolumeDecrement, Consumer_VolumeIncrement, ___, Key_Backslash, Key_Pipe, \
|
Key_PcApplication, Key_Mute, Consumer_VolumeDecrement, Consumer_VolumeIncrement, ___, Key_Backslash, Key_Pipe, \
|
||||||
___, ___, Key_Enter, ___, \
|
___, ___, Key_Enter, ___, \
|
||||||
___ \
|
___),
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
#define NUMPAD_KEYMAP KEYMAP_STACKED (\
|
[NUMPAD] = KEYMAP_STACKED(\
|
||||||
___, ___, ___, ___, ___, ___, ___, \
|
___, ___, ___, ___, ___, ___, ___, \
|
||||||
___, ___, ___, ___, ___, ___, ___, \
|
___, ___, ___, ___, ___, ___, ___, \
|
||||||
___, ___, ___, ___, ___, ___, \
|
___, ___, ___, ___, ___, ___, \
|
||||||
@ -146,34 +158,10 @@ ___ \
|
|||||||
___, Key_Keypad1, Key_Keypad2, Key_Keypad3, Key_Equals, Key_Quote, \
|
___, Key_Keypad1, Key_Keypad2, Key_Keypad3, Key_Equals, Key_Quote, \
|
||||||
___, ___, Key_Keypad0, Key_KeypadDot, Key_KeypadMultiply, Key_KeypadDivide, Key_Enter, \
|
___, ___, Key_Keypad0, Key_KeypadDot, Key_KeypadMultiply, Key_KeypadDivide, Key_Enter, \
|
||||||
___, ___, ___, ___, \
|
___, ___, ___, ___, \
|
||||||
___ \
|
___)
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// The "keymaps" data structure is a list of the keymaps compiled into the firmware.
|
|
||||||
// The order of keymaps in the list is important, as the Key_Keymap# and Key_Keymap#_Momentary
|
|
||||||
// keys switch to key layers based on this list.
|
|
||||||
//
|
|
||||||
// Keymaps are "0-indexed" -- That is the first keymap is Keymap 0. The second one is Keymap 1.
|
|
||||||
// The third one is Keymap 2.
|
|
||||||
|
|
||||||
// A key defined as 'Key_Keymap1_Momentary' will switch to FUNCTION_KEYMAP while held.
|
|
||||||
// Similarly, a key defined as 'Key_Keymap2' will switch to NUMPAD_KEYMAP when tapped.
|
|
||||||
|
|
||||||
const Key keymaps[][ROWS][COLS] PROGMEM = {
|
|
||||||
QWERTY_KEYMAP,
|
|
||||||
FUNCTION_KEYMAP,
|
|
||||||
NUMPAD_KEYMAP
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Right now, the numpad implementation needs to be told which keymap is the numpad keymap.
|
|
||||||
// That requirement should go away in the future.
|
|
||||||
|
|
||||||
#define NUMPAD_KEYMAP_ID 2
|
|
||||||
|
|
||||||
|
|
||||||
/** versionInfoMacro handles the 'firmware version info' macro
|
/** versionInfoMacro handles the 'firmware version info' macro
|
||||||
* When a key bound to the macro is pressed, this macro
|
* When a key bound to the macro is pressed, this macro
|
||||||
* prints out the firmware build information as virtual keystrokes
|
* prints out the firmware build information as virtual keystrokes
|
||||||
@ -310,7 +298,7 @@ void setup() {
|
|||||||
|
|
||||||
// While we hope to improve this in the future, the NumLock plugin
|
// While we hope to improve this in the future, the NumLock plugin
|
||||||
// needs to be explicitly told which keymap layer is your numpad layer
|
// needs to be explicitly told which keymap layer is your numpad layer
|
||||||
NumLock.numPadLayer = NUMPAD_KEYMAP_ID;
|
NumLock.numPadLayer = NUMPAD;
|
||||||
|
|
||||||
// We configure the AlphaSquare effect to use RED letters
|
// We configure the AlphaSquare effect to use RED letters
|
||||||
AlphaSquare.color = { 255, 0, 0 };
|
AlphaSquare.color = { 255, 0, 0 };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user