[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Denemo-devel] Keymap and Many small bugs, problems and ideas
From: |
Nils Gey |
Subject: |
[Denemo-devel] Keymap and Many small bugs, problems and ideas |
Date: |
Wed, 8 Oct 2008 02:19:11 +0200 |
Hi list,
1) Introduction of the new keymap
2) Short docu of the keymap
3) List of changes and notable keys.
4) Many small bugs, problems and ideas I encountered while working with Denemo
and the keymap.
-----1------
Today I worked on a keymap to provide a better default one for Denemo. Since
there were nearly zero keys defined until now I got not in conflict to change
anything already standard. If I did so I will mention it if you read further.
I attached the file so you can see for yourself. If someone of the git-people
could review it and maybe upload it to git. If you think I am no harm for the
git repository maybe you could grand me write-access.
-----2------
Here is a short documentation.
The philosophy behind it is: Actions which are used quite often got a shortcut
(i.e. add note to chord, save, new tab), any other not (Add Staff, Open
Example/Template). It showed that this means that many objects to acutally
write to the staffs are shortcut-worthy while action above this are not, which
is no surprise. Additionally anything that has to do with navigating through
your score got a shortcut, too. Otherwise you are forced to use the mouse,
which is not efficient, as you surely know.
There are two concepts of assining shortcuts to actions: First is logic. It is
logical to have "Dynamics" on Crtl+D because it begins with D.
Second are keyboard regions or the graphical layout of the keyboard. For
example F9 to F12 is for bookmarks, add, list, prev. next (and no key for
"delete all bookmarks"!)
Since its better for ornaments to be grouped, and not to force some name/key
logic to them, they are avaible with shift+number.
==IMPORTANT IMPORTANT==
I think this cries for keymaps which depend on language/keyboard-layout or
better keymap overrides for different languages. Or maybe change the way
key-combos are saved (I wrote more about this at the end of this mail)
Example:
I used shift+1 to shift+7 for ornaments. But I use a Germany keyboard-layout,
off course, so the keys are:
1/! 2/" 3/§ 4/$ 5/% 6/& 7//
Denemo shows these characters and not the combination so I guess different
keyboard-language means different keys. Which is bad, off course.
Other way around, too and it has already happened: Octave up/down is on comma
and apostrophe. I guess these keys are related in some way on an us-layout. But
for me they are relative far away from each other and the apostrophe is with a
shift-combination.
More on this later...
=================
Sometimes these concepts are mixed. Its logical to have the cursor left on the
left-arrow-key and its good to have right, up and down in the same keyboard
region. Fortunatly the keyboard is already designed in this "mixed" way. Same
goes for Home/End/PageUp and Down. Other example: Measure begins with "m" so
this key adds a blank measure. Any other command linked to measures uses a
combination with "m". Crtl-m, alt-m, Crtl+Shift+M and so on.
-----3------
Now follows an overview over my keymap-idea. You can learn the other keys
easily if you open Denemo and have a look around. Once this has settled down a
bit I can make a nice graphical keychart/poster/cheat-sheet for Denemo. Print
it out and decorate your walls with it.
File and Denemo controls: I have set the standard keys for new file/tab/close
etc. like they are used in nearly any program (open office, firefox etc. )
Movement/Cursor: Arrow-Keys move the cursor. Crtl+Arrows for Staff Up/Down or
Measure Left/Right. PageUp/PageDown for Voices, F9 to F12 for bookmark-control.
Notes: Chordnotes are added with Crtl+Return and deleted with Crtl+Backspace or
Crtl+Delete. Sharpen/Flatten with plus and minus +/- .
As written above, the most important Expression Marks are shift+number.
Play and Stop is on F5 and F6. F7 and F8 are free for future things
(play-scripts i.e.)
A few special keys: d for dynamics, n for noteheads. ^ and ° are the lilypond
keys (for me this is the key left to "1" and its shifted version). Alt+Return
is for Staff-Properties, Crtl+l lyrics. F1 is the manual.
There is some work to do (Tuplets and Cresc/Decresc.) but luckily Denemo is not
Photoshop or X-Wing (remember the old game?) so there are still free keys :).
-----4------
I encountered bugs and a few issues with the keymap and using keys to steer
Denemo. Some of them are feature suggestions, I will add them to the list
later. I will use this list to try the scripting engine a bit.
And here they come:
1) The "reminder accidental" is often used so maybe it deserves its own
menu-entry. Possibly a script?
2) There is a feature missing for "Play only current staff" or maybe "play all
selected staffs".
3) Play from start is missing. Maybe 2) and 3) could be scripted and combined
and used for crtl/shift F5
4) If you set a new shortcut which is already used there should be a warning
and the info where this shortcut is used and a Overwrite:Yes/No option.
Currently there is nothing so you have to search every time if a shortcut
already exist.
5) If you just type in the shortcut-window it searches for the right command,
which is great. But it should not be case-sensitve. Maybe this is not Denemo
but my Gnome?
6) The F10 key opens the file-menu for me. I think this is gnome-specific. Can
denemo override this?
7) Denemo crashes if you close the first tab if there are more than one tab. It
crashes when you jump around in the tabs a bit and try to close and cancel the
"File is not saved"-dialog. I don't figured out the concrete behaviour to
reproduce the crash, but the "Close Score" is certainly buggy.
8) If you close a tab with "Close Score" (Crtl+w) and Denemo crasehs not the
first tab is selected after that. This is strange behaviour. The standard is
that the tab left to the closed one will be selected.
9) The normal "open" is destructive. It closes the current tab/score and I
think there is no need to have this if you have a "open in tab". I suggest to
remove the "open" command and make the "open in new tab" the only one.
10) Same for the Score Wizard. It tries to close the current tab. Why? Just
leave it open.
11) Tenuto is not visible in Denemo but in the Output.
12) A "clean note/chord" command would be useful. It could remove all ornaments
and lilypond-postfixes, reset the stem... and other non-basic stuff (so just
leave the note and its accidental).
13) The lilypond-postfix command is only succesfull if you click exactly on the
notehead. This is a bit confusing because you expect it to work if the note is
selected, which happens when you use the mouse to click on it. I suggest to
ignore the vertical position of the cursor. If its a chord I suggest the same
behaviour as in "Delete note from chord": Just take the nearest one. Same for
ornaments etc. It works for noteheads!
14) Undo is really, totally broken. So this is not a small thing, I guess. I
just want to share my experience. Currently it seems that undo is only for
noteentry/deletion. If you delete a note with ornament or lilypond-postfix and
undo it everything is gone except the note itself. Adding measures is not
undoable, instead it justs delete the last note and so on and so on. I guess
there are more examples...
15) The big thing (as mentioned above): Keyboard-shortcuts. It seems that
Denemo saves not a key-combination (shift+a) but the result (captial A). This
leads to several issues.
First and minor is that Denemo shows just the result for the key in its
shortcut windows if you use shift but it shows crtl/alt as a modificator. So
crtl/alt+m is what it says but crtl+shift+m is "crtl+M".
If only the result is used then the keymab is very fragile to differnt
language/keyboard-layouts. Saving the shift key as a combination, too would
make things easier, but there are other keys which are simply on different
positions (the old y/z problem... ask any German about it... for some reason
the keys are switched) so I think language-dependent keymaps are needed anyway.
Most of the shortcuts will stay the same nevertheless but it would be nice to
define a few exceptions from the standard.
I hope you all like my ideas and the keymap.
Nils
On Sat, 4 Oct 2008 23:53:35 +0200
Nils Gey <address@hidden> wrote:
> On Sat, 04 Oct 2008 20:34:49 +0100
> Richard Shann <address@hidden> wrote:
>
> > On Mon, 2008-09-29 at 22:31 +0100, Richard Shann wrote:
> > > On Mon, 2008-09-29 at 23:18 +0200, Nils Gey wrote:
> > > > Hi list,
> > > >
> > > > I noticed that there are some standard keys which could easily be
> > > > defined to add more comfort to Denemo and give the users a well known
> > > > enviroment. Instead of making a list with these commands I want to ask
> > > > how and where the presets (in git) are defined so that I can add some
> > > > keys.
> > > >
> > > The are defined in
> > > denemo/actions/Default.cmdset
> > > You may wish to add them to the NumericKeypad.cmdset as well.
> > Nils - did you progress this?
> > Richard
>
> Not until now.
>
>
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/denemo-devel
Default.keymap
Description: Binary data