Remap Note Input Pitches

Hi, I’ve tried using Dorico for a while and it’s probably my favorite note input system in one of the big three notation app softwares(now four I guess). What I want to be able to do is input notes with one hand having the other hand free to move the caret. I can’t do that in dorico because, as far as I’ve gathered, you can’t customize the keys for pitches, and I’m using a Colemak input layout. Which means to reach one note(E) I have to use my right hand in a typing position. This becomes so arduous that I normally don’t even open dorico at the thought of having to input notes like that, and go straight to Guitar Pro, where I can input notes faster because it doesn’t require this kind of hand-jumping from me.

I’ve read this is because the pitch-keys are hardcoded into the engine and if that is so and there’s no possible fix on the horizon then so be it.
I’m using dorico 5 Elements, was thinking of upgrading several times but obviously as a tool I open less and less often because of this simple reason.

Best regards

You’re right! I had assumed it was possible. It may be possible to do so by editing the key_commands.json file directly – there have been lots of threads about doing this to achieve various non-standard configurations.

However, the fastest way for inputting pitches on any app is always going to be with a MIDI keyboard. You can buy something like the Akai LPK25, which has just got 2 octaves, for not much money at all.

1 Like

Thanks that’s interesting. I tried searching for threads about changing the note pitches but couldn’t find it. I’ll give it a try, maybe it’s possible through that.

I have a Nord Piano 3 in front of my desk at all times but I don’t like using it and a keyboard simultaneously. It’s not very ergonomic to reach for the keyboard at all times or have it in your lap. I like to have control of everything at the same time when writing.

It is definitely faster to write in Guitar Pro just using fretnumbers then hiding the fretboard, to just get notation. It’s probably unintuitive if you don’t have a good fretboard understanding, but it’s insanely quick.

Edit: So I tried editing the keycommands.json file but there were only like 5 different things bound in there(play/stop, octave up down) none of the input pitches seem to be bound there.

I have this controller. 2 things: 1) The keys are pretty narrow so it definitely takes time to get used to inputting notes with it and; 2) Limited to 2 octaves, it’s impossible to enter open chords (for guitar or choir, e.g.) without entering “chord mode” (Q) – completely annoying.

Yes: only changes are recorded there. You’ll need to find the underlying Dorico “Command” – you can do this by recording a script of pressing those keys, and looking at the text of the script. As said, there are lots of threads about editing the file directly (for various purposes). It’s possible that someone might provide you with the relevant snip of code to paste in, in due course.

“Other controllers are available.” You can pay $1000 for a keyboard, but by mentioning a cheap one, I was showing that price need not be an obstacle.

tiny bit out of context… I meant it was annoying to have to enter chord mode for large interval open chords, not that the keyboard was annoying. In fact, after getting used to the narrow keys, it’s a wonderful input tool.

Hi Vincenti,
if you are on Windows you could use an AHK script to do something like

w::e

that would remap E to W, that would probably suit you better.
I just tried it and it works very well, also with the modifier keys ctrl+alt and shift+alt.

It is also easy to add a toggle to turning the script on/off, for when you want to use the keyboard normally.

1 Like

You can, although as @benwiggy surmises, you have to edit the JSON file directly. (The key commands UI looks like you should be able to do this there, but I’ve never been able to get it to work.) If you’re not comfortable with JSON, then at a minimum you should make a backup copy of your current file.

To start, use the UI to add a key command for “Input Pitch”. Now open the JSON file. You should see a section labeled "context" : "kStepTimeInput", with your new shortcut inside. This is where you want to add all of the new ones.

I remapped all of the pitch keys so that they use the Z-M keys on the bottom row of the US keyboard. I also specifically deleted the original mappings to free up (and in some cases, reuse) those keys. Here’s what my mappings look like:

"context" : "kStepTimeInput",
"shortcuts" : [
    
    {
        "NoteInput.Pitch?Pitch=C" : [ "Z", "DELETE:C" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=D" : [ "X", "DELETE:D" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=E" : [ "C", "DELETE:E" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=F" : [ "V", "DELETE:F" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=G" : [ "B", "DELETE:G" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=A" : [ "N", "DELETE:A" ]
    },
    
    {
        "NoteInput.Pitch?Pitch=B" : [ "M", "DELETE:B" ]
    },

If you are using keys that aren’t already in use, then you won’t need the DELETE bits and will just have the new key name in the array. If you’re using keys that are in use elsewhere, you’ll need to remove those mappings, which you can do in the UI. I think what I did was to pick some basic command like opening the hub and try to add each desired to key to that command; if the key was already in use, Dorico prompted me to remove it from the current command.

There’s a little bit of trial and error here until you get what you want, and I think you need to restart Dorico in between to get it to read the file. Keep in mind that if you suddenly find that no key commands are working at all, it’s because there’s a JSON syntax issue in your file. It helps to keep copies of things as you go.

3 Likes

This an absolutely incredible write up. I’m deeply grateful

1 Like