Custom Keyboard Shortcuts for any Command

First I like to thank all the developers of Joplin! Such a nice software! I found it two days ago and I am enthusiastic about the functionality and usability! Thank you : )

My Question:

Usually I use all typical functions of an application for notes without the mouse, just with my hands on the keyboard. Because it's the fastest and easiest (for me).

There are several commands without Shortcuts.
Example:
Heading 1
Heading 2
Heading 3

Do you plan to offer an interface for the configuration of keyboard shortcuts for any command?

I would appreciate it a lot :slight_smile:

Until: is there any way to add a shortcut in a text configuration file right now?

Thanks : )

For headings there are two ways depending on what editor you are using. Obviously in the Markdown editor you just use #'s.
In the richtext editor it (mostly) follows the shortcuts for TinyMCE
e.g. (windows/linux)
Header 1 Alt+Shift+1
Header 2 Alt+Shift+2

Pretty much any of the commands that you can find in the command palette can be added as a keyboard shortcut. In your profile directory (help > open profile directory) you can define custom shortcuts in the keymap-desktop.json file (although you may need to create a custom shortcut in settings > keyboard shortcuts or export your existing ones to get an example file to alter.

Thanks for your help : ) The shortcuts für headings work fine.

Now I have to find the shortcuts for bulleted list, ordered list and checklist.

They are not in "tiny.cloud/docs/advanced/keyboard-shortcuts/"

You mentioned the keymap-desktop.json file.

"although you may need to create a custom shortcut in settings > keyboard shortcuts or export your existing ones to get an example file to alter"

But where please can I find the correct code for commands, which are not part of "settings > keyboard shortcuts".

Independent of that: May I suggest something?

For a better usability it may be useful, if

1 every toolbar icon shows the corresponding shortcut, when you hover it.

2 the menu commands should depend on which editor is active. only those should be shown, which work (no grayed out ones).
at the moment the command "bold" ist black and the command "Insert link" is grayed. But both shortcuts work in the richttext editor.
That is confusing.

3 in the documentation of joplin for shortcuts there could be 2 rows, one for the markdown editor and one for richttext editor. To make clear, that there are differences.

Ctrl + Shift + 7 = Numbered list
Ctrl + Shift + 8 = Bullet list
Ctrl + Shift + 9 = Check box

I'm referring to Joplin commands which aren't the same as the text formatting things, if you press ctrl + shift + p you open the command palette and you can see the complete list (however some of them don't work as a shortcut because of weird context related things).

I disagree with this, I don't think this is standard and the app already shows the shortcuts in the Edit menu.

However, this is a problem because the above only works for the markdown editor.
It has been acknowledged that there is still a lot to be desired for the richtext editor integration into Joplin, to the point where we did have it as an idea for this year's GSoC (but was not picked up).

I think we would prefer to not put in "interim" workarounds in lieu of a proper fix in fear that it just gets left as "good enough" forever.

1 Like

Thanks : ) But where could I find such informations please for myself?

And how can I change those bindings?
In the command palette those commands do not appear. Neither those for headings.

Thanks for those aspects. I hope there will be a better integration/documentation of the richtext editor in the future. I love to use that editor.

I honestly can't remember where I found out about them originally.
Here is where they are defined in the source code (I'm fairly sure at least) if you are interested - https://github.com/laurent22/joplin/blob/864a3a7efe294c21b2d7ce0a55876af89d65f9f7/packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx#L640-L642

You can't, at least not the TinyMCE commands, I think there is some binding of some of the Joplin commands to the TinyMCE commands but they aren't complete and at the moment they aren't exposed to Joplin in the same way.

Thanks a lot for your help.

That's really bad news : (

Do you think there's a chance, to manipulate config files directly in the TinyMCE? Than I would ask the developers of TinyMCE.

I don't think the TinyMCE devs would be able to do anything because the editor is embedded within Joplin. It is something that is on the radar so PRs would likely be accepted if somebody is willing to do it.