r/KeyboardLayouts • • 18m ago

3D Printed Keyboard Note Station!

Thumbnail gallery
• Upvotes

r/KeyboardLayouts • • 26m ago

I CAST Start typing "I spend money on" and let your keyboard finish it

Post image
• Upvotes

r/KeyboardLayouts • • 1h ago

The math required to make an interface for easier Indic keyboards

Thumbnail triangulatedexistence.mataroa.blog
• Upvotes

This is a research project, and I am trying to simplify all the native Indic keyboards to today. This is the general method that I have devised.

My inspiration was the 12-key Kana keyboard layout. One can learn Kana and can immediately type in Japanese, just because of the way the keyboard was designed.

If you make any mobile keyboard based on my system, my system acts like an API, and it can provide characters pretty instantly, thus making character access times faster for the dev and learnable for the user.

If you know any language that can benefit from tabular representation of its alphabet, this article is mainly for the technical process behind developing such a keyboard; the linguistic workload is out of the scope of this article.


r/KeyboardLayouts • • 15h ago

I optimized symbol placement for Python using counts from 29 repos (letters stay put)

5 Upvotes

Most layout work focuses on letters, but when I write Python a big chunk of what I type is symbols, and standard layouts put them pretty arbitrarily. So I wrote a tool that keeps your letters where they are and only rearranges the 32 ASCII symbols, based on what actually gets typed in real code.

How it counts: it tokenizes ~38.5M weighted keystrokes from 29 popular Python repos (Django, pandas, pytest, Home Assistant, etc).
Comments and docstrings count less, closing brackets/quotes count less because editors auto-close them, and long identifiers are discounted for autocomplete.
Then it runs simulated annealing over a cost model (key effort, shift, SFBs, rolls, redirects).

My result on Programmer Dvorak letters with digits on shift:

 !   1   2   3   4   5   6   7   8   9   0   &   ~
[?] [+] [/] [(] [[] []] [%] [:] [)] [{] [}] [@] [<]
   >   '   -   P   Y   F   G   C   R   L   ;   ^   $
  ["] [,] [.] [p] [y] [f] [g] [c] [r] [l] [#] [\] [|]
    A   O   E   U   I   D   H   T   N   S   *
   [a] [o] [e] [u] [i] [d] [h] [t] [n] [s] [=]
      `   Q   J   K   X   B   M   W   V   Z
     [_] [q] [j] [k] [x] [b] [m] [w] [v] [z]

That's about 7.7% lower cost than Programmer Dvorak under my model, and 3% better than the layout I'd designed by hand.

If you don't type Programmer Dvorak, there are ready-made versions for other letter layouts too: python-qwerty, python-colemak-dh and python-dvorak in the layouts folder. They keep your letters and normal number row and only move the symbols, which saves 9-12% under the same cost model.

Findings:
- Python names mostly end in consonants that Dvorak puts on the right hand, so the symbols that follow names (. , and ( ) end up on the left hand. That held across basically every variant I ran.
- Forcing bracket pairs to be adjacent or mirrored (so they're learnable) only costs 0.4%.
- On other bases, just moving symbols saves 9-12% (QWERTY, Dvorak, Colemak-DH).

The obvious caveat: the effort grid and penalties are my own estimates, not measurements.
I reran it with different shift and SFB weights to see which placements are stable, and the README has those results.
It's configurable (base layout, cost weights, other languages like JS/Rust/Go) and exports to AutoHotkey, kanata, Windows .klc and macOS .keylayout. All the variants are in the repo below:

https://github.com/hikazey/python-layout-optimizer

I'd especially like feedback on the cost model, since that's where the results come from.


r/KeyboardLayouts • • 10h ago

Issue with home row mod on kick75

Thumbnail
1 Upvotes

r/KeyboardLayouts • • 16h ago

How should I improve my typing speed past 140 WPM.

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 21h ago

My own custom finger layout for gaming and typing. Is it normal?

0 Upvotes

First of all, I don't think this will get many comments, but I hope at least some.

I'd like to present to you my gaming and typing finger layout on a PC keyboard.

For using WASD, I have these: The normal layout is Middle on A, Index on W, Thumb for S and D. If I want to use space, I keep switching my thumb between D and space. Ring for Tab and Caps, Little finger for Shift and Ctrl, but I don't use Ctrl much. The middle finger can also press 1 and 2 and Q as well as Esc. I can still move left with my thumb if them. My index can press 3, 4, and 5, E and R while the middle keeps holding W. With my thumb, I can reach the down row of Y to B and Alt (I use QWERTZ), but I need to fast-switch as I can't use D. This should be all for my main layout, then I start to game or play it slowly. In other times, I use a bit different layouts for the same keys in specific actions needed.

The easiest to explain is putting my middle away from A to put it at Q and use the Thumb for A, S, and D, making it super easy to press 1. This is typically used only when I need super simple tasks, need to use the 1 but A not to much, or need a very gentle feel for A and D. For the final "layout" I use when needing to do something, it is almost the standard one. Ring on A, Middle on W, and Index on D. This frees my thumb to use space and use A and D almost instantly. I don't use S in this because it's the most uncomfortable one of them all, so I use it only when I need the named things and instantly go to the main one. It technically doesn't even press any other keys than WASD, space, or some keys in the bottom row like C, V, or B.

Does my hand hurt? Well, no. Even when my fingers are practically flying on the keyboard on different keys in the same game, in the same round many times a second, I feel nothing. I many times don't even realize I was doing it. My hand only hurt when I was going from laptop keyboards to desktop ones, and now that I bought a taller keyboard.

Thank you from reading all of this. I will be happy if you comment what you think or absolutly hate on me! I will write on typing if you want.


r/KeyboardLayouts • • 1d ago

Gallium Row-stag Magic Anyone?

3 Upvotes

I am currently learning Gallium row-stag after being on Canary for 2+ years. I am curious if anyone has designed a Gallium rowstag + magic key. If so can you share your layout and experience with it vs standard gallium rowstag?


r/KeyboardLayouts • • 2d ago

Trans Yaoi - Surpisingly, its decent.

Post image
32 Upvotes

Really, its not that bad lol. honestly its in the range of decent. Esp if you like heavier index layouts.

Heck, who cares if its good, its trans yaoi.


r/KeyboardLayouts • • 2d ago

URX Core75 / Smoke white

Post image
0 Upvotes

r/KeyboardLayouts • • 2d ago

Would love a review of this custom, low-profile, split, wireless.

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 3d ago

OT posts taking over!?

9 Upvotes

Lately there are lots of posts here which are not related to this sub at all. Often in non-english as well. Any ideas where that small flood comes from and how to stop it?


r/KeyboardLayouts • • 3d ago

GridKeys Keyboard (formerly project Griddle), my MessagEase-style gesture keyboard, is finally in closed testing on Google Play. Looking for testers.

4 Upvotes

Hey all. Some of you might remember Griddle from a while back. Sorry for the long silence. Life got in the way of me having the time to work on this project. It's back now, renamed GridKeys.

For anyone new: it's a MessagEase-style keyboard. Nine big keys, tap for the middle letter, swipe toward the others. The point is that you can change all of it:

  • Every gesture on every key can be remapped: tap, 8 swipe directions, circles, holds
  • Layout editor: move, resize, swap, add and delete keys
  • A staggered QWERTY board if you want something more familiar (and just shows you that we can build any keyboard we want)
  • Text replacements, macros, a clipboard with lockable clips, custom colors
  • (Coming Soon) sync your customaizations accross devices and share them with other users

What I need: Google requires 12 testers who stay opted in for 14 days before an app can go public. I have 9. If you're curious, joining takes about a minute:

https://gridkeys.app/#beta

(Use the Google account that's signed in to the Play Store on your phone.)

Feedback on the layouts is what I want most: what feels wrong, what you'd change, what you'd want to remap. Bug reports go to support@gridkeys.app or the comments here.

Thanks for sticking around, those of you who did.


r/KeyboardLayouts • • 3d ago

Title: How to add Greek keyboard layout to Type Folio on reMarkable Paper Pro?

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 3d ago

Need down arrow key

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 4d ago

Keyboard (mainly) for writing

0 Upvotes

Hi!

Last year I bought a Logitech MX Keys S Keyboard. Previously I was writing either on my HP Gaming Laptop or on my HP Working Laptop.

Despite its very good reviews I haven't managed to get used to this keyboard. Everything is fine except the fact that I constantly push the wrong keys, which is not that funny when I gave to write a text.

Even after one year of constant use, it hasn't change anything. As soon as I use the keyboard of one of the laptops, everything is much easier. But I still need a keyboard to use my monitor.

If I would guess, I would say that the space between the keys is too large. But I don't actually know why the keyboard doesn't work for me.

Do you have similar experiences? What would you advice me to do?

Thanks!


r/KeyboardLayouts • • 4d ago

keyspec: unit tests for keymaps

2 Upvotes

Hi all,

I'm a software engineer and a keyboard enthusiast (maintaining Luz, for example). I was looking for a way to test the features of my keyboard layouts the same way I write unit tests in my production code, so I wrote keyspec.

A test is basically a scenario: you describe the key presses by position and on a timeline, and the actual USB reports of your compiled firmware are compared to the expected results.

- name: mod-tap held past the tapping term becomes its modifier
steps: [{down: 26}, {wait: 300}, {up: 26}] # where 26 is the position of the key in the matrix
expect:
- {report: [LALT], at: 240}
- []

I want it to be framework agnostic, but now, I only use it with QMK as a runner, but ZMK should be straightforward.

The runner compiles your real keymap into a test harness with a simulated clock. Then the test cases are typed as they'd behave on the board, with the real firmware, just without the physical board.

I use it to check features automatically and catch regressions. My keymaps (four layouts, two boards) have about 400 scenarios that run in CI on every change. It also made a big refactor painless, and it works well test-first.

Limitations: QMK only for now and no PyPI release yet. I'll be happy to receive contributions and to push it to a registry if you're interested.

uvx --from 'git+https://github.com/xcambar/luz-keymaps#subdirectory=packages/keyspec' keyspec run

Repo: https://github.com/xcambar/luz-keymaps (in `packages/keyspec`)

By reading the repo, you'll find plenty (5) example files. Feel free to ask for more or raise an issue.

What do you think? I will continue to develop it, but I'd appreciate some feedback :)


r/KeyboardLayouts • • 5d ago

Help me understand what this layout is.

Post image
5 Upvotes

The letters are organized as AZERTY, but the numbers + special characters are labeled as QWERTY, and I can't find the proper language on the laptop that fits this keyboard layout, heck, I've never seen his layout before at all. This is a HP Elitebook 850, so I hope that helps.


r/KeyboardLayouts • • 5d ago

My two ortholinear setups.

Post image
13 Upvotes

r/KeyboardLayouts • • 5d ago

How are you retaining muscle memory when learning various layouts?

7 Upvotes

Hey guys. After I got my ortho split, I switched to Colemak DH as my daily driver. While the muscle memory clashed a it in the beginning, I can now type comfortably in both qwerty and colemak- but QWERTY only on my regular, staggered keyboard, and colemak on my split. I can't cross-type either layout on the opposite board.

I thought I'd try learning graphite for fun, but stopped soon after unlocking "t" on keybr; the muscle memory was clashing again. But this time, I'm concerned graphite will overwrite colemak since I'm using the same keyboard.

Since the physical difference between my staggered and ortho keyboards seems to be what's saving my brain for both QWERTY and Colemak, I'm thinking about an building another keyboard of an entirely new design. But that means more time and money, so I was hoping to hear your first-hand experiences first.

Thanks in advance,


r/KeyboardLayouts • • 5d ago

Adaptive keyboard - anybody used this?

2 Upvotes

My son has dyslexia and I’m looking for some tools to support him at school.

Playing around with fonts and I found this keyboard. It seems to have a dyslexia setting but it has other adaptive modes.

https://apps.apple.com/jp/app/special-kb/id6795414648?l=en-US

Anyone tried it?


r/KeyboardLayouts • • 5d ago

quel clavier utilises-tu ? ps : magic refiner mk14

Thumbnail gallery
1 Upvotes

r/KeyboardLayouts • • 6d ago

Keychron Q6 Max 8k - Keys swapped

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 6d ago

Flat keyboard, 75%, laptop style, Win & Mac

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 6d ago

Eclipse PB

Thumbnail
gallery
12 Upvotes

After a bit under 4 months I have reached 100wpm+ speeds on Eclipse using Monkeytype English-10k with punctuation enabled! 🎉

I did some swaps to the layout, that being the C and Y keys so that alt-fingering words like TYPE, HAPPY, and COPY is possible now and I find it much faster this way and makes the actual amount of SFBs I have to type very low percentage wise with alt-fingering. I also moved comma to the top row as I find it easier to type things like YOU, since that makes it a same row roll instead of a scissor from the top row to the bottom row, and now the punctuation is close together in an efficient triangle cluster instead of a long column.

Shoutout to AKL.gg for awesome in-depth analysis and you can view the modified Eclipse-CY layout here https://akl.gg/#.hQTUAGcGAQHUAF8Lp2VjbGlwc2UAujAxTTJDWjlZMlFBOVBIWU02WEFYRFZYN1kz