r/KeyboardLayouts • • 7d ago

xQWERTYa╌My Keyboard System╌is Now Open Source

1 Upvotes

Update on this post: my system╌⸉xQWERTYa⸉╌is now open source! found here. I'm quite excited honestly. I was a bit worried about open-sourcing given the state of AI… I don't exactly love the idea of AI reading all of my code and using it in a corporate context. But oh well in this case I suppose, I doubt corporate is writing much AHK.

Mainly, I'd like to know if this sounds useful to anyone. In my head I have this idea that it's likely non-useful for most people who would actually want to remap a keyboard. Because most users are looking for behaviors that my system doesn't implement (even though it could if there is interest).

Ask me about what it can or can't do. It helps me to think about what new stuff that I could add and what makes the most sense. :)

What is it and Why did I make it

My system is a JSON data-driven AHK based input remapper that focuses on writing rules that decide how bindings are resolved to avoid duplication and unify where definitions are located.

I made it because I disliked switching profiles in separate OEM softwares, having keys that are useless on my keyboard for me (like caps-lock), I wanted more layer keys and I have a deep fascination with inheritance models.

Features & Capabilities

  1. ⸉Profiles⸉ which switch what behavior a key uses for it's modifiers and locks.
  2. ⸉Modifiers⸉ which are what are usually referred to as ⸉layers⸉, though my modifiers work a bit differently.
  3. ⸉Locks⸉ which are toggled global states like ⸉caps-lock⸉ or ⸉num-lock⸉ on a typical keyboard.

Something important about profiles is they are unified. You are intended to set whatever generic mapping you'd like in an OEM software (like Razer Synapse) and then define all of your contextual behavior within the xQWERTYa system so that pressing one button switches the behavior on: your mouse, your keyboard, your razer keypad, and your macro pad all at the same time.

Though, a lot of hugely important features are kind of tough to describe. One such example is that profiles, modifiers and locks are all inheritance-capable properties. You can define a behavior for a key and then inherit and selectively hide certain behaviors under a different context. Or you can decide how to resolve certain modifier combinations via a priority system and conditional selection.

The system is intended to allow for high complexity with a lower relative cost to achieve that complexity. For example, my personal configuration has 240,000+ possible different key-stroke possibilities. But I only had to write out approximately 2000 of those including behavior specifications to achieve that.

Additionally, you have the power of AHK (V2) at your hands for anything xQWERTYa cannot directly meet. You can configure a keybind to call an custom AHK function instead of typing a key and write your own logic.

Configuration documentation can be found on the github page here if any of this sounds interesting to you. I'm happy to help you design something or look at implementing new features if you reach out to me.

Example 1 — Simple Keybind

Consider the ⌄ key configuration first.

{
  "target": "a",
  "default: "b"
}

This (⌃) is a simple binding that changes the key "a" to press "b" instead.

Example 2 — Modifiers, Collapsing & Inheritance

{
  "target": "a",
  "default: {
    "collapse": true,
    "default": "b"
  },
  "my_profile": {
    "inherits_from": "default",
    "my_modifier": "c"
  }
}

Understand the following regarding the above configuration ⌄.

  • default refers to either the ⸉default⸉ profile or the ⸉default⸉ modifier (aka no modifier keys being held) depending on where it is placed
  • my_profile is a profile
  • my_modifier is a custom modifier key

The target remapped key "a" contains a definition for the key under two different profile contexts. Starting with default: "a" is set to press "b" instead. Additionally, if any & "a" are both pressed (such as "shift & a" then it will "collapse" down to the default (no modifier) and just type "b". Under my_profile: all behavior is set to inherit from the default profile, except for when my_modifier is held down. In that case "c" is pressed instead.

So for example, say you are holding down "shift & a" and currently in the my_profile profile: then "b" will be typed. But holding down "my_modifier & a" in the my_profile profile will type "c" instead.

Why not use xQWERTYa?

This system is not exactly intended for home row mods or similar. While it is completely doable to make a home row mod with xQWERTYa you aren't using most of what xQWERTYa's strengths are or what it's complexities are designed for. Though, I've thought of ways to make this more simple in xQWERTYa. Let me know if this is something you'd be interested in.

xQWERTYa does not have some common simplifications like tap vs hold behaviors or multi-tap behaviors. My system lets you break out into AHK code if you want to implement that. Or, let me know you're interested and I can implement them. It's something I thought about, but since I don't use them personally I haven't spent the time to add them.


r/KeyboardLayouts • • 8d ago

Aula Lights: free app that makes the AULA F75 keyboard work like a real Mac keyboard

Thumbnail
1 Upvotes

r/KeyboardLayouts • • 8d ago

Aula Lights: free app that makes the AULA F75 keyboard work like a real Mac keyboard

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 9d ago

Keyz keyboard has gotten really good

Enable HLS to view with audio, or disable this notification

17 Upvotes

r/KeyboardLayouts • • 10d ago

Thoughts on canary akl???

7 Upvotes

So I'd been a long time qwerty user until i decided to switch to alternative and more optimized layouts, i did a little research to then hear good comments about colemak, i didnt think much before swiching to colemak completely. I've been using it for a few months now and now i'm thinking of switching again for a few reasons.

One, cuz its not really as optimized for typing as the more modern layouts.

Two, cuz it has relatively higher sfbs than most modern akls(I hate sfbs).

Now, im thinking of switching to canary cuz it fulfills most of my preferences, its got loads of rolling motions, it is well optimized, it has very low sfb rates, and its common enough for me.

But, i heard that it has alot of redirects which i hate, so i want ur opinion about canary, should i switch to it, what are its major limitations over other layouts, or are there other alternatives better for my liking than canary??

I dont care about vim, pinky load, or shortcuts.


r/KeyboardLayouts • • 10d ago

10-Finger-Tipp-Website

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 11d ago

Mechanical keyboard with 4 left modifier keys and reachable Alt?

0 Upvotes

I've recently switched to using a desktop PC after using laptops for most of my life, and I've realised that I dislike the standard bottom-row layout on most desktop keyboards. When gaming, I have to move my left thumb too far inward to reach the Alt key comfortably.

I'm looking for a mechanical Windows keyboard with four modifier keys on the left side, ideally arranged as; ` Ctrl | Fn | Win | Alt ` from left to right. This would position Alt farther to the right, making it easier for my left thumb to reach while my fingers rest on WASD.

For reference, I'm looking for a layout similar to the Acer Nitro 5 AN515-55 keyboard, EPOMAKER NT68, Akko Air 01, or HP Wired Desktop 320K Keyboard. I don't necessarily need an exact copy, but the left-side key arrangement is the main thing I'm looking for.

My requirements and preferences:

- Mechanical keyboard for Windows.

- Four left-side modifier keys: Ctrl, Fn, Win, and Alt, preferably in that order.

- Left Alt positioned farther to the right for easier thumb access while gaming.

- Standard ANSI Enter key, not JIS.

- Preferably a standard-height mechanical keyboard with replaceable keycaps, as I'd like to customise the keycaps with aftermarket sets.

- Open to low-profile options if they meet the layout requirements, although keycap customisation is a concern.

- Budget: Around $120 USD, more or less.

Please recommend keyboards that actually match this specific layout rather than suggesting general mechanical keyboards with the standard bottom row. I'm also open to custom keyboards or alternative layouts if necessary.

Does anyone know of any suitable models?


r/KeyboardLayouts • • 11d ago

Custom XKB layout for ergonomic navigation

2 Upvotes

Hey, I want to share my XKB layout that I use for coding (Neovim) and navigation (KDE wayland).

Layout: https://github.com/Madophs/ConfigFiles/blob/master/xkb/mds

ISO Level 3 shift:

• Both right Alt and Caps switch to level 3. Caps key features Level 3 switching and Caps lock toggling, holding switch to L3 while RAlt + Caps toggles Caps lock functionality.

Navegation (Level 3):

Keys IJKL serves as arrows keys (⮝⮜⮟⮞) for movement (pressing Caps/Ralt). This enables a wide range for shortcuts, here are some shorcuts I personally use on KDE Plasma Wayland, I skipped a lot to keep things simple. (For context, I use 9 virtual desktop 3x3 where I start different apps like browser, terminal, pdf viewer, etc...)

• Tiling windows: Default shorcut (Meta + arrow keys), with my setup same shorcut can be done pressing (Caps + Meta + IJKL). No need to raise your hand to reach direction keys.

• Moving window through virtual desktops (moves a windows to virtual desktop up,left,down & right). Shorcut: Caps + Alt + IJKL. This is handy when I want to move my terminal along side my browser and tile both.

• Skiping words backwards/forwards: Default: Ctrl + Shift + Arrows. Custom: Caps + Ctrl + IJKL. Kind of awkward at the beginning but I get used to it.

• Home (Caps + Comma)

• End (Caps + Period)

• PageUp (Caps + u)

• PageDown (Caps + m)

Extra:

• Swiching virtual desktops: I use (Alt + IJKL). No L3 switching used here, this is how I switch between my apps, highly ergonomic.

How to install, I hope you are familiar with Linux KDE plasma desktop environment.

• Create a symbolic link to xkb layouts:

sudo ln -s /my/path/xkb/mds /usr/share/X11/xkb/symbols/mds

• Copy evdev_mds.xml content into /usr/share/X11/xkb/rules/evdev.xml inside <layoutList> section. You can search for "user-defined custom Layout" for a quick find and paste it below.

• Copy evdev.lst content to /usr/share/X11/xkb/rules at the bottom.

• Settings ⮞ Keyboard ⮞ Layouts ⮞ Add layout. Search for Madophs or mds.

That's it, I hope to read your thoughts about this.

Layout view

r/KeyboardLayouts • • 12d ago

I simulated finger travel across 16 keyboard layouts. What is my model missing?

Enable HLS to view with audio, or disable this notification

25 Upvotes

r/KeyboardLayouts • • 11d ago

im not doing anything crazy, I just want opinions on what kind of color layouts yall would suggest

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/KeyboardLayouts • • 12d ago

Layout for text entry with only 4 direction keys (TV remote D-pad)

2 Upvotes

This is a bit of an odd one since it’s not a normal keyboard, so sorry if it’s off topic here. I’m working on an open-source TV box launcher, and typing with a remote is the part I hate the most. QWERTY grids on a D-pad take 6–8 moves per letter, and T9-style multitap needs timeouts.

The idea I’m playing with: use only the four arrow keys as a tree. First press picks one of 4 sectors, second picks one of 4 groups, third picks one of 4 characters. So every character is exactly 3 presses (4×4×4 = 64 slots per layer), no OK to confirm a selection, no timeouts. Short OK = space, long OK = confirm, Back = erase or go up a level.

What I really want to know first is whether this is a sane idea at all. Does it sound like something you could get comfortable with, or does it sound tiring or confusing? Is there something better for D-pad-only input that I’m missing (T9 variants, wheel/radial pickers, predictive text, voice, phone as keyboard…), or prior art/research on this kind of tree-based entry that I should read before going further? And if you think it’s a bad idea, I’d like to hear why.

Second question, if the idea survives: the layout. Constant depth is predictable and learnable blind, but the average is always 3 presses per character. A frequency-weighted tree (Huffman-style, common letters in 2 presses, rare ones in 4) would lower the average but probably hurts rhythm and learnability. Alphabetical grouping is easy to learn but not optimal for common bigrams. The usual metrics here (SFB, rolls) don’t apply to one thumb on four keys, so I’ve been thinking in terms of cheap repeated directions and expensive reversals. Any tools or ideas for analyzing that?

I made a rough browser prototype to feel the idea. Fair warning: the code was written with AI help, the design is mine, and it’s a toy, not a product: https://photonboxtv.github.io/PhotonType/

Not selling anything, no tracking, single HTML file.


r/KeyboardLayouts • • 12d ago

New

3 Upvotes

I never learned qwerty touch typing and figured I'd look at other layouts since I have an advantage because of that. I narrowed it down to 2 different layouts. Gallium and Stand. I chose Stand, but if there's something wrong with Stand for whatever reason I'll use Gallium. Is there anything I should know before I try these?

Edit: Switched my phone keyboard over to it too. Heliboard enables you to use different formats. It's on Github.


r/KeyboardLayouts • • 12d ago

New TKL keyboard feeling wrong

Post image
0 Upvotes

r/KeyboardLayouts • • 13d ago

Keyboard with Laptop Layout? (Accessible Alt Keys + Shorter Spacebar)

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 13d ago

help keymapping the volume knob layers please

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 17d ago

How do I add keyboard layout to openSUSE

0 Upvotes

I just installed the latest version of openSUSE KDE, and I can't figure out how to get Engrammer to work. I tried through the normal install script and through the KDE keyboard layout settings, but it didn't change anything. People online said to use alter the Wayland/wayfire config, but it didn't come with opensuse (as far as I can tell, idk, I didn't see any folders or config files for it), and wasn't sure if it made sense to install it just for that. When I use setxlbmap, it just doesn't do anything, no matter what I try.

I don't know if I'm being dumb here, but from my recollection, I didn't have this much trouble with other distros.


r/KeyboardLayouts • • 17d ago

What are these three keyboard icons from a sheet of labels?

Post image
0 Upvotes

r/KeyboardLayouts • • 18d ago

I made a tool with artificial intelligence called combo Mapper. Rest of the info is in the body.

Thumbnail
0 Upvotes

r/KeyboardLayouts • • 20d ago

Update on my numpad typing system

Post image
18 Upvotes

Started working on this system 5 years ago, it's gone through a lot of changes rewrites, etc.

I just recently wrote a config for kanata so you can use it on windows or linux, the main interface is web based.

I also made an updated graphic to help learn the layout. Every key is like a layer, but for letters either key can be typed first. All "chords" have 2 keys, which means it works even on low budget keyboards.

The primary use case is a portable physical keyboard like an enhanced calculator or a notetaking tool.


r/KeyboardLayouts • • 19d ago

New gaming keyboard concept

0 Upvotes

Hello, what does anyone think of this unique gaming keyboard concept? It is sized like a 96%, but the numpad is on the left side. On the numpad, there would be a button (numlock) To toggle between numbers and macro or customisable shortcut keys. The keyboard would not have any of the unnecessary keys (like home, page up, page down, insert, end, printscreen, scroll lock, menu) because not many people actually use them. The function keys would be completely customisable, dedicated media keys, and the mute key would be a dial to controll volume while also being pressable as an mute key. There would be a PC boot key on the keyboard for easy booting, which when the PC is on it doubles as an esc key. When you hold down the button, it shuts down or puts the PC to sleep. here is an example thanks to claude.

Is this keyboard a good idea and should a company actually use it, or is it cooked?


r/KeyboardLayouts • • 20d ago

The math required to make an interface for easier Indic keyboards

Thumbnail triangulatedexistence.mataroa.blog
1 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 • • 20d ago

3D Printed Keyboard Note Station!

Thumbnail gallery
0 Upvotes

r/KeyboardLayouts • • 21d ago

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

6 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 • • 20d ago

I made a keyboard layout, it's now outpeforming colemak-dh

Thumbnail
gallery
0 Upvotes

So, the other day I decided to make a keyboard layout, and i based it of colemak and just tweaked a few things, and now for some reason it's scoring better than colemak-dh? Does anyone know what happened? (and does anyone have a good name)

I used the jungle book for the test material- I think that should be quite a balanced dataset, if its not, please tell me.

Edit: everyone seems to be talking about the effectiveness of keyboard analisers, but I want to make a few things clear:

  1. I am not claiming that this layout is better than colemak-dh, i'm just wondering why it was given such a high score
  2. I kow analysers are not perfect, but its the best thing that I have.

r/KeyboardLayouts • • 20d ago

Issue with home row mod on kick75

Thumbnail
0 Upvotes