Numberpad Layouts

I’m curious about how any people have customised their numpad layer. I ended up deciding on a toggle for that layer rather than a lock, mapped to the right palm, and ended up shifting most things down a row (and added a few things):

. . . . . .
,000 ⇧Tab * Tab
7 8 9 Ent $
+ 4 5 6 /
0 1 2 3 . =

This made things much more comfortable for me - I felt like I had to move my hand up a row when using numpad, and that was a pain but the alternative was overstretching for 7, 8 and 9. Now I’m a lot more fluid with it. The forwardslash falling naturally on the pinky is also something that has worked out very well.

1 Like

Shifting down a row is a must, IMO, for the same reason that moving the mousekeys to ESDF is a must. There’s no point creating a sculpted keyboard that fits the fingers and then having the home row in a different place on a different layer. :slight_smile: 456 is the home row on a numpad, so they MUST be under JKL.

I based mine on the Kinesis and the Apple numpad, and added a Del key under H:

    M(MACRO_VERSION_INFO),  ___,                 Key_KeypadClear, Key_KeypadEquals,   Key_KeypadDivide,   Key_KeypadMultiply, ___,
   ___,                    ___,                 Key_Keypad7,     Key_Keypad8,        Key_Keypad9,        Key_KeypadSubtract, ___,
                           Key_Backspace,       Key_Keypad4,     Key_Keypad5,        Key_Keypad6,        Key_KeypadAdd,      ___,
   ___,                    Key_KeypadComma,     Key_Keypad1,     Key_Keypad2,        Key_Keypad3,        Key_KeypadEnter,    ___,
   Key_Keypad000, Key_Keypad00, Key_Keypad0, Key_KeypadDot,
   ___),

So it comes out like:

   Clr =  /  *
    7  8  9  -
Del 4  5  6  +
    1  2  3 Ent

And under the thumb:

000 00 0 .

There is a counter-argument to this: Benford’s Law. The digits 1, 2, and 3 occur much more frequently than 4, 5, and 6, which in turn occur much more frequently than 7, 8, and 9. Since the bottom row is usually considered harder to reach or less comfortable than the row above the home row, a pretty good argument can be made for putting the most common digits on the home row, and compromising on the location of the least common ones, putting them on the number row instead.

Taking this idea even further, perhaps it would be even better to lay out the “number pad” like this:

    4 5 6
  0 1 2 3
    7 8 9
2 Likes

I think saying “much more frequently” is a bit misleading - they appear much more frequently as leading digits, but pretty much equally otherwise (where 0 is probably the most common) - so depending on your use, it might be much of a muchness.

As for me, at work the most common number I use is 6, as 6/6 is the metric version of 20/20 vision, so 6/6. So leaving as is works just great for me!

Surely a column-oriented keyboard addresses that issue? A major part of the problem is having the bottom row offset to the side by half a key, forcing the fingers to move awkwardly sideways.

The best info I’ve found on this come’s from Xah Lee’s programming language character frequency data, and supports my assertion of the lower digits occurring “much more frequently” than the higher ones (though the same can’t quite be said of the difference between the middle and high digits):

digit % of all characters
0 2.4
1 1.6
2 1.1
3 0.5
4 0.4
5 0.3
6 0.3
7 0.2
8 0.3
9 0.2

In those code samples, 2 occurs more often than the high three digits combined, 1 more often than the high five digits, and 0 more often than the high seven digits. I would say this qualifies as supporting a claim of “much more frequent”, and constitutes a fairly strong argument for putting the low digits on the home row, rather than relegating them to what is generally regarded as the least comfortable of the three “letter” rows of the keyboard.

Of course, digit frequency is highly dependent on what the user is typing. For instance, someone who enters a lot of consumer product prices in a spreadsheet would likely type 9 far more often than a programmer typing code. It’s great that we can program our keyboards to suit our own peculiar uses, rather than restricted by the needs of others.

Indeed. But note that most programmers don’t use numeric keypads at all, so optimising a default numeric keypad layout for them is misdirected effort. Numpads are for spreadsheet users, so should be optimised for spreadsheet users - and spreadsheet users expect 456 to be on the home row…

I think you’re talking about standards for many users, whereas this conversation began with a question about customized numpads. I’m not suggesting making a layout for unknown masses of spreadsheet users; I’m suggesting something that I think might make sense for some individuals who want to customize their own keyboards.

Furthermore, spreadsheet users who are used to numeric keypads are also used to shifting their hand to a different location entirely in order to use that keypad. Those users are also used to having the 0 key in a position where, if you put the numpad on a model one with 4 5 6 on the home row, there is no key. I would say shifting one’s hand up one row and preserving the familiar positions of the 0 and . keys should be less onerous to those users.

Last, most programmers don’t use the numeric keypad at all (while coding), true – but that’s only because the numeric keypad is so inefficient to use because of its location. I’m sure I’m not the only Model01 user who normally types numbers using a numpad layer instead of numbers on the number row, because it’s easier, faster, and less error-prone.

1 Like

Is that the reason? I was under the impression that it was because curling the fingers under was more awkward than stretching them out. I don’t rest my wrists at all, so I don’t experience either when I’m typing; I’m certainly no expert.

I want to emphasize this point, since it might still not be clear to all readers: this discussion is not about default layouts. What we’re talking about here is customized numpad layouts (see the first sentence of the OP), and all of my comments here are directed at people who are interested in customizing their numpad layout, and do not constitute any proposals or arguments for defaults or standards.

1 Like

I think it’s fair to say that programming code would include a very high proportion of “leading characters” - somewhere from 85-95% I’d guess, making it more amenable to Benford’s Law distributions. However, someone inputting numbers into a spreadsheet, typing up a scientific/medical report or something of the like involving longer numbers is far more rarely typing single isolated digits than a programmer, so the proportion of leading characters is much lower, and therefore the data has less of a Benford’s Law distribution (though still some). So like you said, it’s highly use-case-dependent, but not just because of some people doing lots of 9s for prices, but also simply how long the number strings people typing are, as the leading characters are the only ones affected by Benford’s law and are nearly random. (not exactly random, but the distribution of subsequent characters is much subtly influenced by this idea and include 0 also in the distribution).

I’d argue it isn’t - programmers understandably shun normal numpads on keyboards because they are usually just typing small strings of numbers and then immediately typing again and using a numberpad would introduce a much larger delay and movement, but would probably at least consider an option where it’s on a layer where they don’t have to jump their hands at all. Like Merlin said, though, this is about custom layouts, not any new standard.

Yes, of course. Sorry for straying OT.

But surely the entire point of a keyboard like the Model01 is that you never shift your hand position. The keys are custom sculpted based on that assumption. It’s highly uncomfortable to use if you do shift position.

You’re not, I’m with you. :slight_smile:

I think having zero under the thumb makes perfect sense - as you pointed out above, it’s the most commonly used digit by far. The only issue I have with it is that sometimes you really do need a space when typing lots of numbers, and going in and out of the numeric keypad is a pain. I may improve my layout by putting a space under Y, now that I think about it…

Yes, I definitely agree with this - it shouldn’t be the assumption that since spreadsheeters are used to moving their hands a lot, that making them move their hands a little is no loss. The whole idea of Model 01 and such keyboards is comfort and not having to jump your hands at all.

I do quite a bit of accounting with spreadsheets, entering numbers of various lengths, and that data is skewed very heavily toward 0, 1, and 2 as the most common digits entered. 5 and 9 appear more often than Benford’s Law would expect, and the tail of the distribution is generally flatter, but there is still a general trend toward the higher digits appearing less often. If I round off to just one significant digit, 0 occurs 4 times as often as most, 1 occurs 3 times as often, and 2 occurs twice as often, with all the rest being the same.

I disagree. Not needing to shift hand position much is certainly intended, but saying “never shift your hand position” is a gross overstatement. If I rest my wrists on my Model01 and keep my fingers on the home row (except whichever one is pressing a key), there are quite a few keys that I cannot reach at all, including enter and 7. And it’s quite uncomfortable for me to type that way.

If I don’t rest my wrists, it’s not the slightest bit uncomfortable to shift one row from “home” position in order to quickly enter long strings of numbers, and I can keep the most common digits under my actual home row keys, which is better when entering occasional digits.

I didn’t say it would be “no loss”. I do contend that people used to a numeric keypad would find a very small shift to be less costly that the repositioning of two very commonly-used keys. It’s about a tradeoff, not perfection.