Because more and more people start to receive and customise their keyboards, a thread that collects people’s layouts others can learn or borrow from seems like a good idea. So here we go! Share what you have - or plan to have!
For visual representation, one can use the online Keyboard Layout Editor by forking the blank template. This is only for visuals, mind you, but a picture of a layout can tell a lot more, a lot easily, than looking at code or reading its description.
My personal sketch is a complicated one, with over a dozen plugins used, and some complex, perhaps unorthodox behaviour here and there. It has very little in common with the factory firmware, so it is not for the faint of heart.
At the moment, I’m using a Dvorak-inspired layout:
At some point in the not so distant future, I’m planning to switch to my own layout dubbed
ADORE (still a work in progress):
More details about how the layout works, what some of the keys do, are explained in its
README over on GitHub:
Here’s my layout - I don’t have the keyboard yet, so it remains hypothetical
Based heavily on @algernon’s layout
This is still a work in progress, but here’s my layout so far…
It’s technically qwerty, intended to be remapped to dvorak via the OS. This allows it to be used at the same time as another keyboard (such as the one built into a notebook) with both still being dvorak. The legends shown are after the OS does its own remapping.
The idea is to have dvorak with the keys as close as possible to the traditional dvorak layout I’ve been using for decades. And inverted T navigation keys. Although I use vim, I never got along with the homerow vim navigation keys because they’re a mess in dvorak.
The Insert key may seem a little strange, but I use Shift-Insert a lot to paste into terminals. I’ll probably eliminate the Numlock/F11 key too, but I’m not sure what to do with it. And there are a bunch of keys with no Fn mapping; not sure what to do with those either. It’s a bit uncomfortable doing some of my common hotkeys, but I’ll figure that out eventually too.
The lightning key is Hyper (or the “win” key), and the flame key is Alt. Moon and Venus currently do nothing, since I’m not used to having keys there and I don’t know what to assign to them.
Oops, I just created another topic discussing some layout-y things (it’s here). I didn’t see this thread or I probably would have put it here in the first place. I suppose it’s not quite on topic for this thread (I don’t have a complete layout to share), but I’m just starting with thumb key choices. I notice that all the layouts in this thread so far still keep the default position of Backspace - is there a good reason for this? Has anyone considered moving Backspace to somewhere else (even a different thumb key)?
Here’s a diagram with my currently-proposed thumb key layout. As a caveat, I haven’t tried it yet - it’s strictly theorizing.
In case anyone wants to use it as a template (for key placement, mainly – I doubt anyone else would want my wacky layout), here’s the KLE layout for the Model 01 I did a while back.
Why cherry rather than either of the maples offered?
Because those “maple” textures don’t look like maple, and do look generally awful.
Now that I’ve had a day or so to dink around with it, here’s my layout – mostly a default Dvorak layout, with some tweaks:
- Red legends are with the Fn key held
- The lower characters on the outmost 3 pairs of arc keys are what you get with a tap; the middle legends are the modifier when held. (Space cadet keys, basically.)
I still have all the default mouse, numlock, and media controls in place but they’re not marked.
The bottom two keys in col 1 currently don’t have anything bound to them in the default layer, because my left hand continues to think that control is to the right of the
A key. Until I get it trained better, I figured it’s better to just let that key do nothing.
The .ino file for this layout is in my fork of the
Model01-Firmware repo: https://github.com/genehack/Model01-Firmware
After two days of tinkering and testing different layouts I decided on the following layout (for now)
- As I couldn’t easily reach the shift buttons in the original config I swapped them with the control buttons.
- I moved the volume up and down and the mute button to an easier to remember location
- The LED and ANY key have been reassigned to HOME and END and to PageUp and Down with the function keys pressed
- The original PageUp and Down are now the SHIFT and CONTROL (and CapsLock with the function key)
- I swapped the left alt and the command key
I’m still thinking about changing the arrow keys as I find it difficult to do fast word and line selects with the current location.
I’m still experimenting with a bunch of changes, mostly to help out with my DeQuervain’s, but also trying to cut down on destructive mistakes:
Compared to the default the main changes are in the modifier keys, replacing numlock (which I never use) with a more traditional
\| key, and swapping tab and backspace, which is my most recent change and what I’m getting used to but my reasoning behind that is that accidentally pressing tab (especially in conjunction with cmd) is generally less of a problem than accidentally pressing backspace. Also, many years ago I had a DataHand and so my brain keeps on expecting tab to be where backspace is normally.
The other modifier changes I made: shift is way more useful so it’s the innermost one, so it doesn’t exacerbate my DeQuervain’s; I swapped shift and ctrl on the left hand, and on the right hand shift goes where ctrl was, alt is where shift was, and ctrl is where alt was. The asymmetry between the two ctrl keys takes a little getting used to but this layout seems to handle my heavy use of the ctrl keys (in text editors, where I use ^A, ^E, ^K, etc. a lot) and on Macs you tend not to use alt much. Although this makes paging through active channels in Slack and Discord a bit less convenient.
Oh, and the butterfly key became a cmd, because it’s useful to have a cmd key on both hands.
I haven’t made any changes to the alternate layers. This means that Fn-tab is how I press delete. I’d change that but I still like the idea of the mouse keys (even though I never use them) so I’m not quite ready to make that change. Anyway, chording fn is enough of a deliberate thing that it’s not like I’m pressing del by mistake.
My firmware fork is available at https://github.com/fluffy-critter/Model01-Firmware if anyone else wants to use mine as a starting point for whatever reason.
How did you create that image? It looks like a tool did it for you. I was just thinking how nice it would be if a tool could create an image from the *.ino file.
I believe that’s a screen capture from the keyboard layout editor site. There is a project in the works to allow you to edit your keymap in a GUI, though - search for mentions of Crysalis.
I wrote a tool to edit the .ino file and the images are screenshots of that tool. This was easier (and more fun) than to edit the .ino file in a text editor. I didn’t know about Crysalis when I started with this tool.
For my layout I wanted to try to keep most of the keys I use frequently in places similar to where they are on traditional keyboards since I’ll be switching back and forth a lot. My fn layer was informed largely by my recent use of the Pok3r, as I got pretty comfortable with its placement of arrow keys, navigation keys, etc. I just couldn’t get used to the VIM-style arrow keys, which I found terribly unintuitive after a lifetime of the inverted T setup. I added an inverted T for each hand’s home row so that I can use arrow keys easily from either hand, as I usually prefer to use my right hand but sometimes move the cursor while I’m using a mouse. I had no desire to use the keyboard to move my mouse, so I ditched the mouse keys pretty quickly.
I struggled with placement of the Enter key for some time, because I found it a stretch to hit the key with my right index finger. I ended up putting enter on the left pgup key which is similar to a typical keyboard, but with the opposite hand.
I also made the bottom outer corner keys shift keys so that I can leverage my existing muscle memory for a lot of the shortcuts that I frequently use, but I also kept shift keys on the thumb clusters. (maybe this is just a waste of two keys, as I tend to use the thumb keys more, but it makes certain shortcuts like shift-alt-tab for switching backwards an app in Windows far easier for me.
I made num the -_ key, and led and tab became page up/page down. Any is play/pause and butterfly is a delete key which is handy, for instance, when deleting things in Windows Explorer as this makes shift-delete an easy combination.
I actually found it much more comfortable when I switched to using my thumb to hit the enter & butterfly keys. I was getting some pain from stretching to use my index finger and the curvature of the keycaps actually guides the thumb in really well.
That’s a good idea… The butterfly key would be easy to hit with the thumb. That might be a really good place for the enter key!
Also, I’ve been experimenting with some O-rings, like the kind used for dampening cherry compatible keycaps. I have put some under the fn keys and the butterfly and esc keys which raises them up about a millimeter. That makes it a little easier to press those keys, I think, without interfering with other keys. (I don’t think it changes the sound one bit whatsoever, though.)
Here’s my (incomplete) german neo2 layout! All I need is layers 3 and 4 added to the regular layout plus function keys. It was actually pretty easy to do - thanks to all the good resources.
This works in Ubuntu 16.04. And yes, for a reason that can’t explain, the “ü/ö/ä” are mapped as “left bracket/semicolon/quote”…
In case it helps someone: https://github.com/chrisSCM/keyboardio (I will finish layers 3+4 asap, it will be hard to find all the names of the characters, though and I guess I’ll have to remap some keycodes.)
EDIT: Did some more shuffling of the keys, added a trackball and the 3rd neo2 layer. Quite happy now and getting faster and more comfortable with the typing.
What do you actually type to generate an umlaut like ü? Or, more precise, how do you generate the umlauts in the firmware? Do you use Neo 2 as system layout or do you intent to support it completely in hardware (firmware) thereby leaving the OS on a standard setting like US or DE?
I am also german. Although I am fairly accustomed to write ue instead of ü (after having spend so much time in environments without umlaut support), sometimes I have to type those stupid umlauts.
Recently I switched to EurKey layout as a basis for my custom firmware layout. This enables me to directly generate umlauts without any need for unicode fiddeling. EurKey uses e.g.
AltGr+u to generate a ü. Fortunately, EurKey is also very close to US standard layout (in fact it is US layout if you don’t use the AltGr stuff) that I can use my keyboard(s) on every standard US machine, of course then without umlauts.
One more question: How do you generate those nice stickers shown in the picture?