Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TKL/Full Size layouts, and a few additions to layout() #96

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ogaskell
Copy link

This PR adds TKL and Full Size layouts.

However, there were a few things than the existing layout function didn't include that were necessary for TKL and Full Size layouts.

  • Firstly, a lot of the keys in these layouts (namely the nav cluster) had legends that didn't fit on keys unless they were shortened to the point of not being easily identifyable. To solve this, I've added an extra argument to legend() - legend_sizes. This argument takes a 2d array, in the same format as the legend and keysize arrays, which specifies how much larger or smaller than default each key's legend should be. Since users may specify their own legend size, it specifies a difference from the default, so +1 increases size by one, 0 leaves a key as default and -1 decreases size by one.
  • Secondly, there was no way to make vertical keys. I added another argument, vertical_sizes, in the same format as legend_sizes which specifies the vertical size of caps in units. On the row below a vertical cap, a gap must be added to the sizes array since currently, this isn't done automatically.

Both of these options have default values, so existing layouts require no modification, and the options can be safely left unset.

Currently, it only works with SA and Cherry profiles. Whatever calculates the row numbers doesn't seem to be able to handle full 6-row layouts. Cherry and SA are working since I set row_sculpting_offset = -1. DCS and OEM just use the wrong rows, giving a sculpt that's completely wrong, G20 and HiPro give a similar result with just a weird sculpt, and no value of row_sculpting_offset seems to fix these. DSA just throws about 3600 warnings. If anyone could shed some light on how the row system works I could probably try and find a fix.

Legends still need tweaking as they overrun a lot of keys, and the profile is completely wrong as it seems to be doing 1-2-3-4-4-5 instead of 1-1-2-3-4-4.
This allows the size of legends to be modified. For example, on the TKL layout, many of the nav key's legends are too long to fit on a 1u key with the standard 6 font size, so the legend_sizes allows a change of this.

The array specifies differences from the default, so that if the default is adjusted the changed font sizes will be too. For example, +2 means a 2 unit larger legend, 0 means default and -1 means 1 unit smaller.
Not sure how to do vertical keys using layout(), so they've been replaced by 2 keys with the same legend.
This was referenced Feb 20, 2022
Copy link

@jonathan-dove jonathan-dove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding in PR/*96

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants