Closed precondition closed 2 years ago
This is excellent, thank you! It also solidifies some of the stuff that I was just making up like key_range: [36, “+”]
— technically true but I think folks will understand that it could run on more physical keys but doesn’t map them. I wasn’t sure if we’d encounter a key map with an actual range like 36-42, and wanted to be able to search on that range matching. As just one example.
Going to start moving this to the code, which tbh needs a little work to better define the columns. Then I’m planning to make a data validator script so that changes don’t break the site.
I am realizing that a Google Docs Spreadsheet might contain all the searching and sorting logic we might want (instead of building a site) but could we start collecting key maps in a GDocs spreadsheet and invite others to it? It’ll be easier than me trying to fill it in manually myself on my free time — then I can focus on the site JS
I'd add a way to define combos and also leaders.
Something like that
{
"combos": [
{
"keys": ["a", "b"],
"action": "close private browser windows"
}
]
}
@graseggergh We're just collecting links to people's keymaps, we don't really care what specific action do their combos make, that is all explained in detail in their keymap files to which we plan to link.
@precondition I'll release what I've got now for the published site, and then begin implementing your suggested columns today + this weekend.
@precondition How do you feel about changing "keyboard" to be an array[categorical]
(to use your wording) with a special value of "Many" for things like Miryoku?
How do you feel about changing "keyboard" to be an array[categorical] (to use your wording) with a special value of "Many" for things like Miryoku?
@mathias In the majority of cases, the keymap link will be something along the lines of https://github.com/user/qmk_firmware/blablabla/keyboards/name_of_keyboard/keymaps/user/keymap.c which means that the keymap is tightly tied to name_of_keyboard
. Miryoku is really quite exceptional in the way it is setup and shouldn't be regarded as the archetypal keymap folder. Consequently, the keyboard
field/column should just be a categorical
and probably include a "Many" category for keymaps which are programmed to be easily applied to many different boards.
That works for me. Seniply also supports many keyboards so I listed out a few that we’d care about (kept the staggered row keyboards out of the list) but that is also a candidate for “Many”
The good thing is that we also have "keyCount", "split" and "stagger" fields so we don't really need more precision than "Many" for the "keyboard" field. keyboard="Many" + stagger="row" + split="no" + keyCount=61
already gives a good idea of what those many keyboards can be :)
Closing in favour of https://github.com/precondition/keymapdb/blob/main/db_fields_reference.md
Here are the possible fields that we can use to describe each keymap in the database. This is still in brainstorming phase so there are potentially some not-so-good ideas that we will weed out later.
From most important to least (roughly):
"https://github.com/alvaro-prieto/corne"
"alvaro-prieto"
"https://i.ibb.co/RQZx2dY/default-kyria2.jpg"
36
102
255
"ZMK"
"Kaleidoscope"
"KMonad"
["AZERTY"]
["BEAKL"]
It's not rare to come across a keymap that has multiple base layouts hence the use of an array for the data type. However, if the main base layer of a keymap is Dvorak and it implements a QWERTY gaming layer, that doesn't mean QWERTY gets added to the array. Especially so, if it shifts QWERTY to the right to make WASD more comfortable on columnar stagger boards.
"Kyria"
"UHK"
"Dactyl Manuform 5x6"
array[categorical]
instead? For example, Miryoku works on atreus, ergotravel, for_science, gergo, handwired/dactyl_manuform/4x5, handwired/dactyl_manuform/5x6, keebio/iris, keyboardio/atreus, kyria, lily58, moonlander, redox_w, sofle, torn, ..."columnar"
"ortholinear"
"depth"
Often, people group ortholinear and columnar stagger together, should we do the same?
False
["Japanese", "English"]
["ru", "en", "gr"]
"OS independent shortcuts, custom modifier keys, RGB themes, key sequences, and much more."
"A combo-based layout for Ergonomic Keyboards, implemented in QMK"
["MacOS", "Windows"]
["Linux"]
"http://thedarnedestthing.com/thumb%20h"
"Russian (phonetic)"
False
baseLayout
field so it's most likely redundant.8
32 (max)
image
was created.False
COMBO_ENABLE
in therules.mk
file in case of a QMK firmware keymap. Search for the equivalent if the firmware is different.False
TAP_DANCE_ENABLE
False
AUTO_SHIFT_ENABLE
False
LEADER_ENABLE
False
keyCount
field so not entirely necessary.False
False
False