Poor documentation on labels which are used to describe keyboard shortcuts

I have a conflict between two shortcuts. I would like to dig into the .json files to change this, but I am slightly confused about the descriptions of some of the shortcuts. The one I would like to change uses “mod” which seems to correspond to the “command” key on a mac. If I wish to change this to “shift”, “control”, or “option” (on the Mac keyboard) what labels do I use? Some brief documentation on how shortcuts as specified in preferences / json files map onto the actual keyboard would be useful, in particular differentiating between PCs / mac / linux. Ta!! (NB I could probably solve this by trial and error, but some documentation would be lovely).

I can testify on mac that “shift” corresponds to the SHIFT key.

I think “ctrl” probably corresponds to CONTROL, and “alt” corresponds to OPTION

But it’s not completely straightforwards.

The documentation is generally poor, but it doesn’t need to explain well-known things. In this case, the correspondence of keys has been the same for decades, e.g. from support.apple.com:

Thanks. But it’s not clear to me that these will be recognised by logseq. Can I use either “Option” or “Alt” to refer to the OPTION key on the Mac? Does capitalisation matter? Also, the Apple help refers to the CONTROL key as “Control” or “Ctrl”, but Logseq seems to use “mod” to refer to this key, if you look at the .json files.

From file config.edn:

 ;; Syntax:
 ;; 1. `+` means keys pressing simultaneously. eg: `ctrl+shift+a`
 ;; 2. ` ` empty space between keys represents key chords. eg: `t s` means press `t` followed by `s`
 ;; 3. `mod` means `Ctrl` for Windows/Linux  and `Command` for Mac
 ;; 4. use `false` to disable particular shortcut
 ;; 5. you can define multiple bindings for one action, eg `["ctrl+j" "down"]`

Yes, it’s not completely straightforward, but the idea is briefly documented. I guess that the reason nobody bothers to improve this, is because the editing can be done directly from Settings > Keymap

Oh fantastic. I didn’t know there was this kind of help in the config.edn file. This is really detailed and helpful. Problem solved!