wellum
wellum copied to clipboard
36-key callum-based QMK keyboard layout
Wellum — 36-keys callum-styled keyboard layout
Эта статья также доступна на 🇷🇺 Русском языке.
Table of contents
- About firmware
- Terms
-
Keyboard layers
- Base layer
- Symbols
- Navigation
- Numbers and F-keys
- Special symbols
- Gaming layer
- Additional info
- How One-shot Sticky Modifiers work
- How Swapper and Tabber work
-
How to install?
- How to create LAYOUT_split_3x5_3?
About firmware
The firmware/layout is intended for use with Universal Layout - a system-wide layout for Windows, Linux, and macOS. On the project page, you can find all the necessary instructions for installing and modifying this layout.
The firmware/layout is based on callum and works on QMK, which is designed for wired keyboards. A version for wireless keyboards that work on ZMK is currently under development.
Terms
- Modifiers: Shift, Ctrl, Alt or Gui
- Layer keys: SYM or NAV
Keyboard layers
- Hold SYM to activate the symbols layer.
- Hold NAV to activate the navigation layer.
- Hold SYM and NAV together to activate the numbers layer.
- Hold ALT to activate the special symbols layer.
Base layer
Don't worry! Letters Ё, Ъ and Щ are placed on ALT layer.
Symbols
Navigation
On the left half, there are the Game Layer, Print Screen, and various macros:
Key | Macro |
---|---|
SW TAB | Swapper (for windows in Windows/Linux) |
SW WIN | Tabber (for tabs in browser and terminal) |
PREV TAB | Ctrl + Shift + Tab |
NEXT TAB | Ctrl + Tab |
SPACE LEFT | Ctrl + Gui + Left |
SPACE RIGHT | Ctrl + Gui + Right |
On the right half, there are Vim-like arrow keys, Home/End (on top), and Page Up/Down (on the bottom).
The Escape, Enter and Tab keys are duplicated on both halves, which is convenient for use in various software and editors where only the left hand is on the keyboard while the right hand holds the mouse.
Numbers and F-keys
Special symbols
The Russian letters that did not fit into the 2x15 grid and various symbols, many of which are arranged mnemonically, are placed in a layer:
Symbol | Input method |
---|---|
Ё | Alt + Е |
Ъ | Alt + Ь |
Щ | Alt + Ш |
₽ | Alt + Р |
In place of the space is located the non-breaking space character, which prevents text from being divided between lines only at that point, and instead forces the entire group of adjacent words to move to the next line together.
The ALT layer also includes <
>
«
»
[
]
(available for both languages) and the =>
ligature, which is convenient for developers.
Gaming layer
WASD is shifted one column to the right to accommodate Tab, Shift, and Ctrl in almost familiar positions. This is also relevant for ergonomic keyboards due to the vertical offset of the keys, where the key under the middle finger is higher than the others.
Additionally, the layer with numbers contains two rows of digits and frequently used gaming keys:
Key | Description |
---|---|
G | Grenade |
J | Journal |
I | Inventory |
M | Map |
T | Chat |
How One-shot Sticky Modifiers work
When you hold layer key, modifiers will be added to a queue and remain pressed until some non-modifier key or layer key is pressed.
For example, to press the Windows Gui key without any combinations, you need to:
- hold down the layer key
- press the Gui modifier
- release the layer key and press it again.
And if you need, for example, to press the Ctrl+Shift+T combination, you have several options:
- The first one:
- Hold down the SYM layer key.
- Type the K (Ctrl) and J (Shift) modifiers in any sequence.
- Release the SYM layer key.
- Type T.
- The second one:
- Hold down the NAV layer key.
- Type the D (Ctrl) and F (Shift) modifiers in any sequence.
- Release the NAV layer key.
- Type T.
As soon as the T key is pressed, the queue of modifiers will be activated, cleared, and the Ctrl+Shift+T combination will be entered.
Moreover, if you hold down the modifier keys but release the layer key, the modifiers will remain held down, allowing you to use them in combinations with keys from the other half of the keyboard.
How Swapper and Tabber work
The Swapper key NAV+W and the Tabber key NAV+Q are macros for Alt+Tab and Ctrl+Tab, respectively. When pressed, they leave the Alt or Ctrl modifiers held down.
Thus, by pressing W and Q again, you can switch between windows in Windows, tabs in a Web Browser, or Terminal.
These keys are compatible with the Shift modifier, which allows you to reverse the direction of window/tab switching.
How to install?
To build the firmware, you will need the latest version of QMK.
- Copy the contents of the
firmware
folder to the<your_keyboard>/keymaps/wellum
folder. - Build and flash with the standard build/flash command for your keyboard, specifying the ':wellum' variant.
- If
LAYOUT_split_3x5_3
is not defined for your keyboard ininfo.json
, you need to create it yourself. Follow the instructions below. - Install Universal Layout for your OS.
How to create LAYOUT_split_3x5_3?
For the firmware build, keymap.c
relies on LAYOUT_split_3x5_3
, but it may not be defined for most keyboards.
To fix this, you need to duplicate your current LAYOUT_split_***_*
and name it LAYOUT_split_3x5_3
.
After that, you need to remove the keys that do not fit into the new grid.
For example, for LAYOUT_split_3x6_3
, you need to remove the rows corresponding to the far left and far right columns.
In total, the layout
array should have exactly 36 elements.
"LAYOUT_split_3x6_3": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0.25 }, // far left, delete
{ "matrix": [0, 1], "x": 1, "y": 0.25 },
{ "matrix": [0, 2], "x": 2, "y": 0.125 },
{ "matrix": [0, 3], "x": 3, "y": 0 },
{ "matrix": [0, 4], "x": 4, "y": 0.125 },
{ "matrix": [0, 5], "x": 5, "y": 0.25 },
{ "matrix": [4, 0], "x": 8, "y": 0.25 },
{ "matrix": [4, 1], "x": 9, "y": 0.125 },
{ "matrix": [4, 2], "x": 10, "y": 0 },
{ "matrix": [4, 3], "x": 11, "y": 0.125 },
{ "matrix": [4, 4], "x": 12, "y": 0.25 },
{ "matrix": [4, 5], "x": 13, "y": 0.25 }, // far right, delete
{ "matrix": [1, 0], "x": 0, "y": 1.25 }, // far left, delete
{ "matrix": [1, 1], "x": 1, "y": 1.25 },
{ "matrix": [1, 2], "x": 2, "y": 1.125 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [1, 4], "x": 4, "y": 1.125 },
{ "matrix": [1, 5], "x": 5, "y": 1.25 },
{ "matrix": [5, 0], "x": 8, "y": 1.25 },
{ "matrix": [5, 1], "x": 9, "y": 1.125 },
{ "matrix": [5, 2], "x": 10, "y": 1 },
{ "matrix": [5, 3], "x": 11, "y": 1.125 },
{ "matrix": [5, 4], "x": 12, "y": 1.25 },
{ "matrix": [5, 5], "x": 13, "y": 1.25 }, // far right, delete
{ "matrix": [2, 0], "x": 0, "y": 2.25 }, // far left, delete
{ "matrix": [2, 1], "x": 1, "y": 2.25 },
{ "matrix": [2, 2], "x": 2, "y": 2.125 },
{ "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [2, 4], "x": 4, "y": 2.125 },
{ "matrix": [2, 5], "x": 5, "y": 2.25 },
{ "matrix": [6, 0], "x": 8, "y": 2.25 },
{ "matrix": [6, 1], "x": 9, "y": 2.125 },
{ "matrix": [6, 2], "x": 10, "y": 2 },
{ "matrix": [6, 3], "x": 11, "y": 2.125 },
{ "matrix": [6, 4], "x": 12, "y": 2.25 },
{ "matrix": [6, 5], "x": 13, "y": 2.25 }, // far right, delete
{ "matrix": [3, 0], "x": 3.5, "y": 3.25 },
{ "matrix": [3, 1], "x": 4.5, "y": 3.5 },
{ "matrix": [3, 2], "x": 5.5, "y": 3.75 },
{ "matrix": [7, 0], "x": 7.5, "y": 3.75 },
{ "matrix": [7, 1], "x": 8.5, "y": 3.5 },
{ "matrix": [7, 2], "x": 9.5, "y": 3.25 }
]
}