Note input shortcuts

Were you on a different build with different syntax? I had the same problem, but my layout is based on english layout.
After some investigation, I discovered that your file includes some syntax that my dorico 1.010 won’t read.

Here is from your file:

Here is from my default file:

The same counts for octave up and down. After changing this, it worked fine.

My file contains so many customized shortcuts (because of my norwegian layout), so I think it is more of confusion than help if I upload the file here to others.

EDIT: After a few hours, I really enjoy these new key commands over A-G which I have used since the release! It feels so great on my laptop that I regret buying a new midi keyboard :frowning:

EDIT 2: The octave above/below commands had some strange behavior, so I removed them for now.

Whoops, that’s my fault. Those commands are new to Dorico 1.0.20, which is of course not yet available (but will be this week). This file will start working more sensibly in 1.0.20, though you can make Anders’s edits in the meantime if you wish. Do be careful editing these JSON files by hand, as JSON is notoriously easy to bust (a stray comma at the end of a list of array elements is all it takes).

Hey Daniel,

this is a really old thread, but I’d like to use the keycommands which are described here.
Could you re-upload your file? Or better, could you post the lines to insert into the json file?

Thank you very much!

I’ve not tried this recently, but I think you should be able to use something like this:

NoteInput.Pitch?Pitch=C&Type=kSharp&OctaveValue=4

The value of Type should be kNatural, kSharp, kFlat, etc. OctaveValue should be a number corresponding to the octave in which the note should be input, where middle C (MIDI note 60) = C4.

You’ll need to manually edit your key commands JSON file to include these kinds of commands; there’s no way to set them directly within the Key Commands page of Preferences.

Thank you, Daniel.

I managed it at least. One have to say:
1.) these changes has to be placed into the “kStepTimeInput” context
2.) Different other affected shortcuts must be set to deleted.

Just for the people who is interested to try it by themselves: this is my file. Yours could be different. Especially some additional changes to the Numpad are kind of personal (I’ve made the numpad working like in Sibelius)

{
	"common" : {
		"contexts" : [
			
			{
				"context" : "kGlobal",
				"shortcuts" : [
					
					{
						"View.ZoomIn" : [ "Ctrl++", "DELETE:Ctrl+=", "DELETE:Z" ]
					},
					
					{
						"View.ZoomOut" : [ "DELETE:X" ]
					}
				]
			},
			
			{
				"context" : "kStepTimeInput",
				"shortcuts" : [
					
					{
						"NoteInput.Pitch?Pitch=A" : [ "H", "DELETE:A" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=B" : [ "J", "DELETE:B" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=C" : [ "A", "DELETE:C" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=D" : [ "S", "DELETE:D" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=E" : [ "D", "DELETE:E" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=C&Type=kSharp" : [ "W" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=D&Type=kSharp" : [ "E" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=F&Type=kSharp" : [ "T" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=G&Type=kSharp" : [ "Z" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=A&Type=kSharp" : [ "U" ]
					},
					
					{
						"NoteInput.MoveRight" : [ "DELETE:Num+Right" ]
					},
					
					{
						"NoteInput.SlurStop" : [ "DELETE:Shift+S" ]
					}
				]
			},
			
			{
				"context" : "kWriteMode",
				"shortcuts" : [
					
					{
						"NoteEdit.RespellUsingNoteNameBelow" : [ "Alt+Y", "DELETE:Alt+-" ]
					},
					
					{
						"NoteEdit.RespellUsingNoteNameAbove" : [ "Alt+X", "DELETE:Alt+=" ]
					},
					
					{
						"NoteInput.SetArticulation?Value=kAccent" : [ "Num+/", "DELETE:[" ]
					},
					
					{
						"NoteInput.SetArticulation?Value=kStaccato" : [ "Num+*", "DELETE:]" ]
					},
					
					{
						"NoteInput.SetArticulation?Value=kTenuto" : [ "Num+-" ]
					},
					
					{
						"NoteInput.SetArticulation?Value=kStaccatoTenuto" : [ "-" ]
					},
					
					{
						"NoteInput.SetDotted" : [ "Num+,", "DELETE:." ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kSemibreve" : [ "Num+6", "DELETE:8" ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kMinim" : [ "Num+5", "DELETE:7" ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kCrotchet" : [ "Num+4", "DELETE:6" ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kQuaver" : [ "Num+3", "DELETE:5" ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kSemiQuaver" : [ "Num+2", "DELETE:4" ]
					},
					
					{
						"NoteInput.NoteValue?LogDuration=kDemiSemiQuaver" : [ "Num+1", "DELETE:3" ]
					},
					
					{
						"NoteInput.SetAccidental?Type=kNatural" : [ "Num+7", "DELETE:0" ]
					},
					
					{
						"NoteInput.SetAccidental?Type=kSharp" : [ "Num+8", "DELETE:=" ]
					},
					
					{
						"NoteInput.SetAccidental?Type=kFlat" : [ "Num+9", "DELETE:-" ]
					},
					
					{
						"NoteInput.SlurStart" : [ "DELETE:S" ]
					},
					
					{
						"NoteInput.Tie" : [ "Num+Enter", "DELETE:T" ]
					},
					
					{
						"NoteInput.PitchBeforeDurationToggle" : [ "DELETE:K" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=A" : [ "DELETE:A" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=B" : [ "DELETE:B" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=C" : [ "DELETE:C" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=D" : [ "DELETE:D" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=E" : [ "DELETE:E" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=F" : [ "DELETE:F" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=G" : [ "DELETE:G" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=X" : [ "DELETE:Y" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=A&Up=true" : [ "DELETE:Shift+Alt+A" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=B&Up=true" : [ "DELETE:Shift+Alt+B" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=C&Up=true" : [ "DELETE:Shift+Alt+C" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=D&Up=true" : [ "DELETE:Shift+Alt+D" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=E&Up=true" : [ "DELETE:Shift+Alt+E" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=F&Up=true" : [ "DELETE:Shift+Alt+F" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=G&Up=true" : [ "DELETE:Shift+Alt+G" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=A&Down=true" : [ "DELETE:Ctrl+Alt+A" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=B&Down=true" : [ "DELETE:Ctrl+Alt+B" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=C&Down=true" : [ "DELETE:Ctrl+Alt+C" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=D&Down=true" : [ "DELETE:Ctrl+Alt+D" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=E&Down=true" : [ "DELETE:Ctrl+Alt+E" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=F&Down=true" : [ "DELETE:Ctrl+Alt+F" ]
					},
					
					{
						"NoteInput.Pitch?Pitch=G&Down=true" : [ "DELETE:Ctrl+Alt+G" ]
					}
				]
			}
		]
	},
	"delta" : "true",
	"version" : "4.1.0",
	"windows" : {
		"contexts" : [
			
			{
				"context" : "kWriteMode",
				"shortcuts" : [
					
					{
						"NoteInput.SetArticulation?Value=kTenuto" : [ "DELETE:#" ]
					},
					
					{
						"NoteInput.SetArticulation?Value=kStaccatoTenuto" : [ "DELETE:~" ]
					}
				]
			}
		]
	}
}

Also interesting to know: Dorico helps you a little bit with deleting some shortcuts automaticly by open the preferences inside the application an change any shortcut. Dorico seems to search for “mistakes” and to correct them.

It’s useful to use something like Visual Studio Code with a JSON add-in to provide a tree view, colour coding, and red underlines if you mess up the structure.