Key_Keypad... commands aren't working

Hi folks. I’m a proud new owner of a Model 1. I’m loving the ergonomic design and hope it will help my wrist pain.

I’ve been messing around with all the reprogramming all night to get it how I want it. The dvorak stuck just fine (except for the cut. copy, paste keys I tried to add), so did my slight alterations to the default functions layer. But now I’ve made an additional layer of my own where I was planning on putting numbers and symbols in a more ergonomic layout. All of them were copied from the key_defs_keyboard.h page. The keypad numbers are working, but pretty much all the other keypad commands produce nothing, like I didn’t press a key. I wrestled with it for a while and now I’m turning to the forum for help. I hope its something simple I overlooked. I’m new to this so I apologize in advance if it was a noob move. I’m about to head to work so I’ll try to answer any questions from there.

Anyway, here is what I have down…

enum { DVORAK, NUMPAD, FUNCTION, LAYER1 }; // layers

/* This comment temporarily turns off astyle's indent enforcement
 *   so we can make the keymaps actually resemble the physical key layout better
 */
// *INDENT-OFF*

const Key keymaps[][ROWS][COLS] PROGMEM = {

[DVORAK] = KEYMAP_STACKED
  (___,                         Key_F1,        Key_F2,    Key_F3,     Key_F4, Key_F5, Key_LEDEffectNext,
   Key_KeypadExclamationPoint,  Key_Quote,     Key_Comma, Key_Period, Key_P,  Key_Y,  Key_Tab,
   Key_Slash,                   Key_A,         Key_O,     Key_E,      Key_U,  Key_I,
   Key_CapsLock,                Key_Semicolon, Key_Q,     Key_J,      Key_K,  Key_X,  Key_Escape,
   Key_LeftControl, Key_LeftShift, Key_Backspace, ShiftToLayer(LAYER1),
   ShiftToLayer(FUNCTION),

   Key_Cut,   Key_F6, Key_F7, Key_F8,  Key_F9,  Key_F10, Key_PrintScreen,
   Key_Copy,  Key_F,  Key_G,  Key_C,   Key_R,   Key_L,   Key_Backtick,
              Key_D,  Key_H,  Key_T,   Key_N,   Key_S,   Key_Minus,
   Key_Paste, Key_B,  Key_M,  Key_W,   Key_V,   Key_Z,   Key_Enter,
   ShiftToLayer(FUNCTION), Key_Spacebar, Key_RightShift, Key_RightAlt,
   ShiftToLayer(FUNCTION)),


   [NUMPAD] =  KEYMAP_STACKED
  (___, ___, ___, ___, ___, ___, ___,
   ___, ___, ___, ___, ___, ___, ___,
   ___, ___, ___, ___, ___, ___,
   ___, ___, ___, ___, ___, ___, ___,
   ___, ___, ___, ___,
   ___,

   M(MACRO_VERSION_INFO),  ___, Key_Keypad7, Key_Keypad8,   Key_Keypad9,        Key_KeypadSubtract, ___,
   ___,                    ___, Key_Keypad4, Key_Keypad5,   Key_Keypad6,        Key_KeypadAdd,      ___,
                           ___, Key_Keypad1, Key_Keypad2,   Key_Keypad3,        Key_Equals,         Key_Quote,
   ___,                    ___, Key_Keypad0, Key_KeypadDot, Key_KeypadMultiply, Key_KeypadDivide,   Key_Enter,
   ___, ___, ___, ___,
   ___),


  [FUNCTION] =  KEYMAP_STACKED
  (___,      Key_F1,           Key_F2,      Key_F3,     Key_F4,        Key_F5,           XXX,
   Key_Tab,  ___,              Key_mouseUp, ___,        Key_mouseBtnR, Key_mouseWarpEnd, Key_mouseWarpNE,
   Key_Home, Key_mouseL,       Key_mouseDn, Key_mouseR, Key_mouseBtnL, Key_mouseWarpNW,
   Key_End,  Key_PrintScreen,  Key_Insert,  ___,        Key_mouseBtnM, Key_mouseWarpSW,  Key_mouseWarpSE,
   ___, ___, Key_Delete, ___,
   ___,

   Consumer_ScanPreviousTrack, Key_F6,                 Key_F7,                   Key_F8,                   Key_F9,          Key_F10,          Key_F11,
   Consumer_PlaySlashPause,    Consumer_ScanNextTrack, Key_LeftCurlyBracket,     Key_UpArrow,              Key_LeftBracket, Key_RightBracket, Key_F12,
                               Key_LeftArrow,          Key_LeftArrow,            Key_DownArrow,            Key_RightArrow,  ___,              ___,
   Key_PcApplication,          Consumer_Mute,          Consumer_VolumeDecrement, Consumer_VolumeIncrement, ___,             Key_Backslash,    Key_Pipe,
   ___, Key_Enter, ___, ___,
   ___),

  
  [LAYER1] =  KEYMAP_STACKED
  (___,             Key_F1,              Key_F2,                   Key_F3,                    Key_F4,              Key_F5,           XXX,
   Key_Tab,         Key_Backslash,       Key_KeypadLeftCurlyBrace, Key_KeypadRightCurlyBrace, Key_KeypadAmpersand, Key_mouseWarpEnd, Key_mouseWarpNE,
   Key_KeypadCarat, Key_KeypadPipe,      Key_KeypadLeftParen,      Key_KeypadRightParen,      Key_KeypadAtSign,    Key_mouseWarpNW,
   Key_End,         Key_KeypadPoundSign, Key_LeftBracket,          Key_RightBracket,          Key_KeypadMultiply,  Key_mouseWarpSW,  Key_mouseWarpSE,
   ___, ___, Key_Delete, ___,
   ___,

   Consumer_ScanPreviousTrack, Key_F6,                 Key_F7,      Key_F8,      Key_F9,      Key_F10,          Key_F11,
   Consumer_PlaySlashPause,    Consumer_ScanNextTrack, Key_Keypad7, Key_Keypad8, Key_Keypad9, Key_KeypadAdd,    Key_F12,
                               Key_LeftArrow,          Key_Keypad4, Key_Keypad5, Key_Keypad6, Key_KeypadEquals, Key_KeypadPercent,
   Key_PcApplication,          Consumer_Mute,          Key_Keypad1, Key_Keypad2, Key_Keypad3, Key_CurrencyUnit, Key_Pipe,
   ___, Key_Enter, Key_Keypad0, ___,
   ___)

The Key_Keypad digits don’t work for me either. The rest of the Keypad keys work fine, though.

As a workaround, I use Key_1 etc.

I found that the Key_Keypad digits didn’t work for me initially due to OS-side things; I guess the OS thought that numlock was in some state such that the digits acted as arrow keys instead…I seem to recall the a reboot fixed that.

It seems you have the opposite problem, but I would guess that it’s a similar cause, namely the OS assuming that there’s some numlock state that causes it to interpret the Keypad keys differently.

I haven’t actually gotten my Model01 yet, but I’m planning to actually have the num lock key in my custom mapping, with 4-5-6 in my home row. I’m hoping that having such an easily reached number pad will work better than the row of numbers at the top.

Thanks for all the replies fella’s. I tried it on a different computer (both windows 10). I rebooted both, and tried the numlock on and off. Nothing seemed to work. So I just gave up and did the chorded key work around, now it works fine. Weird that it wouldn’t work though.

Out of curiosity, which numpad plugin are you using? I had similar issues, and switching from NumLock to the newer NumPad fixed them. (Since your keyboard is new, though, it’s likely you were already using NumPad).

How do you switch to the newer numpad?

All you should need to do is change references to NumLock to NumPad (note the caps for NumPad).